Hi Damon,
Am Donnerstag, 23. Januar 2025, 11:07:41 MEZ schrieb Damon Ding:
> Move drm_of_find_panel_or_bridge() a little later and combine it with
> component_add() into a new function rockchip_dp_link_panel(). The function
> will serve as done_probing() callback of devm_of_dp_aux_populate_bus(),
> aiding to support for obtaining the eDP panel via the DP AUX bus.
>
> If failed to get the panel from the DP AUX bus, it will then try the other
> way to get panel information through the platform bus.
>
> Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
>
> ---
> @@ -450,9 +461,17 @@ static int rockchip_dp_probe(struct platform_device *pdev)
> if (IS_ERR(dp->adp))
> return PTR_ERR(dp->adp);
>
> - ret = component_add(dev, &rockchip_dp_component_ops);
> - if (ret)
> - return ret;
> + ret = devm_of_dp_aux_populate_bus(analogix_dp_get_aux(dp->adp), rockchip_dp_link_panel);
This causes an undefined-reference error, so you probably need something like:
diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig
index f9cbbb40b36f..fa946a809858 100644
--- a/drivers/gpu/drm/rockchip/Kconfig
+++ b/drivers/gpu/drm/rockchip/Kconfig
@@ -8,6 +8,7 @@ config DRM_ROCKCHIP
select DRM_PANEL
select VIDEOMODE_HELPERS
select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP
+ select DRM_DISPLAY_DP_AUX_BUS if ROCKCHIP_ANALOGIX_DP
select DRM_DW_HDMI if ROCKCHIP_DW_HDMI
select DRM_DW_HDMI_QP if ROCKCHIP_DW_HDMI_QP
select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI
Hi Heiko, On 2025/1/31 4:33, Heiko Stübner wrote: > Hi Damon, > > Am Donnerstag, 23. Januar 2025, 11:07:41 MEZ schrieb Damon Ding: >> Move drm_of_find_panel_or_bridge() a little later and combine it with >> component_add() into a new function rockchip_dp_link_panel(). The function >> will serve as done_probing() callback of devm_of_dp_aux_populate_bus(), >> aiding to support for obtaining the eDP panel via the DP AUX bus. >> >> If failed to get the panel from the DP AUX bus, it will then try the other >> way to get panel information through the platform bus. >> >> Signed-off-by: Damon Ding <damon.ding@rock-chips.com> >> >> --- > >> @@ -450,9 +461,17 @@ static int rockchip_dp_probe(struct platform_device *pdev) >> if (IS_ERR(dp->adp)) >> return PTR_ERR(dp->adp); >> >> - ret = component_add(dev, &rockchip_dp_component_ops); >> - if (ret) >> - return ret; >> + ret = devm_of_dp_aux_populate_bus(analogix_dp_get_aux(dp->adp), rockchip_dp_link_panel); > > This causes an undefined-reference error, so you probably need something like: > > diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig > index f9cbbb40b36f..fa946a809858 100644 > --- a/drivers/gpu/drm/rockchip/Kconfig > +++ b/drivers/gpu/drm/rockchip/Kconfig > @@ -8,6 +8,7 @@ config DRM_ROCKCHIP > select DRM_PANEL > select VIDEOMODE_HELPERS > select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP > + select DRM_DISPLAY_DP_AUX_BUS if ROCKCHIP_ANALOGIX_DP > select DRM_DW_HDMI if ROCKCHIP_DW_HDMI > select DRM_DW_HDMI_QP if ROCKCHIP_DW_HDMI_QP > select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI > > > > > Yeah, I will add a new separate commit to do it in the next version. Best regards Damon
On 2025/2/22 19:25, Damon Ding wrote: > Hi Heiko, > > On 2025/1/31 4:33, Heiko Stübner wrote: >> Hi Damon, >> >> Am Donnerstag, 23. Januar 2025, 11:07:41 MEZ schrieb Damon Ding: >>> Move drm_of_find_panel_or_bridge() a little later and combine it with >>> component_add() into a new function rockchip_dp_link_panel(). The >>> function >>> will serve as done_probing() callback of devm_of_dp_aux_populate_bus(), >>> aiding to support for obtaining the eDP panel via the DP AUX bus. >>> >>> If failed to get the panel from the DP AUX bus, it will then try the >>> other >>> way to get panel information through the platform bus. >>> >>> Signed-off-by: Damon Ding <damon.ding@rock-chips.com> >>> >>> --- >> >>> @@ -450,9 +461,17 @@ static int rockchip_dp_probe(struct >>> platform_device *pdev) >>> if (IS_ERR(dp->adp)) >>> return PTR_ERR(dp->adp); >>> - ret = component_add(dev, &rockchip_dp_component_ops); >>> - if (ret) >>> - return ret; >>> + ret = devm_of_dp_aux_populate_bus(analogix_dp_get_aux(dp->adp), >>> rockchip_dp_link_panel); >> >> This causes an undefined-reference error, so you probably need >> something like: >> >> diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/ >> rockchip/Kconfig >> index f9cbbb40b36f..fa946a809858 100644 >> --- a/drivers/gpu/drm/rockchip/Kconfig >> +++ b/drivers/gpu/drm/rockchip/Kconfig >> @@ -8,6 +8,7 @@ config DRM_ROCKCHIP >> select DRM_PANEL >> select VIDEOMODE_HELPERS >> select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP >> + select DRM_DISPLAY_DP_AUX_BUS if ROCKCHIP_ANALOGIX_DP >> select DRM_DW_HDMI if ROCKCHIP_DW_HDMI >> select DRM_DW_HDMI_QP if ROCKCHIP_DW_HDMI_QP >> select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI >> >> >> >> >> > > Yeah, I will add a new separate commit to do it in the next version. > Oh...I believe it would be better to do it directly in this patch. ;-) > Best regards > Damon > > >
© 2016 - 2026 Red Hat, Inc.