[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAG3jFysagrW_SKFmO1CEbwpOQhCmWGSVgghvEQcFgfPSdaFv0w@mail.gmail.com>
Date: Tue, 30 Aug 2022 10:15:21 +0200
From: Robert Foss <robert.foss@...aro.org>
To: Pin-yen Lin <treapking@...omium.org>
Cc: Andrzej Hajda <andrzej.hajda@...el.com>,
Neil Armstrong <narmstrong@...libre.com>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jonas Karlman <jonas@...boo.se>,
Jernej Skrabec <jernej.skrabec@...il.com>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
dri-devel@...ts.freedesktop.org,
Allen Chen <allen.chen@....com.tw>,
Hsin-Yi Wang <hsinyi@...omium.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] drm/bridge: it6505: Fix the order of DP_SET_POWER commands
On Tue, 30 Aug 2022 at 06:58, Pin-yen Lin <treapking@...omium.org> wrote:
>
> Send DP_SET_POWER_D3 command to the downstream before stopping DP, so the
> suspend process will not be interrupted by the HPD interrupt. Also modify
> the order in .atomic_enable callback to make the callbacks symmetric.
>
> Fixes: 46ca7da7f1e8 ("drm/bridge: it6505: Send DPCD SET_POWER to downstream")
> Signed-off-by: Pin-yen Lin <treapking@...omium.org>
> Reviewed-by: Robert Foss <robert.foss@...aro.org>
> ---
>
> Changes in v2:
> - Correct "fixes" tag.
> - Collect "Reviewed-by" tag.
>
> drivers/gpu/drm/bridge/ite-it6505.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c
> index f9251ec49bf0..2bb957cffd94 100644
> --- a/drivers/gpu/drm/bridge/ite-it6505.c
> +++ b/drivers/gpu/drm/bridge/ite-it6505.c
> @@ -2951,9 +2951,6 @@ static void it6505_bridge_atomic_enable(struct drm_bridge *bridge,
> if (ret)
> dev_err(dev, "Failed to setup AVI infoframe: %d", ret);
>
> - it6505_drm_dp_link_set_power(&it6505->aux, &it6505->link,
> - DP_SET_POWER_D0);
> -
> it6505_update_video_parameter(it6505, mode);
>
> ret = it6505_send_video_infoframe(it6505, &frame);
> @@ -2963,6 +2960,9 @@ static void it6505_bridge_atomic_enable(struct drm_bridge *bridge,
>
> it6505_int_mask_enable(it6505);
> it6505_video_reset(it6505);
> +
> + it6505_drm_dp_link_set_power(&it6505->aux, &it6505->link,
> + DP_SET_POWER_D0);
> }
>
> static void it6505_bridge_atomic_disable(struct drm_bridge *bridge,
> @@ -2974,9 +2974,9 @@ static void it6505_bridge_atomic_disable(struct drm_bridge *bridge,
> DRM_DEV_DEBUG_DRIVER(dev, "start");
>
> if (it6505->powered) {
> - it6505_video_disable(it6505);
> it6505_drm_dp_link_set_power(&it6505->aux, &it6505->link,
> DP_SET_POWER_D3);
> + it6505_video_disable(it6505);
> }
> }
>
> --
> 2.37.2.672.g94769d06f0-goog
>
Applied to drm-misc-next.
Powered by blists - more mailing lists