Commit 8e5d19c6 authored by Thierry Reding's avatar Thierry Reding

drm/tegra: Store parent pointer in Tegra DRM clients

Tegra DRM clients need access to their parent, so store a pointer to it
upon registration. It's technically possible to get at this by going via
the host1x client's parent and getting the driver data, but that's quite
complicated and not very transparent. It's much more straightforward and
natural to let the children know about their parent.
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
Reviewed-by: default avatarDmitry Osipenko <digetx@gmail.com>
parent e1f338c0
...@@ -1041,6 +1041,7 @@ int tegra_drm_register_client(struct tegra_drm *tegra, ...@@ -1041,6 +1041,7 @@ int tegra_drm_register_client(struct tegra_drm *tegra,
{ {
mutex_lock(&tegra->clients_lock); mutex_lock(&tegra->clients_lock);
list_add_tail(&client->list, &tegra->clients); list_add_tail(&client->list, &tegra->clients);
client->drm = tegra;
mutex_unlock(&tegra->clients_lock); mutex_unlock(&tegra->clients_lock);
return 0; return 0;
...@@ -1051,6 +1052,7 @@ int tegra_drm_unregister_client(struct tegra_drm *tegra, ...@@ -1051,6 +1052,7 @@ int tegra_drm_unregister_client(struct tegra_drm *tegra,
{ {
mutex_lock(&tegra->clients_lock); mutex_lock(&tegra->clients_lock);
list_del_init(&client->list); list_del_init(&client->list);
client->drm = NULL;
mutex_unlock(&tegra->clients_lock); mutex_unlock(&tegra->clients_lock);
return 0; return 0;
......
...@@ -88,6 +88,7 @@ int tegra_drm_submit(struct tegra_drm_context *context, ...@@ -88,6 +88,7 @@ int tegra_drm_submit(struct tegra_drm_context *context,
struct tegra_drm_client { struct tegra_drm_client {
struct host1x_client base; struct host1x_client base;
struct list_head list; struct list_head list;
struct tegra_drm *drm;
unsigned int version; unsigned int version;
const struct tegra_drm_client_ops *ops; const struct tegra_drm_client_ops *ops;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment