From: "Cousson, Benoit" <b-cousson@ti.com>
To: "Semwal, Sumit" <sumit.semwal@ti.com>
Cc: "Taneja, Archit" <archit@ti.com>, "Balbi, Felipe" <balbi@ti.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"Valkeinen, Tomi" <tomi.valkeinen@ti.com>
Subject: Re: OMAP: DSS2: Common IRQ handler for all OMAPs
Date: Tue, 15 Feb 2011 11:50:04 +0100 [thread overview]
Message-ID: <4D5A5A5C.4070909@ti.com> (raw)
In-Reply-To: <AANLkTikZXdrjXMq811LR8dQ0eq-QDDUb=pUdBDghWD3E@mail.gmail.com>
Hi Sumit,
On 2/15/2011 11:28 AM, Semwal, Sumit wrote:
> Hi Benoit,
>
> On Tue, Feb 15, 2011 at 3:53 PM, Cousson, Benoit<b-cousson@ti.com> wrote:
>> Hi Archit,
>>
>> On 2/15/2011 10:25 AM, Taneja, Archit wrote:
>>>
>>> Copying Benoit,
>>>
>>> On Tuesday 15 February 2011 02:07 PM, Valkeinen, Tomi wrote:
>>>>
>>>> On Tue, 2011-02-15 at 02:30 -0600, Taneja, Archit wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On Tuesday 15 February 2011 12:57 PM, Valkeinen, Tomi wrote:
>>>>>
>>>>> <snip>
>>>>>
>>>>>> I meant something like this:
>>>>>>
>>>>>> dispc.c:
>>>>>>
>>>>>> dispc_init()
>>>>>> {
>>>>>> /* did we have a pdev for dispc? if not, this needs to be
>>>>>> dss.pdev */
>>>>>> request_irq(platform_get_irq(dispc.pdev, 0), irq_handler,
>>>>>> IRQF_SHARED, "dispc irq", foo);
>>>>>> }
>>>>>>
>>>>>> irq_handler()
>>>>>> {
>>>>>> if (irq_can_be_shared) {
>>>>>> check if the irq is for us. exit if not;
>>>>>> }
>>>>>>
>>>>>> handle;
>>>>>> }
>>>>>>
>>>>>> dsi.c:
>>>>>>
>>>>>> dsi_init()
>>>>>> {
>>>>>> request_irq(platform_get_irq(dsi.pdev, 0), irq_handler,
>>>>>> IRQF_SHARED, "dsi irq", foo);
>>>>>> }
>>>>>>
>>>>>> irq_handler()
>>>>>> {
>>>>>> if (irq_can_be_shared) {
>>>>>> check if the irq is for us. exit if not;
>>>>>> }
>>>>>>
>>>>>> handle;
>>>>>> }
>>>>>>
>>>>>
>>>>> This approach looks clean, but isn't IRQF_SHARED used the other way
>>>>> around. One irq line and multiple handlers?
>>>>
>>>> That is the case here, isn't it (on omap3)? One interrupt line (the DSS
>>>> irq, the same returned both from dsi.pdev and dispc.pdev), and two
>>>> handlers, one in dispc and one in dsi? Or what do you mean?
>>>>
>>>> On omap2 there's no dsi code ran, so dispc is the only one requesting
>>>> the irq, and thus IRQF_SHARED is extra. In omap4 there are separate irq
>>>> lines (dsi.pdev and dispc.pdev return different irqs), and so
>>>> IRQF_SHARED is again extra. But I don't see any harm in IRQF_SHARED even
>>>> in omap2/4.
>>>>
>>>> Tomi
>>>>
>>>
>>> Benoit,
>>>
>>> Is it okay to have the same irq entry for 2 different hwmods?
>>> This requirement comes from OMAP3 where dispc and dsi have a common irq
>>> line, where as on OMAP4 dispc and dsi have separate irq lines.
>>
>> Well, no. I explained that in one of my comment about hwmod modification.
>> The hwmod data are reflecting the exact HW capabilities.
>> So, if there is a change in the HW, the hwmod will be different.
>> It is up to the driver to adapt to this change.
> I guess what Archit wanted to say is, for hw IPs DISPC and DSI, on
> OMAP3, have a common IRQ line, so could both their hwmod databases
> have the same IRQ added for them? This would us call, for a common IRQ
> line shared w/ DISPC and DSI, like
> mentioned in Tomi's sample code above.
OK, thanks for the clarification, actually I missed a little bit the
point :-(
So in fact the 2 modules share that same IRQ today, and you just want to
populate both hwmod with the same input.
If this is a real OR between the two IRQ lines, meaning the dispc cannot
mask the dsi IRQ or the opposite, then having the same IRQ number in the
two different hwmods is a correct representation of the HW.
Then both devices with get the same IRQ number during the
platform_get_irq, so if the driver is aware of that it is fine.
> How is hwmod data for these cases handled today? [shared IRQ,
> different platform devices?]
I don't think we have such case today at least on OMAP4. Or maybe it is
just not properly documented, so only one hwmod is mapped to the IRQ line.
Regards,
Benoit
>
> Best regards,
> ~Sumit.
>>
>> The driver has to evolve to handle properly the new HW capabilities while
>> keeping the old stuff working.
>>
>>> We basically want to get rid of a central dss irq handler (hence, remove
>>> irq entries for dss_core hwmod) and instead have separate irq handlers
>>> for each module which may or may not share an irq line.
>>
>> Then you need to hack your driver but not the hwmod data:-(
>>
>> Regards,
>> Benoit
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
next prev parent reply other threads:[~2011-02-15 10:50 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-02 8:56 [PATCH] OMAP: DSS2: Common IRQ handler for all OMAPs Archit Taneja
2011-02-14 14:21 ` Tomi Valkeinen
2011-02-14 14:30 ` Felipe Balbi
2011-02-15 4:28 ` archit taneja
2011-02-15 7:27 ` Tomi Valkeinen
2011-02-15 8:30 ` archit taneja
2011-02-15 8:37 ` Tomi Valkeinen
2011-02-15 8:47 ` archit taneja
2011-02-15 9:25 ` archit taneja
2011-02-15 10:23 ` Cousson, Benoit
2011-02-15 10:28 ` Semwal, Sumit
2011-02-15 10:50 ` Cousson, Benoit [this message]
2011-02-15 12:43 ` archit taneja
2011-02-15 12:56 ` Cousson, Benoit
2011-02-15 10:57 ` Felipe Balbi
2011-02-15 11:25 ` Tomi Valkeinen
2011-02-15 11:42 ` Felipe Balbi
2011-02-15 8:05 ` Felipe Balbi
2011-02-15 8:20 ` archit taneja
2011-02-15 8:23 ` Felipe Balbi
2011-02-15 7:45 ` Tomi Valkeinen
2011-02-15 8:03 ` archit taneja
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D5A5A5C.4070909@ti.com \
--to=b-cousson@ti.com \
--cc=archit@ti.com \
--cc=balbi@ti.com \
--cc=linux-omap@vger.kernel.org \
--cc=sumit.semwal@ti.com \
--cc=tomi.valkeinen@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox