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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hans,

On Thu, Dec 17, 2020 at 11:53:42AM +0100, Hans Verkuil wrote:
> On 17/12/2020 11:49, Maxime Ripard wrote:
> > 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?
> 
> Yes, it looks good. Make sure you test this for both outputs of the RPi4.

It's a good thing you asked, I don't appear to get CEC interrupts from
HDMI1. I'll fix it and send another version (probably not before the end
of december though).

> If it works for both, then you can add my
> 
> Acked-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> 
> for this series.
> 
> Very nice work, thank you for doing this!

Thanks!

I'll hold your a-b until the next version though, fixing hdmi1 might
change a few things.

Maxime

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux