linux/drivers/gpu/drm/tegra/hub.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) 2017 NVIDIA CORPORATION.  All rights reserved.
 */

#ifndef TEGRA_HUB_H
#define TEGRA_HUB_H

#include <drm/drm_plane.h>

#include "plane.h"

struct tegra_dc;

struct tegra_windowgroup {};

struct tegra_shared_plane {};

static inline struct tegra_shared_plane *
to_tegra_shared_plane(struct drm_plane *plane)
{}

struct tegra_display_hub_soc {};

struct tegra_display_hub {};

static inline struct tegra_display_hub *
to_tegra_display_hub(struct host1x_client *client)
{}

struct tegra_display_hub_state {};

static inline struct tegra_display_hub_state *
to_tegra_display_hub_state(struct drm_private_state *priv)
{}

struct tegra_plane;

int tegra_display_hub_prepare(struct tegra_display_hub *hub);
void tegra_display_hub_cleanup(struct tegra_display_hub *hub);

struct drm_plane *tegra_shared_plane_create(struct drm_device *drm,
					    struct tegra_dc *dc,
					    unsigned int wgrp,
					    unsigned int index);

int tegra_display_hub_atomic_check(struct drm_device *drm,
				   struct drm_atomic_state *state);
void tegra_display_hub_atomic_commit(struct drm_device *drm,
				     struct drm_atomic_state *state);

#define DC_CMD_IHUB_COMMON_MISC_CTL
#define LATENCY_EVENT

#define DC_DISP_IHUB_COMMON_DISPLAY_FETCH_METER
#define CURS_SLOTS(x)
#define WGRP_SLOTS(x)

#endif /* TEGRA_HUB_H */