drm/tegra: hub: Use private object for global state
Rather than subclass the global atomic state to store the hub display clock and rate, create a private object and store this data in its state. Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
@@ -41,6 +41,7 @@ struct tegra_display_hub_soc {
|
||||
};
|
||||
|
||||
struct tegra_display_hub {
|
||||
struct drm_private_obj base;
|
||||
struct host1x_client client;
|
||||
struct clk *clk_disp;
|
||||
struct clk *clk_dsc;
|
||||
@@ -57,6 +58,20 @@ to_tegra_display_hub(struct host1x_client *client)
|
||||
return container_of(client, struct tegra_display_hub, client);
|
||||
}
|
||||
|
||||
struct tegra_display_hub_state {
|
||||
struct drm_private_state base;
|
||||
|
||||
struct tegra_dc *dc;
|
||||
unsigned long rate;
|
||||
struct clk *clk;
|
||||
};
|
||||
|
||||
static inline struct tegra_display_hub_state *
|
||||
to_tegra_display_hub_state(struct drm_private_state *priv)
|
||||
{
|
||||
return container_of(priv, struct tegra_display_hub_state, base);
|
||||
}
|
||||
|
||||
struct tegra_dc;
|
||||
struct tegra_plane;
|
||||
|
||||
@@ -68,6 +83,8 @@ struct drm_plane *tegra_shared_plane_create(struct drm_device *drm,
|
||||
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);
|
||||
|
||||
|
Reference in New Issue
Block a user