MLK-20181-7: drm/mxsfb: Switch to drm_atomic_helper_commit_tail_rpm
authorLeonard Crestez <leonard.crestez@nxp.com>
Mon, 17 Sep 2018 13:42:15 +0000 (16:42 +0300)
committerLeonard Crestez <leonard.crestez@nxp.com>
Wed, 17 Apr 2019 23:51:34 +0000 (02:51 +0300)
commiteabc5b9017b375b60490e3432749c386e7bb74fc
tree08e1baeabc6d8bd8553cad14ca8529e2c9f5330d
parent3b6f32ed58c78da7f232f6ea2bd21c9be4e41fc9
MLK-20181-7: drm/mxsfb: Switch to drm_atomic_helper_commit_tail_rpm

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_disable.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Suggested-by: Stefan Agner <stefan@agner.ch>
Reviewed-by: Stefan Agner <stefan@agner.ch>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/c19c0c00ed42e8e8f7965aa4821ac295abc5cd05.1537191359.git.leonard.crestez@nxp.com
drivers/gpu/drm/mxsfb/mxsfb_drv.c