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. _______________________________________________ dri-devel mailing list email@example.com https://lists.freedesktop.org/mailman/listinfo/dri-devel