From: Thierry Reding <tred...@nvidia.com>

Tegra DRM clients need access to their parent, so store a pointer to it
upon registration.

Signed-off-by: Thierry Reding <tred...@nvidia.com>
---
 drivers/gpu/drm/tegra/drm.c | 2 ++
 drivers/gpu/drm/tegra/drm.h | 1 +
 2 files changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index 4b70ce664c41..61dcbd218ffc 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -1041,6 +1041,7 @@ int tegra_drm_register_client(struct tegra_drm *tegra,
 {
        mutex_lock(&tegra->clients_lock);
        list_add_tail(&client->list, &tegra->clients);
+       client->drm = tegra;
        mutex_unlock(&tegra->clients_lock);
 
        return 0;
@@ -1051,6 +1052,7 @@ int tegra_drm_unregister_client(struct tegra_drm *tegra,
 {
        mutex_lock(&tegra->clients_lock);
        list_del_init(&client->list);
+       client->drm = NULL;
        mutex_unlock(&tegra->clients_lock);
 
        return 0;
diff --git a/drivers/gpu/drm/tegra/drm.h b/drivers/gpu/drm/tegra/drm.h
index f1763b4d5b5f..2c809755bca7 100644
--- a/drivers/gpu/drm/tegra/drm.h
+++ b/drivers/gpu/drm/tegra/drm.h
@@ -88,6 +88,7 @@ int tegra_drm_submit(struct tegra_drm_context *context,
 struct tegra_drm_client {
        struct host1x_client base;
        struct list_head list;
+       struct tegra_drm *drm;
 
        unsigned int version;
        const struct tegra_drm_client_ops *ops;
-- 
2.19.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to