[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SN1PR0301MB158367EE283A8734AA239A4DE0620@SN1PR0301MB1583.namprd03.prod.outlook.com>
Date: Mon, 24 Aug 2015 06:17:11 +0000
From: Ramneek Mehresh <ramneek.mehresh@...escale.com>
To: Alan Stern <stern@...land.harvard.edu>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"balbi@...com" <balbi@...com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
Li Leo <LeoLi@...escale.com>
Subject: RE: [PATCH 3/8][v3]usb:fsl:otg: Add support to add/remove usb host
driver
> -----Original Message-----
> From: Alan Stern [mailto:stern@...land.harvard.edu]
> Sent: Thursday, August 20, 2015 7:40 PM
> To: Mehresh Ramneek-B31383 <ramneek.mehresh@...escale.com>
> Cc: linux-kernel@...r.kernel.org; balbi@...com;
> gregkh@...uxfoundation.org; linux-usb@...r.kernel.org; Li Yang-Leo-R58472
> <LeoLi@...escale.com>
> Subject: RE: [PATCH 3/8][v3]usb:fsl:otg: Add support to add/remove usb
> host driver
>
> On Thu, 20 Aug 2015, Ramneek Mehresh wrote:
>
> > > > --- a/drivers/usb/host/ehci-fsl.h
> > > > +++ b/drivers/usb/host/ehci-fsl.h
> > > > @@ -63,4 +63,22 @@
> > > > #define UTMI_PHY_EN (1<<9)
> > > > #define ULPI_PHY_CLK_SEL (1<<10)
> > > > #define PHY_CLK_VALID (1<<17)
> > > > +
> > > > +struct ehci_fsl {
> > > > +#ifdef CONFIG_PM
> > > > + /* Saved USB PHY settings, need to restore after deep sleep. */
> > > > + u32 usb_ctrl;
> > > > +#endif
> > >
> > > Do you need this #ifdef?
> > >
> > Yes, this is required for deep-sleep support...we need to save/restore
> controller
> > registers during deep-sleep when usb controller power is shut-off. Don't
> need this
> > during normal usb operation...saving/restoring usb controller registers in
> non deep-sleep
> > scenario will add unnecessary delays
>
> What I meant was, can you keep the "u32 usb_ctrl;" line but get rid of
> the "#ifdef CONFIG_PM" and "#endif" lines?
>
> Alan Stern
I do understand that. However, USB suspend/resume functionality work in context of
PM. Only in this context, we need to save/restore usb controller register
for deep-sleep functionality. If you see usage of this in ehci-fsl.c file, it's used in
ehci_fsl_drv_suspend() under CONFIG_PM to save USB CNTL register.
If I remove CONFIG_PM from struct ehci_fsl{}, I'll need to change the entire driver
also to make suspend and resume functionalities compile by default.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists