On 01-06-2017 23:30, Russell King - ARM Linux wrote:
On Thu, Jun 01, 2017 at 01:53:21AM +0100, Jose Abreu wrote:
Hi Russell,
On 30-05-2017 15:23, Russell King wrote:
+static int dw_hdmi_cec_transmit(struct cec_adapter *adap, u8 attempts,
u32 signal_free_time, struct cec_msg *msg)
+{
- struct dw_hdmi_cec *cec = adap->priv;
- unsigned i;
- cec->retries = attempts;
I think you should check first if CEC engine is in normal operation mode, as a safety measure.
I'm not sure what you mean there, because the iMX6 manuals don't mention anything about that. The only "modes" it talks about is initiator mode and follower mode. Moreover, there's nothing in what was FSL's driver that hints at that either.
Maybe you could provide some further technical information on this point?
You should check that CEC is: not in standy, acknowledges broadcast messages, signal free time is 5bit period, and not lost arbitration, which basically means CEC_CTRL must be 0x2 and IH_CEC_STAT0 must not have ARB_LOST set. I do know you set 0x3 at the end of this function but according to all the docs I have you must first set 0x2 before writing message.
Best regards, Jose Miguel Abreu