[PATCH] drm/mipi: set fwnode when a mipi_dsi_device registers itself

Saravana Kannan saravanak at google.com
Fri Jul 16 17:56:41 UTC 2021


Hi William,

Thanks for catching this.

On Fri, Jul 9, 2021 at 11:45 PM Will McVicker <willmcvicker at google.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 at google.com>

Thanks,
Saravana

>
> Suggested-by: Saravana Kannan <saravanak at google.com>
> Signed-off-by: Will McVicker <willmcvicker at google.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
>


More information about the dri-devel mailing list