Re: [PATCH 1/2] drm/vc4: Skip ULPS latching when we're in that ULPS state already.
From: Boris Brezillon
Date: Mon Apr 30 2018 - 05:03:46 EST
On Tue, 31 Oct 2017 12:32:57 -0700
Eric Anholt <eric@xxxxxxxxxx> wrote:
> It seems that trying to go from unlatched to unlatched will time out
> waiting for STOP, and we can just skip that.
>
> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>
Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxx>
> ---
> drivers/gpu/drm/vc4/vc4_dsi.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/vc4/vc4_dsi.c b/drivers/gpu/drm/vc4/vc4_dsi.c
> index 94085f8bcd68..8aa897835118 100644
> --- a/drivers/gpu/drm/vc4/vc4_dsi.c
> +++ b/drivers/gpu/drm/vc4/vc4_dsi.c
> @@ -753,6 +753,11 @@ static void vc4_dsi_ulps(struct vc4_dsi *dsi, bool ulps)
> (dsi->lanes > 2 ? DSI1_STAT_PHY_D2_STOP : 0) |
> (dsi->lanes > 3 ? DSI1_STAT_PHY_D3_STOP : 0));
> int ret;
> + bool ulps_currently_enabled = (DSI_PORT_READ(PHY_AFEC0) &
> + DSI_PORT_BIT(PHY_AFEC0_LATCH_ULPS));
> +
> + if (ulps == ulps_currently_enabled)
> + return;
>
> DSI_PORT_WRITE(STAT, stat_ulps);
> DSI_PORT_WRITE(PHYC, DSI_PORT_READ(PHYC) | phyc_ulps);
--
Boris Brezillon, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com