Re: [PATCH v2 07/13] drm/tegra: Store parent pointer in Tegra DRM clients

Dmitry Osipenko
2019-01-28T14:10:35Z

24.01.2019 21:02, Thierry Reding пишет:
> From: Thierry Reding <treding@nvidia.com>
>
> 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: Thierry Reding <treding@nvidia.com>
> ---
> Changes in v2:
> - clarify rationale in commit message
>
> 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;
>

Thanks for improving the commit message! Looks good.

Reviewed-by: Dmitry Osipenko <digetx@gmail.com>