Re: [PATCH 0/2] drm/bridge: dw-hdmi: disable loading of DW-HDMI CEC sub-driver

From: Jernej Škrabec
Date: Sat Apr 17 2021 - 02:31:45 EST


CC Hans Verkuil

Dne petek, 16. april 2021 ob 13:38:59 CEST je Neil Armstrong napisal(a):
> On 16/04/2021 11:58, Laurent Pinchart wrote:
> > Hi Neil,
> >
> > On Fri, Apr 16, 2021 at 11:27:35AM +0200, Neil Armstrong wrote:
> >> This adds DW-HDMI driver a glue option to disable loading of the CEC
> >> sub-driver.
> >>
> >> On some SoCs, the CEC functionality is enabled in the IP config bits, but
> >> the CEC bus is non-functional like on Amlogic SoCs, where the CEC config
> >> bit is set but the DW-HDMI CEC signal is not connected to a physical
> >> pin, leading to some confusion when the DW-HDMI CEC controller can't
> >> communicate on the bus.>
> > If we can't trust the CEC config bit, would it be better to not use it
> > at all, and instead let each platform glue logic tell whether to enable
> > CEC or not ?
>
> Actually, the CEC config bit is right, the HW exists and should be
> functional, but this bit doesn't tell if the CEC signal is connected to
> something.

I'm in favour of Neil's solution. Currently we have only one exception.

>
> This lies in the IP integration, like other bits under the
> "amlogic,meson-*-dw-hdmi" umbrella.
>
> The first attempt was by Hans using DT, but adding a property in DT for a
> vendor specific compatible doesn't make sense. Another idea would be to
> describe the CEC signal endpoint like we do for video signal, but I think
> this is out of scope and this solution is much simpler and straightforward,
> and it's more an exception than a general use case to solve.

Note that we still need DT property for disabling CEC. I have one Allwinner H3
board where board designer decided to use GPIO CEC implementation instead of
DW HDMI one (vendor Linux doesn't implement DW HDMI CEC driver). Other H3
boards happily use DW HDMI CEC.

Best regards,
Jernej

>
> Neil
>
> >> Jernej Skrabec (1):
> >> drm/bridge/synopsys: dw-hdmi: Add an option to suppress loading CEC
> >>
> >> driver
> >>
> >> Neil Armstrong (1):
> >> drm/meson: dw-hdmi: disable DW-HDMI CEC sub-driver
> >>
> >> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 +-
> >> drivers/gpu/drm/meson/meson_dw_hdmi.c | 1 +
> >> include/drm/bridge/dw_hdmi.h | 2 ++
> >> 3 files changed, 4 insertions(+), 1 deletion(-)