omap4: how to get the HDMI core IRQ?

Hans Verkuil hverkuil at xs4all.nl
Fri Apr 1 00:46:50 UTC 2016


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


More information about the dri-devel mailing list