Re: [PATCH 2/5 v11] arm: omap: usb: ehci and ohci hwmod structuresfor omap3

From: Paul Walmsley
Date: Sat Sep 24 2011 - 02:30:43 EST


On Fri, 23 Sep 2011, Munegowda, Keshava wrote:

> On Thu, Sep 22, 2011 at 11:31 PM, Paul Walmsley <paul@xxxxxxxxx> wrote:
>
> But the question arises here , why do we need these ehci and ohci as two
> different hwmods containing only irq and base address? It is required
> for future - to implement remote wakeup feature for ehci and ohci ports
> depending on irq-chain handler patches by Tero. Separate hwmods for ehci
> and ohci are needed to enable prcm chain-handler to uniquely identify
> the wakeup source as ehci or ohci and call only the corresponding
> interrupt handler. We will be using omap_hwmod_mux_init for ehci and
> ohci hwmods to enable I/O wakeup capability for respective IO-pads.
> Depending on the particular wakeup source(ehci/ohci), the corresponding
> ehci or ohci irq handler will be called.
>
> If ehci and ohci are combined with usbhs hwmod as a single hwmod , then
> for every wakeup (either ehci or ohci port wakeup) only the first
> interrupt handler will be called (please look at the function
> omap_hwmod_mux_handle_irq of
>
> /arch/arm/mach-omap2/mux.c file ; in tero's latest patch:
> http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg53139.html)
> , so in this
> case, if ehci interrupt is the first interrupt , then even for ohci wakeup
> , only ehci interrupt will get called; which will break the functionality.

Any reason why this couldn't be handled either by:

1. adding an IRQ number field to struct omap_hwmod_mux_info, and changing
_omap_hwmod_mux_handle_irq() to raise that IRQ number?

or

2. using shared interrupts?


- Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/