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?
Thanks.