Re: [PATCH 00/16] OMAP USB Host cleanup

2012-12-04 Thread Grazvydas Ignotas
On Tue, Nov 27, 2012 at 6:30 PM, Felipe Balbi  wrote:
> On Tue, Nov 27, 2012 at 04:42:47PM +0200, Roger Quadros wrote:
>> Kevin,
>>
>> I gave a quick look at the issue. It seems that the High Speed USB Host
>> module is kept in Software forced wakeup mode as a quick fix workaround
>> to a bunch of silicon erratas. And we do nothing on USB global suspend.
>> That's why CORE does not hit retention.
>>
>> If we runtime_suspend the USB host module on USB global suspend then it
>> will be put in Force Idle mode. This will allow CORE to hit retention
>> but then we will no longer be able to detect USB device connect events.
>>
>> So, till we have a better solution I will suggest to keep EHCI_HCD as a
>> module in omap2plus_defconfig.
>
> I guess that "better solution" would be I/O pads wakeup interrupts ? But
> I don't think that's already in mainline, is it ?

I believe there was attempt to mainline that but it was rejected by Tony:
http://marc.info/?l=linux-omap&m=134727428329745&w=2

Hopefully someone can come up with a suitable solution, not being able
to suspend and broken power saving with EHCI sucks :(

-- 
GraÅžvydas
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 00/16] OMAP USB Host cleanup

2012-11-27 Thread Felipe Balbi
On Tue, Nov 27, 2012 at 04:42:47PM +0200, Roger Quadros wrote:
> On 11/20/2012 01:22 AM, Kevin Hilman wrote:
> > Roger Quadros  writes:
> > 
> >> Kevin,
> >>
> >> On 11/16/2012 10:08 PM, Kevin Hilman wrote:
> >>> Roger Quadros  writes:
> >>>
>  Hi,
> 
>  This patchset addresses the following
> 
>  - Avoid addressing clocks one by one by name and use a for loop + bunch
>    of cleanups.
>  - Get number of channels/ports dynamically either from revision register
>    or from platform data. Avoids getting clocks that are not present.
>  - Add OMAP5 and HSIC mode (Not tested)
>  - Save power on Panda when EHCI driver is not loaded.
> 
> >>>
> >>> Seeing the clock changes/cleanups, I gave this a spin on OMAP3
> >>> (3530/Beagle, 3530/Overo, 3730/Beagle-xM, 3730/OveroSTORM) to see if it
> >>> fixed up the problem where CORE does not hit retention in idle when USB
> >>> host is enabled, even with no devices attached.
> >>>
> >>> Unfortunately, it didn't help. :(
> >>
> >> oh that's bad. But this series wasn't meant to fix that ;).
> > 
> > Oh, sorry.  Yeah, I didn't mean this as a nak.  Just an opportunity to
> > complain to the maintainers that a long-standing issue needs to be
> > addressed.
> > 
> 
> Kevin,
> 
> I gave a quick look at the issue. It seems that the High Speed USB Host
> module is kept in Software forced wakeup mode as a quick fix workaround
> to a bunch of silicon erratas. And we do nothing on USB global suspend.
> That's why CORE does not hit retention.
> 
> If we runtime_suspend the USB host module on USB global suspend then it
> will be put in Force Idle mode. This will allow CORE to hit retention
> but then we will no longer be able to detect USB device connect events.
> 
> So, till we have a better solution I will suggest to keep EHCI_HCD as a
> module in omap2plus_defconfig.

I guess that "better solution" would be I/O pads wakeup interrupts ? But
I don't think that's already in mainline, is it ?

-- 
balbi


signature.asc
Description: Digital signature


Re: [PATCH 00/16] OMAP USB Host cleanup

2012-11-27 Thread Roger Quadros
On 11/20/2012 01:22 AM, Kevin Hilman wrote:
> Roger Quadros  writes:
> 
>> Kevin,
>>
>> On 11/16/2012 10:08 PM, Kevin Hilman wrote:
>>> Roger Quadros  writes:
>>>
 Hi,

 This patchset addresses the following

 - Avoid addressing clocks one by one by name and use a for loop + bunch
   of cleanups.
 - Get number of channels/ports dynamically either from revision register
   or from platform data. Avoids getting clocks that are not present.
 - Add OMAP5 and HSIC mode (Not tested)
 - Save power on Panda when EHCI driver is not loaded.

