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.
Suggested-by: Saravana Kannan saravanak@google.com Signed-off-by: Will McVicker willmcvicker@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));
Hi William,
Thanks for catching this.
On Fri, Jul 9, 2021 at 11:45 PM Will McVicker willmcvicker@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@google.com
Thanks, Saravana
Suggested-by: Saravana Kannan saravanak@google.com Signed-off-by: Will McVicker willmcvicker@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
dri-devel@lists.freedesktop.org