[PATCHv9 07/15] cec: add HDMI CEC framework
Russell King - ARM Linux
linux at arm.linux.org.uk
Thu Oct 15 10:34:04 PDT 2015
On Wed, Oct 14, 2015 at 08:29:44AM +0200, Hans Verkuil wrote:
> On 10/14/2015 12:51 AM, Russell King - ARM Linux wrote:
> > On Mon, Oct 12, 2015 at 01:35:54PM +0200, Hans Verkuil wrote:
> >> On 10/06/2015 07:06 PM, Russell King - ARM Linux wrote:
> >>> Surely you aren't proposing that drivers should write directly to
> >>> adap->phys_addr without calling some notification function that the
> >>> physical address has changed?
> >>
> >> Userspace is informed through CEC_EVENT_STATE_CHANGE when the adapter is
> >> enabled/disabled. When the adapter is enabled and CEC_CAP_PHYS_ADDR is
> >> not set (i.e. the kernel takes care of this), then calling CEC_ADAP_G_PHYS_ADDR
> >> returns the new physical address.
> >
> > Okay, so when I see the EDID arrive, I should be doing:
> >
> > phys = parse_hdmi_addr(block->edid);
> > cec->adap->phys_addr = phys;
> > cec_enable(cec->adap, true);
> >
> > IOW, you _are_ expecting adap->phys_addr to be written, but only while
> > the adapter is disabled?
>
> Right.
>
> And when the hotplug goes down you should call cec_enable(cec->adap, false).
> While the adapter is disabled, CEC_ADAP_G_PHYS_ADDR will always return
> CEC_PHYS_ADDR_INVALID regardless of the cec->adap->phys_addr value.
There seems to be a few bugs. Is there a way to monitor (in a similar
way to tcpdump) the activity on the bus?
What I'm seeing is that if the TV is switched to the appropriate AV
input, and then I do:
cec-ctl --playback
to use the kernel to pick up a playback logical address, I then can't
use the remote control media playback keys until I switch away from
the AV input and back to it.
--
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
More information about the dri-devel
mailing list