[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 8 Aug 2018 08:00:15 +0000
From: Leonard Crestez <leonard.crestez@....com>
To: "stefan@...er.ch" <stefan@...er.ch>
CC: "A.s. Dong" <aisheng.dong@....com>,
"marex@...x.de" <marex@...x.de>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
dl-linux-imx <linux-imx@....com>,
Robert Chiras <robert.chiras@....com>,
Marius-cristian Vlad <marius-cristian.vlad@....com>,
Fabio Estevam <fabio.estevam@....com>,
"p.zabel@...gutronix.de" <p.zabel@...gutronix.de>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
Anson Huang <anson.huang@....com>,
"kernel@...gutronix.de" <kernel@...gutronix.de>,
Mirela Rabulea <mirela.rabulea@....com>
Subject: Re: [PATCH v3 4/4] drm/mxsfb: Switch to
drm_atomic_helper_commit_tail_rpm
On Tue, 2018-08-07 at 21:01 +0200, Stefan Agner wrote:
> On 06.08.2018 21:31, Leonard Crestez wrote:
> > The lcdif block is only powered on when display is active so plane
> > updates when not enabled are not valid. Writing to an unpowered IP block
> > is mostly ignored but can trigger bus errors on some chips.
> >
> > Prevent this situation by switching to drm_atomic_helper_commit_tail_rpm
> > and having the drm core ensure atomic_plane_update is only called while
> > the crtc is active. This avoids having to keep track of "enabled" bits
> > inside the mxsfb driver.
> >
> > This also requires handling the vblank event for disable from
> > ~~mxsfb_pipe_update~~ **mxsfb_pipe_disable**.
>
> Hm, I don't think this is a new requirement. Simple KMS Helper Reference
> clearly states that it should be called from update.
>
> Probably using drm_atomic_helper_commit_tail_rpm just exacerbates an
> issue which we haven't seen before...
>
> Since I think it is a general fix, I'd rather prefer have it in a
> separate commit.
I wrote the commit message wrong, what I meant is that it requires
handling the vblank event from *disable*.
Switching to atomic_helper_commit_tail_rpm means atomic_update is no
longer called when !state->active so nobody dispatches the last vblank
event for disabling the crtc. This causes a warning in
drm_atomic_helper_commit_hw_done on disable.
Looking through the docs there seems to be a lot of complexity behind
vblank events so maybe I'm missing something.
Powered by blists - more mailing lists