mirror_ubuntu-kernels/drivers/gpu/drm/rcar-du
Laurent Pinchart 0dee6f70fd 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: e9e056949c ("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 187502afe8)
Signed-off-by: Dave Airlie <airlied@redhat.com>
2021-10-13 07:44:04 +10:00
..
Kconfig drm: rcar-du: Update description for DRM_RCAR_DW_HDMI Kconfig entry 2020-09-22 14:10:05 +03:00
Makefile
rcar_cmm.c drm: rcar-du: Fix PM reference leak in rcar_cmm_enable() 2021-01-05 07:19:49 +02:00
rcar_cmm.h
rcar_du_crtc.c - Add default modes for connectors in unknown state 2021-01-07 13:02:57 +01:00
rcar_du_crtc.h
rcar_du_drv.c drm: rcar-du: Shutdown the display on remove 2021-07-28 16:33:10 +03:00
rcar_du_drv.h drm: rcar-du: Replace dev_private with container_of 2021-01-05 07:20:04 +02:00
rcar_du_encoder.c drm: rcar-du: Don't create encoder for unconnected LVDS outputs 2021-10-13 07:44:04 +10:00
rcar_du_encoder.h drm: rcar-du: Drop local encoder variable 2021-01-05 07:20:10 +02:00
rcar_du_group.c
rcar_du_group.h
rcar_du_kms.c drm: rcar-du: Fix leak of CMM platform device reference 2021-01-05 07:20:13 +02:00
rcar_du_kms.h drm: rcar-du: Fix pitch handling for fully planar YUV formats 2020-09-22 14:10:05 +03:00
rcar_du_of_lvds_r8a7790.dts
rcar_du_of_lvds_r8a7791.dts
rcar_du_of_lvds_r8a7793.dts
rcar_du_of_lvds_r8a7795.dts
rcar_du_of_lvds_r8a7796.dts
rcar_du_of.c
rcar_du_of.h
rcar_du_plane.c drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
rcar_du_plane.h
rcar_du_regs.h
rcar_du_vsp.c drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
rcar_du_vsp.h
rcar_du_writeback.c drm: rcar-du: Embed drm_device in rcar_du_device 2021-01-05 07:20:03 +02:00
rcar_du_writeback.h
rcar_dw_hdmi.c drm: rcar-du: dw-hdmi: Set output port number 2021-07-28 16:33:18 +03:00
rcar_lvds_regs.h
rcar_lvds.c drm: rcar-du: Don't create encoder for unconnected LVDS outputs 2021-10-13 07:44:04 +10:00
rcar_lvds.h drm: rcar-du: Don't create encoder for unconnected LVDS outputs 2021-10-13 07:44:04 +10:00