From patchwork Wed Dec 5 15:14:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roger Quadros X-Patchwork-Id: 152916 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp9410222ljp; Wed, 5 Dec 2018 07:14:53 -0800 (PST) X-Google-Smtp-Source: AFSGD/Vwi5Zvi6Z/MiCLHBXDrACf2Rvnd5OnSQXGCRsWHcw9g66zXHTwqu5QZeOuaXWuDiHGo0TS X-Received: by 2002:a17:902:ac1:: with SMTP id 59mr4685196plp.36.1544022893226; Wed, 05 Dec 2018 07:14:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544022893; cv=none; d=google.com; s=arc-20160816; b=Xq1zwvxkjvEgup1ikSdJLQTRndmCdPiwAWJIii58JlavaBg/kMXwqfKQZF48zXQJwI BJiq5O+eTinSHGA7GqNKtvFz5x9RWqtxhP7buIl4PuTNQOzv53YAUURe0kZTQoDaXTtA C8J+jR+nf/3atiHftpepKED0nN0KpX4g0OcKE00U4AJBpFuNx07Vq1zN3aVYZyyf2UzT 2GL9f4WWCTJTMshIIzDp7adoLYBRyHuhuBFE9t9vMVlJ0vx9c4uoZO9eMfcm2efxJNlR qDScO4l6IjQNj2Ap9SgH84bO/s4w3V+12Sf6d2X/2NODOYvBZ/2cpGaZDLe2YgoHsdQ/ wTMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=cFF0LK1rea/6jyLZlnj/kTttiYi9qVhIlwykaHOy0AU=; b=LXxsoFh58reeIOzJHlPdRNBSKhFbhv5QvoFjImKb12rqd3sOwJg4kHo+fjYk7ZpAaS t6nifZokS0THWO1+fImBPgZpl4aeEBFxWlstNIyWuiO5UICH13lDkjk6kfboKxaj/XWO 2DnivYYBL6mVgKT6zng38aLBTFoXqLvmjinmYlPFehgz2cyWQ2GQgiBp7V+5CCAHMeha eb7xTNI4wIPifEo6Q+nrW6cp4N1j0mDSdEOLCfAGyngA/s87eM6eTDUY40t/gIQzxtkI 4eqXM47TmKqStQM+oztfQMFPgrXr7tBuGIj8WjFTFiBVAyNzwEoU5PSIZNRNuvJGHIFu Fz0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=eY7amvYA; spf=pass (google.com: best guess record for domain of linux-usb-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-usb-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b3si18047684pgc.587.2018.12.05.07.14.53; Wed, 05 Dec 2018 07:14:53 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-usb-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=eY7amvYA; spf=pass (google.com: best guess record for domain of linux-usb-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-usb-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728049AbeLEPOv (ORCPT + 5 others); Wed, 5 Dec 2018 10:14:51 -0500 Received: from lelv0142.ext.ti.com ([198.47.23.249]:50220 "EHLO lelv0142.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727103AbeLEPOu (ORCPT ); Wed, 5 Dec 2018 10:14:50 -0500 Received: from fllv0035.itg.ti.com ([10.64.41.0]) by lelv0142.ext.ti.com (8.15.2/8.15.2) with ESMTP id wB5FEkw5085353; Wed, 5 Dec 2018 09:14:46 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1544022886; bh=cFF0LK1rea/6jyLZlnj/kTttiYi9qVhIlwykaHOy0AU=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=eY7amvYAShGTyAT1vUTGwZjheBY4+Je1SykH7zYfVbFGro7WsZFuSw7lQ1a77ZCbR Y/x/eEK5o3zj3zjq+YCNf5e/FEbvRvboj1ELBZtI6fIKnB9Zp7ji+Bh6tkUojfgOUq CoRBQFaqOXCefq5pk6z3qGkGtsdbR6tqcKi9p1DY= Received: from DLEE108.ent.ti.com (dlee108.ent.ti.com [157.170.170.38]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id wB5FEkPG068936 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 5 Dec 2018 09:14:46 -0600 Received: from DLEE113.ent.ti.com (157.170.170.24) by DLEE108.ent.ti.com (157.170.170.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1591.10; Wed, 5 Dec 2018 09:14:46 -0600 Received: from dlep32.itg.ti.com (157.170.170.100) by DLEE113.ent.ti.com (157.170.170.24) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1591.10 via Frontend Transport; Wed, 5 Dec 2018 09:14:45 -0600 Received: from dlelxv97.itg.ti.com (dlelxv97.itg.ti.com [172.17.2.193]) by dlep32.itg.ti.com (8.14.3/8.13.8) with ESMTP id wB5FEjvE005490; Wed, 5 Dec 2018 09:14:45 -0600 Received: from localhost.localdomain (vboxa0400828d.dhcp.ti.com [172.22.237.247]) by dlelxv97.itg.ti.com (8.14.3/8.13.8) with ESMTP id wB5FEeUg025212; Wed, 5 Dec 2018 09:14:43 -0600 From: Roger Quadros To: CC: , , , , , , , , , Subject: [PATCH 1/3] usb: dwc3: gadget: Fix OTG events when gadget driver isn't loaded Date: Wed, 5 Dec 2018 17:14:37 +0200 Message-ID: <1544022879-5704-2-git-send-email-rogerq@ti.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1544022879-5704-1-git-send-email-rogerq@ti.com> References: <1544022879-5704-1-git-send-email-rogerq@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org On v3.10a in dual-role mode, if port is in device mode and gadget driver isn't loaded, the OTG event interrupts don't come through. It seems that if the core is configured to be OTG2.0 only, then we can't leave the DCFG.DEVSPD at Super-speed (default) if we expect OTG to work properly. It must be set to High-speed. Fix this issue by configuring DCFG.DEVSPD to the supported maximum speed at gadget init. Device tree still needs to provide correct supported maximum speed for this to work. This issue wasn't present on v2.40a but is seen on v3.10a. It doesn't cause any side effects on v2.40a. Signed-off-by: Roger Quadros Signed-off-by: Sekhar Nori --- drivers/usb/dwc3/gadget.c | 2 ++ 1 file changed, 2 insertions(+) -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 679c12e..79120c0 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -3240,6 +3240,8 @@ int dwc3_gadget_init(struct dwc3 *dwc) goto err4; } + dwc3_gadget_set_speed(&dwc->gadget, dwc->maximum_speed); + return 0; err4: