Query: Link Power management support for xhci platform driver

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

 



Hi Sarah,

I have to implement dynamic U1/U2 initiation on a dwc3 based xhci
platform. I can see that my host starts sending LGO_U1 (when idle) by
enabling XHCI_LPM_SUPPORT & XHCI_INTEL_HOST quirk in xhci_plat_quirks
and using xhci_enable/disable_usb3_lpm_timeout  in
xhci_plat_xhci_driver. But offcourse that is not going to be the final
solution.

Before I float a RFC patch for it, I wanted to understand few things:

-- I see there there are three functions
xhci_calculate_intel_u1/u2_timeout & xhci_check_intel_tier_policy
specific to XHCI_INTEL_HOST in the whole path.
	Since I do not see similar specification (which have been used
in above function) in dwc3 specs, so I wanted to understand that how did
you decide in function xhci_calculate_intel_u1_timeout that SEL should
be multiplied (on top of what has been defined by USB3 specs C.1.5.1) by
3 if control ep is present or by 5 if bulk and so on.... or even how
many number of hub should be allowed to enable LPM for any device.

--Slot Context Max Exit Latency(MEL) has been programmed using MAX(U1_mel,
u2_mel). Just for my understanding, can there be any situation when
u1_mel is greater that u2_mel. If not then code can be simplified a bit.

--Do you see any scenario where params.pel could be greater than
params.sel? If not then do we really need to remember pel and do
calculation based on it in xhci_get_timeout_no_hub_lpm?

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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux