From: sashiko-bot@kernel.org
To: "Sebastian Reichel" <sebastian.reichel@collabora.com>
Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
robh@kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH v12 15/23] drm/rockchip: dw_dp: Add runtime PM support
Date: Sat, 14 Nov 2026 05:29:01 +0000 [thread overview]
Message-ID: <sashiko-outbox-214176@kernel.org> (raw)
In-Reply-To: <20261114-synopsys-dw-dp-improvements-v12-15-d42d3dc5bdd4@collabora.com>
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] drm/rockchip: dw_dp: unguarded phy_power_on() in
dw_dp_bridge_edid_read()
--
commit 7986dcc1b84b1f1885c1e7812534566eeb9a1c10
Author: Sebastian Reichel <sebastian.reichel@collabora.com>
drm/rockchip: dw_dp: Add runtime PM support
This commit enables runtime PM with a 500ms autosuspend delay and wires up
runtime suspend and resume callbacks for the Rockchip DesignWare DisplayPort
driver.
> diff --git a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c b/drivers/gpu/drm/rockchip/dw_dp-rockchip.c
> index 1cc6cfad41042..99d948a7c51f9 100644
> --- a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c
> +++ b/drivers/gpu/drm/rockchip/dw_dp-rockchip.c
[ ... ]
> @@ -229,6 +230,7 @@ static int dw_dp_rockchip_probe(struct platform_device *pdev)
> if (IS_ERR(dp->vo_grf))
> return PTR_ERR(dp->vo_grf);
>
> + plat_data->autosuspend_delay = 500;
> plat_data->max_link_rate = plat_data_const->max_link_rate;
> plat_data->pixel_mode = plat_data_const->pixel_mode;
> plat_data->hpd_sw_sel = dw_dp_rockchip_hpd_sw_sel;
> @@ -251,6 +253,24 @@ static void dw_dp_rockchip_remove(struct platform_device *pdev)
> component_del(&pdev->dev, &dw_dp_rockchip_component_ops);
> }
>
> +static int dw_dp_rockchip_runtime_suspend(struct device *dev)
> +{
> + struct rockchip_dw_dp *dp = dev_get_drvdata(dev);
> +
> + return dw_dp_runtime_suspend(dp->base);
> +}
> +
> +static int dw_dp_rockchip_runtime_resume(struct device *dev)
> +{
> + struct rockchip_dw_dp *dp = dev_get_drvdata(dev);
> +
> + return dw_dp_runtime_resume(dp->base);
> +}
> +
> +static const struct dev_pm_ops dw_dp_pm_ops = {
> + RUNTIME_PM_OPS(dw_dp_rockchip_runtime_suspend, dw_dp_rockchip_runtime_resume, NULL)
> +};
[Severity: Medium]
Does enabling runtime PM with autosuspend allow dw_dp_bridge_edid_read() to
call phy_power_on(dp->phy) while dp->dev and its VO power domain are
suspended?
Unlike dw_dp_bridge_detect() and dw_dp_bridge_atomic_enable(),
dw_dp_bridge_edid_read() powers on the PHY without first acquiring a runtime
PM reference on dp->dev, which is only resumed later inside
drm_edid_read_ddc() -> dw_dp_aux_transfer():
drivers/gpu/drm/bridge/synopsys/dw-dp.c:dw_dp_bridge_edid_read() {
...
ret = phy_power_on(dp->phy);
if (ret)
return NULL;
edid = drm_edid_read_ddc(connector, &dp->aux.ddc);
...
}
In USB-C mode, dp->dev autosuspends when idle. If dw_dp_bridge_edid_read() is
reached while dp->dev is suspended (for example, when the connector is forced
on so drm_helper_probe_detect() is skipped, or if autosuspend expires before
the EDID read starts), phy_power_on(dp->phy) on RK3576 and RK3588 calls
rk_udphy_dp_phy_power_on() -> rk_udphy_dp_lane_select(), which writes to
udphy->vogrf while the VO power domain is off and triggers an SError crash.
Even without the fault, resuming dp->dev later in dw_dp_aux_transfer() powers
on the VO domain and resets vo_grf, wiping out the lane mux settings written
by rk_udphy_dp_lane_select().
Should dw_dp_bridge_edid_read() acquire a runtime PM reference on dp->dev
before calling phy_power_on(dp->phy)?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261114-synopsys-dw-dp-improvements-v12-0-d42d3dc5bdd4@collabora.com?part=15
next prev parent reply other threads:[~2026-11-14 5:29 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-14 5:00 [PATCH v12 00/23] Synopsys DisplayPort Controller improvements for Rockchip platforms Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 01/23] drm/bridge: synopsys: dw-dp: Register DP AUX on bridge attach Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 02/23] drm/bridge: synopsys: dw-dp: Fix incorrect resource lifetimes in bind callback Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:35 ` sashiko-bot
2026-11-14 5:00 ` [PATCH v12 03/23] drm/bridge: synopsys: dw-dp: Fix error handling for DP link enablement Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 04/23] drm/bridge: synopsys: dw-dp: Document missing reset line deassert Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 05/23] drm/bridge: synopsys: dw-dp: Add missing mutex cleanups on module removal Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 06/23] drm/bridge: synopsys: dw-dp: Fix AUX transfer timeout race condition Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 07/23] drm/bridge: synopsys: dw-dp: Fix support for short I2C reads Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 08/23] drm/bridge: synopsys: dw-dp: Free output_fmts when none are valid Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 09/23] drm/bridge: synopsys: dw-dp: Support MEDIA_BUS_FMT_FIXED Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 10/23] drm/bridge: synopsys: dw-dp: Add follow-up bridge support Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:34 ` sashiko-bot
2026-11-14 5:00 ` [PATCH v12 11/23] drm/bridge: Add out-of-band HPD notify handler Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 12/23] drm/bridge: synopsys: dw-dp: Support software triggered OOB HPD Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:30 ` sashiko-bot
2026-11-14 5:00 ` [PATCH v12 13/23] drm/rockchip: dw_dp: Implement out-of-band HPD handling Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 14/23] drm/bridge: synopsys: dw-dp: Add Runtime PM support Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:34 ` sashiko-bot
2026-11-14 5:00 ` [PATCH v12 15/23] drm/rockchip: dw_dp: Add runtime " Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:29 ` sashiko-bot [this message]
2026-11-14 5:00 ` [PATCH v12 16/23] drm/rockchip: dw_dp: Add system " Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 17/23] drm/bridge: synopsys: dw-dp: Protect sdp_reg_bank from concurrent access Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 18/23] drm/bridge: synopsys: dw-dp: Drop useless reservation of first slot Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 19/23] drm/bridge: synopsys: dw-dp: Clear only enabled SDPs on atomic disable Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 20/23] drm/bridge: synopsys: dw-dp: Use regmap_set_bits in dw_dp_send_sdp Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 21/23] dt-bindings: display: rockchip: dw-dp: Fix sound DAI cells Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 22/23] drm/bridge: synopsys: dw-dp: Add audio support Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:00 ` [PATCH v12 23/23] drm/bridge: synopsys: dw-dp: Retrain on hotplug with pre-enabled link Sebastian Reichel
2026-11-14 5:00 ` Sebastian Reichel
2026-11-14 5:25 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-214176@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=sebastian.reichel@collabora.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.