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 */
lcdifv3_set_bus_fmt(lcdifv3, imx_crtc_state->bus_format);
/* defer the lcdifv3 controller enable to plane update,
* since until then the lcdifv3 config is complete to
* enable the controller to run actually.
*/
/* run LCDIFv3 */
lcdifv3_enable_controller(lcdifv3);
}
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;
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,