Hi Tomi, On 03/30/2016 03:37 AM, Tomi Valkeinen wrote: > Hi Hans, > > On 24/03/16 23:20, Hans Verkuil wrote: >> Hi Tomi, >> >> I hope you (or someone else on this list) can help me find the problem in >> this code. >> >> I am working on a kernel framework for HDMI CEC (see >> https://lwn.net/Articles/680942/). >> In order to get as much experience with different devices as possible I am >> trying to >> implement it on my omap4430 Pandaboard. The big problem I am facing is that >> the CEC >> interrupts come in through the HDMI_IRQ_CORE interrupt, and that just >> refuses to >> trigger. >> >> The code below adds support for this core interrupt and it is supposed to >> trigger it >> using the Software Induced interrupt to keep the code as simple as possible. > > So this irq is just for testing?
Yes, that was the easiest way to check the core irq without requiring lots of other changes. >> On boot I get this debug line from the pr_info in my code: >> >> irqstat 02000000 wp_irq 06000001 raw 20010000 intr_state 00000001 intr1 >> 00000080 unmask1 00000080 intr_ctrl 0000000a >> >> As far as I can see everything looks perfectly fine, except for the fact >> that bit 0 >> of the irqstat is stubbornly 0. >> >> This is using kernel 4.5 with only this patch applied. >> >> What am I missing? > > Set SYS_CTRL1:PD to 1 (I presume you have the NDA HDMI TRM?). Yes, I have it. > Apparently we set it always to 0 in > hdmi4_core.c:hdmi_core_powerdown_disable(), but never enable it. I guess > it only affects core irqs, so there have been no side effects. > > But it would make sense to either have a matching call in the enable > path, or then just set it to 0 when initializing the IP. I think it should be set in hdmi_core_video_config(). It sets other SYS_CTRL1 bits there as well, and that is probably why I missed it. I just never realized that the PD bit wasn't set there. Thank you very much! I'm abroad right now, but once I'm back I'll test this first thing. > >> >> The reward for the right answer will be HDMI CEC support for omap4 (and any >> other TI device >> with the same CEC IP). > > Ok. When is it ready? ;) Once I get the irq working the omap4 support should be ready very quickly, getting the CEC framework merged takes a bit longer, but I am aiming for kernel 4.7 pending some final tests. I'm cross-posting the patch series to dri-devel, so with luck when I post v15 it will have an omap4 driver as well. Regards, Hans