[PATCH v11 04/21] drm/bridge: synopsys: dw-dp: Document missing reset line deassert
Andy Yan
andyshrk at 163.com
Sun Aug 16 05:47:08 PDT 2026
Hello Sebastian,
At 2026-08-07 01:02:10, "Sebastian Reichel" <sebastian.reichel at collabora.com> wrote:
>If the driver uses devm_reset_control_get_exclusive_deasserted() instead
>of devm_reset_control_get() and thus automatically deasserts during
>probe, the SoC will hang when the device is unbound.
>
>This does not happen, when runtime PM is being used (not yet supported
>in mainline), which suggests the power-domain involved requires this reset
>line to be deasserted.
>
>Even with runtime PM there is no gurantee that the power-domain is
>disabled as it is shared. Considering the power-domain does not have
>the reset dependency described in DT, document the problem but leave
>things in the current state until a better solution is found as the
>reset line is deasserted by default on all supported platforms.
>
>Reported-by: Sashiko <sashiko-bot at kernel.org>
>Signed-off-by: Sebastian Reichel <sebastian.reichel at collabora.com>
Reviewed-by: Andy Yan <andy.yan at rock-chips.com>
>---
> drivers/gpu/drm/bridge/synopsys/dw-dp.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
>diff --git a/drivers/gpu/drm/bridge/synopsys/dw-dp.c b/drivers/gpu/drm/bridge/synopsys/dw-dp.c
>index 21d60e89126f..52e3b37259a6 100644
>--- a/drivers/gpu/drm/bridge/synopsys/dw-dp.c
>+++ b/drivers/gpu/drm/bridge/synopsys/dw-dp.c
>@@ -2090,6 +2090,10 @@ struct dw_dp *dw_dp_probe(struct platform_device *pdev, const struct dw_dp_plat_
> return ERR_CAST(dp->hdcp_clk);
> }
>
>+ /*
>+ * This reset line is deasserted by default; asserting it hangs the SoC if the
>+ * related power-domain is still active.
>+ */
> dp->rstc = devm_reset_control_get(dev, NULL);
> if (IS_ERR(dp->rstc)) {
> dev_err_probe(dev, PTR_ERR(dp->rstc), "failed to get reset control\n");
>
>--
>2.53.0
More information about the Linux-rockchip
mailing list