[PATCH v10 18/18] OMAP2, 3: DSS2: Get DSS IRQ from platform device

Semwal, Sumit sumit.semwal at ti.com
Thu Jan 27 10:23:38 EST 2011


Raghuveer,

On Thu, Jan 27, 2011 at 6:34 PM, Raghuveer Murthy <x0075817 at ti.com> wrote:
> On Thursday 27 January 2011 06:29 PM, Russell King - ARM Linux wrote:
>>
>> On Thu, Jan 27, 2011 at 06:19:21PM +0530, Raghuveer Murthy wrote:
>>>>
>>>> +       r = request_irq(dss_irq,
>>>> +               cpu_is_omap24xx()
>>>> +               ? dss_irq_handler_omap2
>>>> +               : dss_irq_handler_omap3,
>>>
>>> it should be
>>>
>>>                cpu_is_omap24xx()
>>>                ? dss_irq_handler_omap3
>>>                : dss_irq_handler_omap2,
>>>
>>> I am seeing a crash on Panda, which gets rectified with this
>>> change. The root cause is access to DSS_IRQSTATUS register in the
>>> dss_irq_handler_omap3 handler, which is not valid for OMAP4.
>>
>> That really doesn't look right.  Let me translate the code you've just
>> written:
>>
>>        if (cpu_is_omap24xx())
>>                handler = dss_irq_handler_omap3;
>>        else
>>                handler = dss_irq_handler_omap2;
>>
>> Which means: if we have an OMAP24xx device, use the OMAP3 handler,
>> otherwise use the OMAP2 handler.  That's got to be wrong.
>>
> I agree, that the logic seems counter-intuitive. I was doing a quick test.
>
> However, to  keep the correct sequence, the logic inside the respective
> handlers need to be looked at.
If you see the patch series, this is relevant only for OMAP2,3. OMAP4
related IRQ handling is not yet introduced.
There would a different patch set which should set the correct irq
handler for OMAP4.
>
> Regards,
> Raghuveer
>



More information about the linux-arm-kernel mailing list