]> git.baikalelectronics.ru Git - kernel.git/commit
drm: rcar-du: Don't use TV sync mode when not supported by the hardware
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 22 Aug 2018 13:21:33 +0000 (16:21 +0300)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Mon, 24 Sep 2018 21:41:05 +0000 (00:41 +0300)
commitbfc5e0be2b4dc40c929cd2be4e3c6a7bd662c7f4
treec54d51c5e4080929b11f62d4085356924c1ec810
parentee347483755594915ef710f9a5ac7d3c6c42c5ce
drm: rcar-du: Don't use TV sync mode when not supported by the hardware

The official way to stop the display is to clear the display enable
(DEN) bit in the DSYSR register, but that operates at a group level and
affects the two channels in the group. To disable channels selectively,
the driver uses TV sync mode that stops display operation on the channel
and turns output signals into inputs.

While TV sync mode is available in all DU models currently supported,
the D3 and E3 DUs don't support it. We will thus need to find an
alternative way to turn channels off.

In the meantime, condition the switch to TV sync mode to the
availability of the feature, to avoid writing an invalid value to the
DSYSR register. When the feature is unavailable the display output will
turn blank as all planes are disabled when stopping the CRTC.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
drivers/gpu/drm/rcar-du/rcar_du_crtc.c
drivers/gpu/drm/rcar-du/rcar_du_drv.c
drivers/gpu/drm/rcar-du/rcar_du_drv.h