e9aefd181bd5353c74f2aaebe9130c030e1dfa63
[openwrt/staging/ansuel.git] /
1 From b0b5ae1ea6701cf9395f3132d559a5379a4fb73e Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.com>
3 Date: Fri, 11 Feb 2022 14:15:26 +0000
4 Subject: [PATCH] drm/vc4: Remove entry to ULPS from vc4_dsi
5 post_disable
6
7 Post_disable was sending the D-PHY sequence to put any device
8 into ULPS suspend mode, and then cutting power to the DSI block.
9 The power-on reset state of the DSI block is for DSI to be in
10 an operational state, not ULPS, so it then never sent the sequence
11 for exiting ULPS. Any attached device that didn't have an external
12 reset therefore remained in ULPS / standby, and didn't function.
13
14 Use of ULPS isn't well specified in DRM, therefore remove entering
15 it to avoid the above situation.
16
17 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
18 ---
19 drivers/gpu/drm/vc4/vc4_dsi.c | 2 --
20 1 file changed, 2 deletions(-)
21
22 --- a/drivers/gpu/drm/vc4/vc4_dsi.c
23 +++ b/drivers/gpu/drm/vc4/vc4_dsi.c
24 @@ -813,8 +813,6 @@ static void vc4_dsi_bridge_post_disable(
25 struct vc4_dsi *dsi = bridge_to_vc4_dsi(bridge);
26 struct device *dev = &dsi->pdev->dev;
27
28 - vc4_dsi_ulps(dsi, true);
29 -
30 clk_disable_unprepare(dsi->pll_phy_clock);
31 clk_disable_unprepare(dsi->escape_clock);
32 clk_disable_unprepare(dsi->pixel_clock);