Re: MFD USB host: prevents CORE retention in idle

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 24, 2012 at 5:55 AM, Kevin Hilman <khilman@xxxxxx> wrote:
> On 05/23/2012 05:01 PM, Kevin Hilman wrote:
>>
>> Hi Keshava,
>>
>> Using current l-o master, I noticed that CORE was not hitting retention
>> in idle on my 3530/Overo.  CORE hits retention on suspend just fine.
>>
>> Debugging this, I found that usbtll_fck was still enabled during idle,
>> thus preventing CORE from hitting retention.
>>
>> To test, I disabled USB host (CONFIG_MFD_OMAP_USB_HOST=n in .config) and
>> was then started seeing CORE hit retention in idle again.
>>
>> I have nothing plugged into the USB host port on this board, so I
>> would've expected that runtime PM would've kicked in and shutdown this
>> clock.
>>
>> Any ideas what's going on here?  Is this expected behavior?
>>
>
> If it helps, attached is a bootlog after enabling debug for
> mfd/omap-usb-host.c as well.  Notice there's a couple of clock-related
> warnings from this driver as well.  Not sure if they're relevant:
>
> usbhs_omap: alias fck already exists
> usbhs_omap usbhs_omap: xclk60mhsp2_ck set parentfailed error:-22

these clocks were specific to omap4 and it should not cause any
problem to omap3 boards.

I will try to reproduce this on 3430 sdp to explore further.


>
> With debug enabled, I see the runtime resume during init followed by the
> runtime suspend.
>
> [    0.936248] usbhs_omap usbhs_omap: xclk60mhsp2_ck set parentfailed
> error:-22
> [    0.944152] usbhs_omap usbhs_omap: starting TI HSUSB Controller
> [    0.944335] usbhs_omap usbhs_omap: usbhs_runtime_resume
> [    0.944641] usbhs_omap usbhs_omap: OMAP UHH_REVISION 0x10
> [    0.944641] usbhs_omap usbhs_omap: OMAP3 ES version > ES2.1
> [    0.944671] usbhs_omap usbhs_omap: UHH setup done,ry
> uhh_hostconfig=8000121d
> [    0.947082] usbhs_omap usbhs_omap: usbhs_runtime_suspend
>
> However, later in the boot I see a runtime_resume and never see another
> suspend.  That seems to be the root cause of CORE not hitting retention.
>
> From the boot log:
>
> [    2.018707] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> [    2.025787] ehci_hcd: block sizes: qh 64 qtd 96 itd 160 sitd 96
> [    2.026306] ehci-omap ehci-omap.0: failed to get ehci port1 regulator
> [    2.026519] usbhs_omap usbhs_omap: usbhs_runtime_resume
> [    3.030639] ehci-omap ehci-omap.0: phy reset operation timed out
> [    3.030700] ehci-omap ehci-omap.0: reset hcs_params 0x1313 dbg=0 cc=1
> pcc=3 ordered ports=3
> [    3.030731] ehci-omap ehci-omap.0: reset hcc_params 0016 thresh 1 uframes
> 256/512/1024 park
> [    3.030761] ehci-omap ehci-omap.0: reset command 0080b02  park=3
> ithresh=8 period=1024 Reset HALT
> [    3.030792] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
>
> Since the only get/puts I see are in omap_usbhs_init(), I'm not sure how
> this driver is being runtime resumed.  Presumably it's due to how the rest
> of the USB stack works, which I'm not at all familiar with.
>
> Hopefully, the above is enough to debug the problem,
>
> Thanks,
>
> Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux