Commit 7d7bf35d authored by Dave Stevenson's avatar Dave Stevenson Committed by Maxime Ripard

drm/vc4: dsi: Remove entry to ULPS from vc4_dsi post_disable

Post_disable was sending the D-PHY sequence to put any device
into ULPS suspend mode, and then cutting power to the DSI block.
The power-on reset state of the DSI block is for DSI to be in
an operational state, not ULPS, so it then never sent the sequence
for exiting ULPS. Any attached device that didn't have an external
reset therefore remained in ULPS / standby, and didn't function.

Use of ULPS isn't well specified in DRM, therefore remove entering
it to avoid the above situation.
Signed-off-by: default avatarDave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://lore.kernel.org/r/20221207-rpi-dsi-bridge-v1-6-8f68ee0b0adb@cerno.techSigned-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
parent 78df6403
...@@ -820,8 +820,6 @@ static void vc4_dsi_bridge_post_disable(struct drm_bridge *bridge, ...@@ -820,8 +820,6 @@ static void vc4_dsi_bridge_post_disable(struct drm_bridge *bridge,
struct vc4_dsi *dsi = bridge_to_vc4_dsi(bridge); struct vc4_dsi *dsi = bridge_to_vc4_dsi(bridge);
struct device *dev = &dsi->pdev->dev; struct device *dev = &dsi->pdev->dev;
vc4_dsi_ulps(dsi, true);
clk_disable_unprepare(dsi->pll_phy_clock); clk_disable_unprepare(dsi->pll_phy_clock);
clk_disable_unprepare(dsi->escape_clock); clk_disable_unprepare(dsi->escape_clock);
clk_disable_unprepare(dsi->pixel_clock); clk_disable_unprepare(dsi->pixel_clock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment