[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAFQd5ACj_haeXpr4vrBYimk+yiGZKYR6HTvuL1K1gDSGFBhsA@mail.gmail.com>
Date: Tue, 16 Jan 2018 13:02:40 +0900
From: Tomasz Figa <tfiga@...omium.org>
To: Thierry Escande <thierry.escande@...labora.com>
Cc: Archit Taneja <architt@...eaurora.org>,
Inki Dae <inki.dae@...sung.com>,
Thierry Reding <thierry.reding@...il.com>,
Sandy Huang <hjc@...k-chips.com>,
Sean Paul <seanpaul@...omium.org>,
David Airlie <airlied@...ux.ie>,
Haixia Shi <hshi@...omium.org>,
Ørjan Eide <orjan.eide@....com>,
zain wang <wzz@...k-chips.com>,
Yakir Yang <ykk@...k-chips.com>, Lin Huang <hl@...k-chips.com>,
Douglas Anderson <dianders@...omium.org>,
Mark Yao <mark.yao@...k-chips.com>,
linux-kernel@...r.kernel.org,
"open list:ARM/Rockchip SoC..." <linux-rockchip@...ts.infradead.org>,
dri-devel <dri-devel@...ts.freedesktop.org>
Subject: Re: [PATCH 30/40] drm/rockchip: Flush PSR before committing modeset disables/enables
Hi Thierry,
On Tue, Jan 16, 2018 at 2:16 AM, Thierry Escande
<thierry.escande@...labora.com> wrote:
> From: Tomasz Figa <tfiga@...omium.org>
>
> Currently PSR flush is triggered from CRTC's .atomic_begin() callback,
> which is executed after modeset disables and enables and before plane
> updates are committed. Since PSR flush and re-enable can be triggered
> asynchronously by external sources (input event, delayed work), it can
> race with hardware programming done in the aforementioned stages.
>
> To avoid the race, we can trigger PSR flush before committing modeset
> disables/enables. This also has the advantage of removing some
> PSR-specific knowledge from the VOP driver.
FYI, this patch was eventually found to still leave few unsolved races
and was later replaced with a more comprehensive redesign of Rockchip
PSR code. Please refer to the following Chromium patches:
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/430429/
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/436571/
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/438228/
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/438229/
<- This one effectively replaces all the code added in this patch.
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/438230/
Best regards,
Tomasz
Powered by blists - more mailing lists