[PATCH 13/23] drm: omapdrm: crtc: update plane fifos on lcd config change
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Sat Mar 26 17:00:53 UTC 2016
Hi Sebastian,
Thank you for the patch.
On Tuesday 08 Mar 2016 17:39:45 Sebastian Reichel wrote:
> Due to a hardware bug, FIFOs thresholds must be
> configured very carefully for manually updated
> displays.
Could you please provide more information about the bug and how the code
handles it ?
> Signed-off-by: Sebastian Reichel <sre at kernel.org>
> ---
> drivers/gpu/drm/omapdrm/omap_crtc.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c
> b/drivers/gpu/drm/omapdrm/omap_crtc.c index 8967013c1fb5..094e89a2fa94
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_crtc.c
> +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
> @@ -253,6 +253,10 @@ static void omap_crtc_dss_set_lcd_config(struct
> omap_overlay_manager *mgr, omap_crtc->manually_updated =
> dss_lcd_mgr_config_get_stallmode(config);
>
> dispc_mgr_set_lcd_config(omap_crtc->channel, config);
> +
> + drm_for_each_plane(plane, dev) {
> + omap_plane_update_fifo(plane);
> + }
This seems fishy :-/ To start with you shouldn't touch planes that don't
belong to this CRTC. Then, updating the FIFO thresholds here in addition to
omap_plane_atomic_update() makes me wonder if both are needed, and if so, why.
> }
>
> static int omap_crtc_dss_register_framedone(
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list