>>>
>>> Seeing the clock changes/cleanups, I gave this a spin on OMAP3
>>> (3530/Beagle, 3530/Overo, 3730/Beagle-xM, 3730/OveroSTORM) to see if it
>>> fixed up the problem where CORE does not hit retention in idle when USB
>>> host is enabled, even with no devices attached.
>>>
>>> Unfortunately, it didn't help. :(
>>
>> oh that's bad. But this series wasn't meant to fix that ;).
> 
> Oh, sorry.  Yeah, I didn't mean this as a nak.  Just an opportunity to
> complain to the maintainers that a long-standing issue needs to be
> addressed.
> 

Kevin,

I gave a quick look at the issue. It seems that the High Speed USB Host
module is kept in Software forced wakeup mode as a quick fix workaround
to a bunch of silicon erratas. And we do nothing on USB global suspend.
That's why CORE does not hit retention.

If we runtime_suspend the USB host module on USB global suspend then it
will be put in Force Idle mode. This will allow CORE to hit retention
but then we will no longer be able to detect USB device connect events.

So, till we have a better solution I will suggest to keep EHCI_HCD as a
module in omap2plus_defconfig.

--
regards,
-roger
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 00/16] OMAP USB Host cleanup

2012-11-21 Thread Felipe Balbi
Hi,

On Wed, Nov 21, 2012 at 12:05:12PM +0200, Roger Quadros wrote:
> Hi Tony,
> 
> On 11/21/2012 01:13 AM, Tony Lindgren wrote:
> > Hi Roger,
> > 
> > * Kevin Hilman  [121119 15:24]:
> >> Roger Quadros  writes:
> >>
> >>> Kevin,
> >>>
> >>> On 11/16/2012 10:08 PM, Kevin Hilman wrote:
>  Roger Quadros  writes:
> 
> > Hi,
> >
> > This patchset addresses the following
> >
> > - Avoid addressing clocks one by one by name and use a for loop + bunch
> >   of cleanups.
> > - Get number of channels/ports dynamically either from revision register
> >   or from platform data. Avoids getting clocks that are not present.
> > - Add OMAP5 and HSIC mode (Not tested)
> > - Save power on Panda when EHCI driver is not loaded.
> >
> 
>  Seeing the clock changes/cleanups, I gave this a spin on OMAP3
>  (3530/Beagle, 3530/Overo, 3730/Beagle-xM, 3730/OveroSTORM) to see if it
>  fixed up the problem where CORE does not hit retention in idle when USB
>  host is enabled, even with no devices attached.
> 
>  Unfortunately, it didn't help. :(
> >>>
> >>> oh that's bad. But this series wasn't meant to fix that ;).
> >>
> >> Oh, sorry.  Yeah, I didn't mean this as a nak.  Just an opportunity to
> >> complain to the maintainers that a long-standing issue needs to be
> >> addressed.
> > 
> > It seems that drivers/mfd/omap-usb-host.c is one of the last users
> > of cpu_is_omap macros blocking enabling ARM multiplatform support for
> > omap2+.
> > 
> > Please fix that ASAP as early as possible in this patch series to
> > remove the dependencies between core omap code development and driver
> > development.
> > 
> > Basically you need to remove #include  and pass the
> > revision information in platform data (and device tree compatible
> > flag when that is supported).
> > 
> 
> Okay I'll send a patch to fix that ASAP.
> 
> Felipe, any comments on the patches in this series?

I'm waiting for Keshava's comments since he's the one who has been
dealing with omap usb host the most. I can look into this series too
shortly.

-- 
balbi


signature.asc
Description: Digital signature


Re: [PATCH 00/16] OMAP USB Host cleanup

2012-11-21 Thread Roger Quadros
Hi Tony,

On 11/21/2012 01:13 AM, Tony Lindgren wrote:
> Hi Roger,
> 
> * Kevin Hilman  [121119 15:24]:
>> Roger Quadros  writes:
>>
>>> Kevin,
>>>
>>> On 11/16/2012 10:08 PM, Kevin Hilman wrote:
 Roger Quadros  writes:

