Re: [PATCH 00/15] drm/vc4: hdmi: Add CEC support for the BCM2711

From: Maxime Ripard
Date: Thu Dec 17 2020 - 05:50:38 EST


Hi Hans,

On Wed, Dec 16, 2020 at 01:35:43PM +0100, Hans Verkuil wrote:
> Hi Maxime,
>
> On 10/12/2020 14:46, Maxime Ripard wrote:
> > Hi,
> >
> > Here's a series introducing the CEC support for the BCM2711 found on the
> > RaspberryPi4.
> >
> > The BCM2711 HDMI controller uses a similar layout for the CEC registers, the
> > main difference being that the interrupt handling part is now shared between
> > both HDMI controllers.
> >
> > This series is mainly about fixing a couple of bugs, reworking the driver to
> > support having two different interrupts, one for each direction, provided by an
> > external irqchip, and enables the irqchip driver for the controller we have.
> >
> > This has been tested on an RPi3 and RPi4, but requires the latest firmware.
> > It's is based on the 10 and 12 bpc series.
>
> This series looks good to me. Before I give my Acked-by for this series, can you
> confirm that it is possible to transmit the Image View On message on both outputs
> of the RPi4 when the HPD is low?
>
> See section "CEC Without HPD" in https://hverkuil.home.xs4all.nl/cec-status.txt
> on how to test this with a Pulse-Eight device.
>
> This should work.

This is the output on the RPi4:

# cec-ctl --playback
Driver Info:
Driver Name : vc4_hdmi
Adapter Name : vc4
Capabilities : 0x0000010e
Logical Addresses
Transmit
Passthrough
Driver version : 5.10.0
Available Logical Addresses: 1
Physical Address : f.f.f.f
Logical Address Mask : 0x0000
CEC Version : 2.0
Vendor ID : 0x000c03 (HDMI)
OSD Name : Playback
Logical Addresses : 1 (Allow RC Passthrough)

Logical Address : Not Allocated
Primary Device Type : Playback
Logical Address Type : Playback
All Device Types : Playback
RC TV Profile : None
Device Features :
None

# cec-ctl -t0 --image-view-on
Driver Info:
Driver Name : vc4_hdmi
Adapter Name : vc4
Capabilities : 0x0000010e
Logical Addresses
Transmit
Passthrough
Driver version : 5.10.0
Available Logical Addresses: 1
Physical Address : f.f.f.f
Logical Address Mask : 0x0000
CEC Version : 2.0
Vendor ID : 0x000c03 (HDMI)
OSD Name : Playback
Logical Addresses : 1 (Allow RC Passthrough)

Logical Address : Not Allocated
Primary Device Type : Playback
Logical Address Type : Playback
All Device Types : Playback
RC TV Profile : None
Device Features :
None


Transmit from Unregistered to TV (15 to 0):
CEC_MSG_IMAGE_VIEW_ON (0x04)
Sequence: 1 Tx Timestamp: 77.631s


And this is the output on my desktop with the Pulse-Eight:
$ sudo cec-ctl -p0.0.0.0 --tv
Driver Info:
Driver Name : pulse8-cec
Adapter Name : serio0
Capabilities : 0x0000003f
Physical Address
Logical Addresses
Transmit
Passthrough
Remote Control Support
Monitor All
Driver version : 5.9.8
Available Logical Addresses: 1
Connector Info : None
Physical Address : 0.0.0.0
Logical Address Mask : 0x0001
CEC Version : 2.0
Vendor ID : 0x000c03 (HDMI)
OSD Name : 'TV '
Logical Addresses : 1 (Allow RC Passthrough)

Logical Address : 0 (TV)
Primary Device Type : TV
Logical Address Type : TV
All Device Types : TV
RC TV Profile : None
Device Features :
None

$ sudo cec-ctl -M
Driver Info:
Driver Name : pulse8-cec
Adapter Name : serio0
Capabilities : 0x0000003f
Physical Address
Logical Addresses
Transmit
Passthrough
Remote Control Support
Monitor All
Driver version : 5.9.8
Available Logical Addresses: 1
Connector Info : None
Physical Address : 0.0.0.0
Logical Address Mask : 0x0001
CEC Version : 2.0
Vendor ID : 0x000c03 (HDMI)
OSD Name : 'TV '
Logical Addresses : 1 (Allow RC Passthrough)

Logical Address : 0 (TV)
Primary Device Type : TV
Logical Address Type : TV
All Device Types : TV
RC TV Profile : None
Device Features :
None



Initial Event: State Change: PA: 0.0.0.0, LA mask: 0x0001, Conn Info: no
Received from Unregistered to TV (15 to 0): IMAGE_VIEW_ON (0x04)

So it looks like it's working as expected?

Maxime

Attachment: signature.asc
Description: PGP signature