1
0
Fork 0

MLK-24002-2 drm/imx: lcdifv3: put controller enable to CRTC

Move the controller enablement from atomic plane update to
the CRTC's atomic enable, since some bridge(e.g. IT6263)
requires data stream from CRTC to be ready for its config.

But this controller enablement change won't cause any side
effect, since the CRTC enable and plane update can be done
in one frame interval and to next frame all configurations
can take effect, which has the same behavior as before.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Reviewed-by: Liu Ying <victor.liu@nxp.com>
5.4-rM2-2.2.x-imx-squashed
Fancy Fang 2020-05-13 17:43:01 +08:00
parent bfa7236c84
commit ea4f7e2d01
2 changed files with 2 additions and 6 deletions

View File

@ -168,10 +168,8 @@ static void lcdifv3_crtc_atomic_enable(struct drm_crtc *crtc,
/* config LCDIF output bus format */ /* config LCDIF output bus format */
lcdifv3_set_bus_fmt(lcdifv3, imx_crtc_state->bus_format); lcdifv3_set_bus_fmt(lcdifv3, imx_crtc_state->bus_format);
/* defer the lcdifv3 controller enable to plane update, /* run LCDIFv3 */
* since until then the lcdifv3 config is complete to lcdifv3_enable_controller(lcdifv3);
* enable the controller to run actually.
*/
} }
static void lcdifv3_crtc_atomic_disable(struct drm_crtc *crtc, static void lcdifv3_crtc_atomic_disable(struct drm_crtc *crtc,

View File

@ -124,8 +124,6 @@ static void lcdifv3_plane_atomic_update(struct drm_plane *plane,
crop = src_w != stride ? true : false; crop = src_w != stride ? true : false;
lcdifv3_set_fb_hcrop(lcdifv3, src_w, fb->pitches[0], crop); lcdifv3_set_fb_hcrop(lcdifv3, src_w, fb->pitches[0], crop);
} }
lcdifv3_enable_controller(lcdifv3);
} }
static void lcdifv3_plane_atomic_disable(struct drm_plane *plane, static void lcdifv3_plane_atomic_disable(struct drm_plane *plane,