On 29/05/2020 08:10, Jeff Chase wrote: > (Resending as plain text, sorry) > >> +static int ch7322_cec_adap_enable(struct cec_adapter *adap, bool enable) >> +{ >> + struct ch7322 *ch7322 = cec_get_drvdata(adap); >> + int ret; >> + >> + if (enable) >> + ret = ch7322_unmask_interrupt(ch7322); >> + else >> + ret = ch7322_mask_interrupt(ch7322); >> + >> + return ret; >> +} >> + > > I just realized that doing this here is broken -- the driver depends > on the interrupt to detect when the physical address changes. I could > mask only the tx/rx interrupt here instead but that is starting to > feel a bit pointless. Ah, OK. Just drop this then. > > I haven't looked into the cec notifier mechanism yet but would it be > better to try to use that instead if possible and just ignore this > device's physical address detection? Then I could do more of a proper > reset in this enable op. But I'm not sure if I can properly associate > the device with an HDMI port on my platform unless I make some changes > to coreboot. I don't think this is useful: it's nice to have the CEC adapter do the physical address detection. One question about that though: if there is no physical address, can this driver still transmit CEC messages? Specifically Image View On. This is important to wake up displays that pull down the HPD when in standby. The easiest way to test this is with a Pulse-Eight CEC adapter. See also the section "CEC Without HPD" here: https://hverkuil.home.xs4all.nl/cec-status.txt Regards, Hans