]> git.baikalelectronics.ru Git - kernel.git/commit
drm: rcar-du: Don't create encoder for unconnected LVDS outputs
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Sat, 21 Aug 2021 23:44:27 +0000 (02:44 +0300)
committerDave Airlie <airlied@redhat.com>
Tue, 12 Oct 2021 21:44:04 +0000 (07:44 +1000)
commitfebb2f75883040367a78df4424b996b440cf9096
tree07707ce09a5c640a4c4eab454d7ee99db723218c
parentadae062268524096aa7e0378dac893cda2a856b6
drm: rcar-du: Don't create encoder for unconnected LVDS outputs

On R-Car D3 and E3, the LVDS encoders provide the pixel clock to the DU,
even when LVDS outputs are not used. For this reason, the rcar-lvds
driver probes successfully on those platforms even if no further bridge
or panel is connected to the LVDS output, in order to provide the
rcar_lvds_clk_enable() and rcar_lvds_clk_disable() functions to the DU
driver.

If an LVDS output isn't connected, trying to create a DRM connector for
the output will fail. Fix this by skipping connector creation in that
case, and also skip creation of the DRM encoder as there's no point in
an encoder without a connector.

Fixes: 2f6cfb2a08da ("drm: rcar-du: lvds: Convert to DRM panel bridge helper")
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit 187502afe87a0fc96832056558978fa423920ee0)
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/rcar-du/rcar_du_encoder.c
drivers/gpu/drm/rcar-du/rcar_lvds.c
drivers/gpu/drm/rcar-du/rcar_lvds.h