From patchwork Sat Nov 7 01:24:02 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Anderson X-Patchwork-Id: 7574411 Return-Path: X-Original-To: patchwork-linux-rockchip@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 961069FCBF for ; Sat, 7 Nov 2015 01:27:02 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A39C12074E for ; Sat, 7 Nov 2015 01:27:01 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0C4192071E for ; Sat, 7 Nov 2015 01:27:00 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1ZusHT-0002t0-Mr; Sat, 07 Nov 2015 01:26:59 +0000 Received: from mail-pa0-x22e.google.com ([2607:f8b0:400e:c03::22e]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1ZusHQ-0002o5-IN for linux-rockchip@lists.infradead.org; Sat, 07 Nov 2015 01:26:58 +0000 Received: by pacdm15 with SMTP id dm15so114481456pac.3 for ; Fri, 06 Nov 2015 17:26:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=AZkk7/+4/KFyO3woz6R4o8fC9qJDkqXt/8kN2St5hOI=; b=ZpbdRL2Ql6DzucL4ia5wlI+blbtmND/MTPBEc/ze1BzHBRp8iSa1BesifAQTIMcrnD 80Gm95Spa3q++VtRyevHG6i2OMa4MkYumRsOPXMHenJe/JAg988Y/35PDlx72sI4z2kl M75rtb3XFdP2/es9NYdYP+ifxBoPGx7SRq4Wk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=AZkk7/+4/KFyO3woz6R4o8fC9qJDkqXt/8kN2St5hOI=; b=g8UiSLkGNzWMWOYArH9Ke74agxvkUxqY0FLcgAbN/q9BDrpmI2pWpkODT1w6mocgP+ mdJl1qdLd1D7f125mqXp4CZluH9zibh+vOjeKplLYITebAvJpjL2WjpjiFMTWxDRyJfG mX1DoP/pvVdU5mhnyMCDsYjc1ASvMTsV3IecyrBpo9nKVvglqBtWkRxklZhBBhq703vM o1x+V8yFWtWx/MYy/fLGmc7ZvziF8vHp65DOJZRCZ/bLUMdpJuh+XSzjSwtCKNsVI7wv dAbmyt7NDET9VdHBWlogO4o2uio0P+QKWj8OSZbt7JTSY9X5nLnbn41/iba+MI4SbAy0 XLPw== X-Gm-Message-State: ALoCoQme84k1M4m6Q2PhycmOi6ridz40kWEJl7vC3ps1PSXmt9ytlYKZcY3UYUJLH6gWdA61Rrcd X-Received: by 10.66.155.197 with SMTP id vy5mr19778629pab.109.1446859595968; Fri, 06 Nov 2015 17:26:35 -0800 (PST) Received: from tictac.mtv.corp.google.com ([172.22.65.76]) by smtp.gmail.com with ESMTPSA id y3sm2337474pbt.23.2015.11.06.17.26.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 06 Nov 2015 17:26:35 -0800 (PST) From: Douglas Anderson To: John Youn , balbi@ti.com Subject: [PATCH v2 4/4] usb: dwc2: host: Giveback URB in tasklet context Date: Fri, 6 Nov 2015 17:24:02 -0800 Message-Id: <1446859442-5413-5-git-send-email-dianders@chromium.org> X-Mailer: git-send-email 2.6.0.rc2.230.g3dd15c0 In-Reply-To: <1446859442-5413-1-git-send-email-dianders@chromium.org> References: <1446859442-5413-1-git-send-email-dianders@chromium.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20151106_172656_883709_872D5236 X-CRM114-Status: UNSURE ( 9.13 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.7 (--) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: gregory.herrero@intel.com, =?UTF-8?q?Heiko=20St=C3=BCbner?= , johnyoun@synopsys.com, gregkh@linuxfoundation.org, ming.lei@canonical.com, linux-usb@vger.kernel.org, Douglas Anderson , linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, yousaf.kaukab@intel.com, stern@rowland.harvard.edu, Yunzhi Li , Julius Werner , dinguyen@opensource.altera.com MIME-Version: 1.0 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+patchwork-linux-rockchip=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In commit 94dfd7edfd5c ("USB: HCD: support giveback of URB in tasklet context") support was added to give back the URB in tasklet context. Let's take advantage of this in dwc2. This speeds up the dwc2 interrupt handler considerably. Note that this requires the change ("usb: dwc2: host: Add a delay before releasing periodic bandwidth") to come first. Signed-off-by: Douglas Anderson Tested-by: Heiko Stuebner --- Changes in v2: - Commit message now says that URB giveback change needs delay change. drivers/usb/dwc2/hcd.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c index 33495b235b3c..b899b06b41cc 100644 --- a/drivers/usb/dwc2/hcd.c +++ b/drivers/usb/dwc2/hcd.c @@ -2266,9 +2266,7 @@ void dwc2_host_complete(struct dwc2_hsotg *hsotg, struct dwc2_qtd *qtd, kfree(qtd->urb); qtd->urb = NULL; - spin_unlock(&hsotg->lock); usb_hcd_giveback_urb(dwc2_hsotg_to_hcd(hsotg), urb, status); - spin_lock(&hsotg->lock); } /* @@ -2881,7 +2879,7 @@ static struct hc_driver dwc2_hc_driver = { .hcd_priv_size = sizeof(struct wrapper_priv_data), .irq = _dwc2_hcd_irq, - .flags = HCD_MEMORY | HCD_USB2, + .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, .start = _dwc2_hcd_start, .stop = _dwc2_hcd_stop,