Hi, Baolin Wang <baolin.wang@xxxxxxxxxx> writes: >>> diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h >>> index 6254b2f..dada5c6 100644 >>> --- a/drivers/usb/dwc3/core.h >>> +++ b/drivers/usb/dwc3/core.h >>> @@ -734,6 +734,9 @@ struct dwc3_scratchpad_array { >>> * 1 - -3.5dB de-emphasis >>> * 2 - No de-emphasis >>> * 3 - Reserved >>> + * @can_save_power: set if the gadget will power off when no cable plug in. >> >> nope >> >>> + * @need_restart: set if we need to restart the gadget. >> >> why does it need restart? Why is dwc3 powered off? Who powers it off? > > Because when the dwc3 Vbus is off (no cable pluging in now), > especially for some mobile device, the system need to power off the > dwc3 to save power in this situation. but dwc3 doesn't do this by itself, so who's doing it? >> This looks like a *really* bad power management implementation. Do you >> have hibernation enabled? Do you have Clock gating enabled? Which dwc3 >> version are you using? How was it configured? > > This is not hibernation, we want to power off the dwc3 to save power > when no cable plugging in. Yes, we have clock gating, at this > situation we will disable the clock and shutdown the phy to save > power. For mobile device, most time no cable plugging in, so we need > to think about the power consuming. How do you think this requirement? Well, seems like you're missing *proper* runtime PM. I've been meaning to work on it for weeks, but I still have a few other things to do before I get to that. In any case, we don't need to do what you did here. There are better ways. >> Anyway, which platform are you dealing with? Why is dwc3 off while VBUS >> is off? How do you handle host mode? > > On Spreadtrum platform, for thinking about some mobile devices with I meant the SoC ;-) It's their own SoC? Are we getting glue-layer patches any time soon? > strict power management. This is just for gadget mode, we don't power > off the dwc3 when it is host mode. Thanks. okay, thanks -- balbi
Attachment:
signature.asc
Description: PGP signature