[PATCH v7 1/2] usb: host: xhci-plat: Get PHYs for xhci's hcds
From: Vivek Gautam <hidden>
Date: 2014-11-18 12:20:22
Also in:
linux-samsung-soc, lkml
On Mon, Nov 17, 2014 at 9:46 PM, Sergei Shtylyov [off-list ref] wrote:
Hello. On 11/17/2014 9:36 AM, Vivek Gautam wrote:quoted
quoted
quoted
The host controller by itself may sometimes need to handle PHY and re-initialize it to re-configure some of the PHY parameters to get full support out of the PHY controller. Therefore, facilitate getting the two possible PHYs, viz. USB 2.0 type (UTMI+) and USB 3.0 type (PIPE3), and initialize them.quoted
quoted
quoted
Signed-off-by: Vivek Gautam <redacted> --- drivers/usb/host/xhci-plat.c | 74 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+)quoted
quoted
quoted
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 3d78b0c..5207d5b 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c[...]quoted
quoted
quoted
@@ -204,6 +271,8 @@ static int xhci_plat_suspend(struct device *dev) struct usb_hcd *hcd = dev_get_drvdata(dev); struct xhci_hcd *xhci = hcd_to_xhci(hcd); + phy_exit(hcd->phy);quoted
quoted
Hm, in the suspend() method?quoted
phy_exit() should eventually be suspending the PHY and put it to low power state.I thought it's a role that the power_off() mothod should play, considering that the power_on() method gets called after the init() method....
phy_power_off() should be cutting the clocks and power from PHY completely, no ? In that case one may not be able to wakeup the system from USB. So phy_exit() gets the responsibility to put the PHY into low power state. Ccing Kishon also to get his opinion on actual role of the two callbacks - phy_init/exit() and phy_power_on/off().
quoted
phy_init() in resume() will then take up the task of activating the PHY again.quoted
phy_power_on() and phy_power_off() are called at xhci_probe() and remove() time.Of course.quoted
Does this makes sense ?Not much, really. WBR, Sergei
-- Best Regards Vivek Gautam Samsung R&D Institute, Bangalore India