[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAGETcx_XZDWNQ2OLEs0XMnq3m1WFJ8mD0LAXFTpYBXPLPUCAxA@mail.gmail.com>
Date: Fri, 16 Jul 2021 10:56:41 -0700
From: Saravana Kannan <saravanak@...gle.com>
To: Will McVicker <willmcvicker@...gle.com>
Cc: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
kernel-team@...roid.com
Subject: Re: [PATCH] drm/mipi: set fwnode when a mipi_dsi_device registers itself
Hi William,
Thanks for catching this.
On Fri, Jul 9, 2021 at 11:45 PM Will McVicker <willmcvicker@...gle.com> wrote:
>
> This is needed for fw_devlink to work properly with MIPI DSI devices.
> Without setting the device's fwnode, the sync state framework isn't able
> to properly track device links between the MIPI DSI device and its
> suppliers which may result in its supplier probing before the mipi
> device.
I think it'd be more accurate if the commit text is something like:
drm/mipi: set fwnode when a mipi_dsi_device is registered
This allows the fw_devlink feature to work across mipi_dsi bus devices too. This
feature avoid unnecessary probe deferrals of mipi_dsi devices, defers
consumers of
mipi_dsi devices till the mipi_dsi devices probe, and allows mipi_dsi drivers to
implement sync_state() callbacks.
Reviewed-by: Saravana Kannan <saravanak@...gle.com>
Thanks,
Saravana
>
> Suggested-by: Saravana Kannan <saravanak@...gle.com>
> Signed-off-by: Will McVicker <willmcvicker@...gle.com>
> ---
> drivers/gpu/drm/drm_mipi_dsi.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c
> index 5dd475e82995..469d56cf2a50 100644
> --- a/drivers/gpu/drm/drm_mipi_dsi.c
> +++ b/drivers/gpu/drm/drm_mipi_dsi.c
> @@ -222,6 +222,7 @@ mipi_dsi_device_register_full(struct mipi_dsi_host *host,
> }
>
> dsi->dev.of_node = info->node;
> + dsi->dev.fwnode = of_fwnode_handle(info->node);
> dsi->channel = info->channel;
> strlcpy(dsi->name, info->type, sizeof(dsi->name));
>
> --
> 2.32.0.93.g670b81a890-goog
>
Powered by blists - more mailing lists