From: Felipe Balbi <balbi@kernel.org>
To: John Youn <John.Youn@synopsys.com>,
Nicholas Mc Guire <hofrat@osadl.org>,
John Youn <John.Youn@synopsys.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"linux-usb\@vger.kernel.org" <linux-usb@vger.kernel.org>,
"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] usb: dwc2: host: use msleep() for long delays
Date: Mon, 16 Jan 2017 12:37:30 +0200 [thread overview]
Message-ID: <87mvermgt1.fsf@linux.intel.com> (raw)
In-Reply-To: <8a11759b-116a-3210-0256-1b239813bc93@synopsys.com>
[-- Attachment #1: Type: text/plain, Size: 3166 bytes --]
Hi,
John Youn <John.Youn@synopsys.com> writes:
> On 1/12/2017 7:52 AM, Nicholas Mc Guire wrote:
>> ulseep_range() uses hrtimers and provides no advantage over msleep()
>> for larger delays. Fix up the 20+ ms delays here passing the adjusted "min"
>> value to msleep(). This helps reduce the load on the hrtimer subsystem.
>>
>> Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
>> ---
>>
>> Patch was compile tested with: x86_64_defconfig + CONFIG_USB_DWC2
>> (1 sparse and 6 coccinelle warning - preparing separate patches for that)
>>
>> Patch is against 4.10-rc3 (localversion-next is next-20170112)
>>
>> drivers/usb/dwc2/hcd.c | 12 ++++++------
>> 1 file changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
>> index 911c3b3..37ee72d 100644
>> --- a/drivers/usb/dwc2/hcd.c
>> +++ b/drivers/usb/dwc2/hcd.c
>> @@ -2150,7 +2150,7 @@ static int dwc2_hcd_endpoint_disable(struct dwc2_hsotg *hsotg,
>> }
>>
>> spin_unlock_irqrestore(&hsotg->lock, flags);
>> - usleep_range(20000, 40000);
>> + msleep(20);
>> spin_lock_irqsave(&hsotg->lock, flags);
>> qh = ep->hcpriv;
>> if (!qh) {
>> @@ -3240,7 +3240,7 @@ static void dwc2_conn_id_status_change(struct work_struct *work)
>> "Waiting for Peripheral Mode, Mode=%s\n",
>> dwc2_is_host_mode(hsotg) ? "Host" :
>> "Peripheral");
>> - usleep_range(20000, 40000);
>> + msleep(20);
>> if (++count > 250)
>> break;
>> }
>> @@ -3261,7 +3261,7 @@ static void dwc2_conn_id_status_change(struct work_struct *work)
>> dev_info(hsotg->dev, "Waiting for Host Mode, Mode=%s\n",
>> dwc2_is_host_mode(hsotg) ?
>> "Host" : "Peripheral");
>> - usleep_range(20000, 40000);
>> + msleep(20);
>> if (++count > 250)
>> break;
>> }
>> @@ -3354,7 +3354,7 @@ static void dwc2_port_suspend(struct dwc2_hsotg *hsotg, u16 windex)
>>
>> spin_unlock_irqrestore(&hsotg->lock, flags);
>>
>> - usleep_range(200000, 250000);
>> + msleep(200);
>> } else {
>> spin_unlock_irqrestore(&hsotg->lock, flags);
>> }
>> @@ -3378,7 +3378,7 @@ static void dwc2_port_resume(struct dwc2_hsotg *hsotg)
>> pcgctl &= ~PCGCTL_STOPPCLK;
>> dwc2_writel(pcgctl, hsotg->regs + PCGCTL);
>> spin_unlock_irqrestore(&hsotg->lock, flags);
>> - usleep_range(20000, 40000);
>> + msleep(20);
>> spin_lock_irqsave(&hsotg->lock, flags);
>> }
>>
>> @@ -3691,7 +3691,7 @@ static int dwc2_hcd_hub_control(struct dwc2_hsotg *hsotg, u16 typereq,
>> }
>>
>> /* Clear reset bit in 10ms (FS/LS) or 50ms (HS) */
>> - usleep_range(50000, 70000);
>> + msleep(50);
>> hprt0 &= ~HPRT0_RST;
>> dwc2_writel(hprt0, hsotg->regs + HPRT0);
>> hsotg->lx_state = DWC2_L0; /* Now back to On state */
>>
>
> +Felipe
>
> Acked-by: John Youn <johnyoun@synopsys.com>
>
> I've also fixed this up locally to apply against recent dwc2 patches
> for next.
>
> Hi Felipe,
>
> If/when you queue the pending dwc2 patches on testing/next I can
> resend this to you.
it actually applied just fine ;-)
--
balbi
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
prev parent reply other threads:[~2017-01-16 10:39 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-12 15:54 [PATCH] usb: dwc2: host: use msleep() for long delays Nicholas Mc Guire
2017-01-13 0:40 ` John Youn
2017-01-16 10:37 ` Felipe Balbi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mvermgt1.fsf@linux.intel.com \
--to=balbi@kernel.org \
--cc=John.Youn@synopsys.com \
--cc=gregkh@linuxfoundation.org \
--cc=hofrat@osadl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.