From mboxrd@z Thu Jan 1 00:00:00 1970 From: xiechao.mail@gmail.com (Chao Xie) Date: Fri, 14 Jun 2013 09:31:49 +0800 Subject: [PATCh V10 04/12] usb: ehci: ehci-mv: use PHY driver for ehci In-Reply-To: References: Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Jun 13, 2013 at 11:08 PM, Alan Stern wrote: > On Thu, 13 Jun 2013, Chao Xie wrote: > >> >> These operations sound generic enough to be done at HCD layer, no? So no need to >> >> replicate the same stuff in ohci, ehci, xhci, etc. >> > >> > The HCD layer handles suspend and resume only for PCI host controllers. >> > Not for other types. >> > >> > I don't know if the acquire/start and stop/release parts can be moved >> > into the USB core. Maybe they can. >> > >> > Alan Stern >> > >> hi >> The following is my understanding. >> I think for PHY initialization and shutdown part, it is generic for >> other parts. >> PHY initialization need to be called before hc_driver->reset is called. >> I think it can be added at usb_add_hcd. >> For PHY shutdown, it can be added at usb_remove_hcd. > > Yes, that should work. > Fine, i can add a patch for that. My usb phy patches are pending on it. >> For suspend/resume, i do not know how to add it. For our EHCI driver, >> when system goes to deep idle states, we just directly shutdown the >> hcd and initialize it again when the system goes back. > > You shut down the host controller? Then how does it detect wakeup > events? And how does it know if a device was disconnected while the > power was off? > Hi I think maybe my suspend/resume is not same as what you think. The suspend/resume i mean is the peripharal sub system suspend/resume states. When SOC enter this low power mode, the clock to usb, power to usb are all shut down. When the controller is shut down, i think that usb_remove_hcd will help to remove all the attached devices. We do not rely on usb host controller to wake up the whole sub system. If a device is disconnected while the power was off, when the host controller is powered again, it will do initialization again, and all the attached devices are susposed be removed already. > Alan Stern >