> Hi,
>
> This patchset addresses the following
>
> - Avoid addressing clocks one by one by name and use a for loop + bunch
>   of cleanups.
> - Get number of channels/ports dynamically either from revision register
>   or from platform data. Avoids getting clocks that are not present.
> - Add OMAP5 and HSIC mode (Not tested)
> - Save power on Panda when EHCI driver is not loaded.
>

 Seeing the clock changes/cleanups, I gave this a spin on OMAP3
 (3530/Beagle, 3530/Overo, 3730/Beagle-xM, 3730/OveroSTORM) to see if it
 fixed up the problem where CORE does not hit retention in idle when USB
 host is enabled, even with no devices attached.

 Unfortunately, it didn't help. :(
>>>
>>> oh that's bad. But this series wasn't meant to fix that ;).
>>
>> Oh, sorry.  Yeah, I didn't mean this as a nak.  Just an opportunity to
>> complain to the maintainers that a long-standing issue needs to be
>> addressed.
> 
> It seems that drivers/mfd/omap-usb-host.c is one of the last users
> of cpu_is_omap macros blocking enabling ARM multiplatform support for
> omap2+.
> 
> Please fix that ASAP as early as possible in this patch series to
> remove the dependencies between core omap code development and driver
> development.
> 
> Basically you need to remove #include  and pass the
> revision information in platform data (and device tree compatible
> flag when that is supported).
> 

Okay I'll send a patch to fix that ASAP.

Felipe, any comments on the patches in this series?

regards,
-roger
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 00/16] OMAP USB Host cleanup

2012-11-20 Thread Tony Lindgren
Hi Roger,

* Kevin Hilman  [121119 15:24]:
> Roger Quadros  writes:
> 
> > Kevin,
> >
> > On 11/16/2012 10:08 PM, Kevin Hilman wrote:
> >> Roger Quadros  writes:
> >> 
> >>> Hi,
> >>>
> >>> This patchset addresses the following
> >>>
> >>> - Avoid addressing clocks one by one by name and use a for loop + bunch
> >>>   of cleanups.
> >>> - Get number of channels/ports dynamically either from revision register
> >>>   or from platform data. Avoids getting clocks that are not present.
> >>> - Add OMAP5 and HSIC mode (Not tested)
> >>> - Save power on Panda when EHCI driver is not loaded.
> >>>
> >> 
> >> Seeing the clock changes/cleanups, I gave this a spin on OMAP3
> >> (3530/Beagle, 3530/Overo, 3730/Beagle-xM, 3730/OveroSTORM) to see if it
> >> fixed up the problem where CORE does not hit retention in idle when USB
> >> host is enabled, even with no devices attached.
> >> 
> >> Unfortunately, it didn't help. :(
> >
> > oh that's bad. But this series wasn't meant to fix that ;).
> 
> Oh, sorry.  Yeah, I didn't mean this as a nak.  Just an opportunity to
> complain to the maintainers that a long-standing issue needs to be
> addressed.

It seems that drivers/mfd/omap-usb-host.c is one of the last users
of cpu_is_omap macros blocking enabling ARM multiplatform support for
omap2+.

Please fix that ASAP as early as possible in this patch series to
remove the dependencies between core omap code development and driver
development.

Basically you need to remove #include  and pass the
revision information in platform data (and device tree compatible
flag when that is supported).

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 00/16] OMAP USB Host cleanup

2012-11-19 Thread Kevin Hilman
Roger Quadros  writes:

> Kevin,
>
> On 11/16/2012 10:08 PM, Kevin Hilman wrote:
>> Roger Quadros  writes:
>> 
>>> Hi,
>>>
>>> This patchset addresses the following
>>>
>>> - Avoid addressing clocks one by one by name and use a for loop + bunch
>>>   of cleanups.
>>> - Get number of channels/ports dynamically either from revision register
>>>   or from platform data. Avoids getting clocks that are not present.
>>> - Add OMAP5 and HSIC mode (Not tested)
>>> - Save power on Panda when EHCI driver is not loaded.
>>>
>> 
>> Seeing the clock changes/cleanups, I gave this a spin on OMAP3
>> (3530/Beagle, 3530/Overo, 3730/Beagle-xM, 3730/OveroSTORM) to see if it
>> fixed up the problem where CORE does not hit retention in idle when USB
>> host is enabled, even with no devices attached.
>> 
>> Unfortunately, it didn't help. :(
>
> oh that's bad. But this series wasn't meant to fix that ;).

Oh, sorry.  Yeah, I didn't mean this as a nak.  Just an opportunity to
complain to the maintainers that a long-standing issue needs to be
addressed.

Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 00/16] OMAP USB Host cleanup

2012-11-19 Thread Roger Quadros
Kevin,

On 11/16/2012 10:08 PM, Kevin Hilman wrote:
> Roger Quadros  writes:
> 
>> Hi,
>>
>> This patchset addresses the following
>>
>> - Avoid addressing clocks one by one by name and use a for loop + bunch
>>   of cleanups.
>> - Get number of channels/ports dynamically either from revision register
>>   or from platform data. Avoids getting clocks that are not present.
>> - Add OMAP5 and HSIC mode (Not tested)
>> - Save power on Panda when EHCI driver is not loaded.
>>
> 
> Seeing the clock changes/cleanups, I gave this a spin on OMAP3
> (3530/Beagle, 3530/Overo, 3730/Beagle-xM, 3730/OveroSTORM) to see if it
> fixed up the problem where CORE does not hit retention in idle when USB
> host is enabled, even with no devices attached.
> 
> Unfortunately, it didn't help. :(

oh that's bad. But this series wasn't meant to fix that ;).

I could take a look at it once I get hold of the serial cable to connect
to the beagle.

regards,
-roger
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 00/16] OMAP USB Host cleanup

2012-11-16 Thread Kevin Hilman
Roger Quadros  writes:

> Hi,
>
> This patchset addresses the following
>
> - Avoid addressing clocks one by one by name and use a for loop + bunch
>   of cleanups.
> - Get number of channels/ports dynamically either from revision register
>   or from platform data. Avoids getting clocks that are not present.
> - Add OMAP5 and HSIC mode (Not tested)
> - Save power on Panda when EHCI driver is not loaded.
>

Seeing the clock changes/cleanups, I gave this a spin on OMAP3
(3530/Beagle, 3530/Overo, 3730/Beagle-xM, 3730/OveroSTORM) to see if it
fixed up the problem where CORE does not hit retention in idle when USB
host is enabled, even with no devices attached.

Unfortunately, it didn't help. :(

Felipe, Keshava, any plans to address this problem which has been around
for a couple cycles now and led me to disable USB host in
omap2plus_defconfig?[1]

Kevin

[1] 
https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06b4ba529528fbf9c24ce37b7618f4b0264750e2


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 00/16] OMAP USB Host cleanup

2012-11-15 Thread Roger Quadros
Hi,

This patchset addresses the following

- Avoid addressing clocks one by one by name and use a for loop + bunch
  of cleanups.
- Get number of channels/ports dynamically either from revision register
  or from platform data. Avoids getting clocks that are not present.
- Add OMAP5 and HSIC mode (Not tested)
- Save power on Panda when EHCI driver is not loaded.

cheers,
-roger

---
Andy Green (1):
  ARM: OMAP: omap4panda: Power down the USB PHY and ETH when not in use

Roger Quadros (15):
  mfd: omap-usb-tll: Avoid creating copy of platform data
  mfd: omap-usb-tll: Clean up clock handling
  mfd: omap-usb-tll: introduce and use mode_needs_tll()
  mfd: omap-usb-tll: Move port clock handling out of runtime ops
  mfd: omap-usb-tll: Add OMAP5 revision and HSIC support
  mfd: omap-usb-host: cleanup clock management code
  mfd: omap_usb_host: Avoid creating copy of platform_data
  mfd: omap-usb-host: know about number of ports from revision register
  mfd: omap-usb-host: override number of ports from platform data
  mfd: omap-usb-host: Intialize all available ports
  mfd: omap-usb-host: Manage HSIC clocks for HSIC mode
  ARM: OMAP2+: clock data: Merge utmi_px_gfclk into
usb_host_hs_utmi_px_clk
  mfd: omap-usb-host: Get rid of unnecessary spinlock
  mfd: omap-usb-host: Support an auxiliary clock per port
  ARM: OMAP4: omap4panda: Don't enable USB PHY clock from board

 arch/arm/mach-omap2/board-omap4panda.c |   94 +---
 arch/arm/mach-omap2/clock3xxx_data.c   |2 -
 arch/arm/mach-omap2/clock44xx_data.c   |   30 +--
 arch/arm/mach-omap2/usb-host.c |3 +
 arch/arm/plat-omap/include/plat/usb.h  |8 +
 drivers/mfd/omap-usb-host.c|  397 +++-
 drivers/mfd/omap-usb-tll.c |  255 +++--
 7 files changed, 454 insertions(+), 335 deletions(-)

-- 
1.7.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html