Message ID | f40fd3bf-97aa-b4ac-8260-6fa727909e3b@halemmerich.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RESEND,v2] usb: dwc2: disable power_down on rockchip for regression | expand |
Hi Hal, On 10/26/2018 6:38 PM, Hal Emmerich wrote: > > From 04fbf78e4e569bf872f1ffcb0a6f9b89569dc913 Mon Sep 17 00:00:00 2001 > From: Hal Emmerich <hal@halemmerich.com> > Date: Thu, 19 Jul 2018 21:48:08 -0500 > Subject: [PATCH] usb: dwc2: disable power_down on rockchip devices > > The bug would let the usb controller enter partial power down, > which was formally known as hibernate, upon boot if nothing was plugged > in to the port. Partial power down couldn't be exited properly, so any > usb devices plugged in after boot would not be usable. > > Before the name change, params.hibernation was false by default, so > _dwc2_hcd_suspend() would skip entering hibernation. With the > rename, _dwc2_hcd_suspend() was changed to use params.power_down > to decide whether or not to enter partial power down. > > Since params.power_down is non-zero by default, it needs to be set > to 0 for rockchip devices to restore functionality. > > This bug was reported in the linux-usb thread: > REGRESSION: usb: dwc2: USB device not seen after boot > > The commit that caused this regression is: > 6d23ee9caa6790aea047f9aca7f3c03cb8d96eb6 > > Signed-off-by: Hal Emmerich <hal@halemmerich.com> > Acked-by: Minas Harutyunyan <hminas@synopsys.com> > --- > drivers/usb/dwc2/params.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c > index bf7052e037d6..09292dc977e4 100644 > --- a/drivers/usb/dwc2/params.c > +++ b/drivers/usb/dwc2/params.c > @@ -81,6 +81,7 @@ static void dwc2_set_rk_params(struct dwc2_hsotg *hsotg) > p->host_perio_tx_fifo_size = 256; > p->ahbcfg = GAHBCFG_HBSTLEN_INCR16 << > GAHBCFG_HBSTLEN_SHIFT; > + p->power_down = 0; > } > > static void dwc2_set_ltq_params(struct dwc2_hsotg *hsotg) > -- > 2.11.0 > Could you please elaborate. In subject mentioned that it's "v2" patch. But looks like its fully same as v1 patch. If not, then where new version patch updates description. Thanks, Minas >
On 10/29/18 4:02 AM, Minas Harutyunyan wrote: > Hi Hal, > > On 10/26/2018 6:38 PM, Hal Emmerich wrote: >> >> From 04fbf78e4e569bf872f1ffcb0a6f9b89569dc913 Mon Sep 17 00:00:00 2001 >> From: Hal Emmerich <hal@halemmerich.com> >> Date: Thu, 19 Jul 2018 21:48:08 -0500 >> Subject: [PATCH] usb: dwc2: disable power_down on rockchip devices >> >> The bug would let the usb controller enter partial power down, >> which was formally known as hibernate, upon boot if nothing was plugged >> in to the port. Partial power down couldn't be exited properly, so any >> usb devices plugged in after boot would not be usable. >> >> Before the name change, params.hibernation was false by default, so >> _dwc2_hcd_suspend() would skip entering hibernation. With the >> rename, _dwc2_hcd_suspend() was changed to use params.power_down >> to decide whether or not to enter partial power down. >> >> Since params.power_down is non-zero by default, it needs to be set >> to 0 for rockchip devices to restore functionality. >> >> This bug was reported in the linux-usb thread: >> REGRESSION: usb: dwc2: USB device not seen after boot >> >> The commit that caused this regression is: >> 6d23ee9caa6790aea047f9aca7f3c03cb8d96eb6 >> >> Signed-off-by: Hal Emmerich <hal@halemmerich.com> >> Acked-by: Minas Harutyunyan <hminas@synopsys.com> >> --- >> drivers/usb/dwc2/params.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c >> index bf7052e037d6..09292dc977e4 100644 >> --- a/drivers/usb/dwc2/params.c >> +++ b/drivers/usb/dwc2/params.c >> @@ -81,6 +81,7 @@ static void dwc2_set_rk_params(struct dwc2_hsotg *hsotg) >> p->host_perio_tx_fifo_size = 256; >> p->ahbcfg = GAHBCFG_HBSTLEN_INCR16 << >> GAHBCFG_HBSTLEN_SHIFT; >> + p->power_down = 0; >> } >> >> static void dwc2_set_ltq_params(struct dwc2_hsotg *hsotg) >> -- >> 2.11.0 >> > > Could you please elaborate. In subject mentioned that it's "v2" patch. > But looks like its fully same as v1 patch. If not, then where new > version patch updates description. > > Thanks, > Minas > >> > Hey Minas, felipe.balbi@linux.intel.com mentioned that he was unable to apply the original patch so I remade the patch, and confirmed I could apply it cleanly to the current tree and marked it v2. He also mentioned that I should "collect" your ack, which I'm not familiar with. I added: >> Acked-by: Minas Harutyunyan <hminas@synopsys.com> which may or may not be the correct way of doing things. Let me know if I am doing that incorrectly. Sorry if I shouldn't have marked this v2. Also, just to let you know, my mailserver says that your mailserver refuses to collect my email. My servers not on any blocklists and seems to send mail elsewhere fine so I'm guessing your mailserver has mistakenly categorized me as spam on its own. Seems my mail still gets through to you from the list though, so not a big deal. Sorry if I'm not doing some part of this correctly. Thanks, Evan
Hi, On 10/26/2018 6:38 PM, Hal Emmerich wrote: > > From 04fbf78e4e569bf872f1ffcb0a6f9b89569dc913 Mon Sep 17 00:00:00 2001 > From: Hal Emmerich <hal@halemmerich.com> > Date: Thu, 19 Jul 2018 21:48:08 -0500 > Subject: [PATCH] usb: dwc2: disable power_down on rockchip devices > > The bug would let the usb controller enter partial power down, > which was formally known as hibernate, upon boot if nothing was plugged > in to the port. Partial power down couldn't be exited properly, so any > usb devices plugged in after boot would not be usable. > > Before the name change, params.hibernation was false by default, so > _dwc2_hcd_suspend() would skip entering hibernation. With the > rename, _dwc2_hcd_suspend() was changed to use params.power_down > to decide whether or not to enter partial power down. > > Since params.power_down is non-zero by default, it needs to be set > to 0 for rockchip devices to restore functionality. > > This bug was reported in the linux-usb thread: > REGRESSION: usb: dwc2: USB device not seen after boot > > The commit that caused this regression is: > 6d23ee9caa6790aea047f9aca7f3c03cb8d96eb6 > > Signed-off-by: Hal Emmerich <hal@halemmerich.com> > Acked-by: Minas Harutyunyan <hminas@synopsys.com> Acked-by: Minas Harutyunyan <hminas@synopsys.com> for v2 > --- > drivers/usb/dwc2/params.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c > index bf7052e037d6..09292dc977e4 100644 > --- a/drivers/usb/dwc2/params.c > +++ b/drivers/usb/dwc2/params.c > @@ -81,6 +81,7 @@ static void dwc2_set_rk_params(struct dwc2_hsotg *hsotg) > p->host_perio_tx_fifo_size = 256; > p->ahbcfg = GAHBCFG_HBSTLEN_INCR16 << > GAHBCFG_HBSTLEN_SHIFT; > + p->power_down = 0; > } > > static void dwc2_set_ltq_params(struct dwc2_hsotg *hsotg) > -- > 2.11.0 > >
Hal Emmerich <hal@halemmerich.com> writes: > From 04fbf78e4e569bf872f1ffcb0a6f9b89569dc913 Mon Sep 17 00:00:00 2001 > From: Hal Emmerich <hal@halemmerich.com> > Date: Thu, 19 Jul 2018 21:48:08 -0500 > Subject: [PATCH] usb: dwc2: disable power_down on rockchip devices > > The bug would let the usb controller enter partial power down, > which was formally known as hibernate, upon boot if nothing was plugged > in to the port. Partial power down couldn't be exited properly, so any > usb devices plugged in after boot would not be usable. > > Before the name change, params.hibernation was false by default, so > _dwc2_hcd_suspend() would skip entering hibernation. With the > rename, _dwc2_hcd_suspend() was changed to use params.power_down > to decide whether or not to enter partial power down. > > Since params.power_down is non-zero by default, it needs to be set > to 0 for rockchip devices to restore functionality. > > This bug was reported in the linux-usb thread: > REGRESSION: usb: dwc2: USB device not seen after boot > > The commit that caused this regression is: > 6d23ee9caa6790aea047f9aca7f3c03cb8d96eb6 What are these weird space characters you're using in your commit log? I've fixed it locally this time, but please fix your editor.
Hi, On Fri, Oct 26, 2018 at 7:38 AM Hal Emmerich <hal@halemmerich.com> wrote: > > > From 04fbf78e4e569bf872f1ffcb0a6f9b89569dc913 Mon Sep 17 00:00:00 2001 > From: Hal Emmerich <hal@halemmerich.com> > Date: Thu, 19 Jul 2018 21:48:08 -0500 > Subject: [PATCH] usb: dwc2: disable power_down on rockchip devices > > The bug would let the usb controller enter partial power down, > which was formally known as hibernate, upon boot if nothing was plugged > in to the port. Partial power down couldn't be exited properly, so any > usb devices plugged in after boot would not be usable. > > Before the name change, params.hibernation was false by default, so > _dwc2_hcd_suspend() would skip entering hibernation. With the > rename, _dwc2_hcd_suspend() was changed to use params.power_down > to decide whether or not to enter partial power down. > > Since params.power_down is non-zero by default, it needs to be set > to 0 for rockchip devices to restore functionality. > > This bug was reported in the linux-usb thread: > REGRESSION: usb: dwc2: USB device not seen after boot > > The commit that caused this regression is: > 6d23ee9caa6790aea047f9aca7f3c03cb8d96eb6 > > Signed-off-by: Hal Emmerich <hal@halemmerich.com> > Acked-by: Minas Harutyunyan <hminas@synopsys.com> > --- > drivers/usb/dwc2/params.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c > index bf7052e037d6..09292dc977e4 100644 > --- a/drivers/usb/dwc2/params.c > +++ b/drivers/usb/dwc2/params.c > @@ -81,6 +81,7 @@ static void dwc2_set_rk_params(struct dwc2_hsotg *hsotg) > p->host_perio_tx_fifo_size = 256; > p->ahbcfg = GAHBCFG_HBSTLEN_INCR16 << > GAHBCFG_HBSTLEN_SHIFT; > + p->power_down = 0; This landed as commit c216765d3a1d ("usb: dwc2: disable power_down on rockchip devices"). Can it please go to stable? Hotplug of USB on v4.19 stable, for example, is currently broken due to the lack of this patch. Thanks! -Doug
diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c index bf7052e037d6..09292dc977e4 100644 --- a/drivers/usb/dwc2/params.c +++ b/drivers/usb/dwc2/params.c @@ -81,6 +81,7 @@ static void dwc2_set_rk_params(struct dwc2_hsotg *hsotg) p->host_perio_tx_fifo_size = 256; p->ahbcfg = GAHBCFG_HBSTLEN_INCR16 << GAHBCFG_HBSTLEN_SHIFT; + p->power_down = 0; } static void dwc2_set_ltq_params(struct dwc2_hsotg *hsotg)