From patchwork Wed Dec 5 15:19:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roger Quadros X-Patchwork-Id: 152920 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp9415791ljp; Wed, 5 Dec 2018 07:19:46 -0800 (PST) X-Google-Smtp-Source: AFSGD/VCpZTCOdRUVWklrWFyWFcIqFSoHU3R0zezrEvgBRTyrlkBV1MH50L8EygXY1nfm/M9t2N0 X-Received: by 2002:a62:f54f:: with SMTP id n76mr24800469pfh.59.1544023186705; Wed, 05 Dec 2018 07:19:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544023186; cv=none; d=google.com; s=arc-20160816; b=Xpydv79acQ9hf0pusuMzIS7OcfTsOejVkRW7dTgxL6ZIagz42ceLs4Kn3MoAW4DfOc 7IshAkYuEVb9PQ5YvhHC1Eo2xEGCFnGe5Losb27cF8kUt5jxpjil0Ei+V43flXMYgr5Q NANwcsE3osYWnXCyoj6r6F2dt0uqk7Xgehe8L1EV0wR8GPzLePoEIbHOcUOfR54P768W aFO9JsubA5aBe/wLPXkNgJbbEm2tKZSCa5b+YxDDuFVVacB3TvgsgAANu7Yg/vbimoWY 1gs5ZqhcjVX6AMdznoFpmlVidnlDyUkwzlzam304IKeeSii0+oIhimOOybZVru5GMdA8 tFlQ== 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=emNHU+JPgSnldkz72DF3HxjV8iPu7fchkkfQOVoRIlRGot75Q5/rEB7ib6x3Fl8ebM v7oDoWbjgxuDk2fJbbKk7EIotR+8wofqOiCpLcmJcjb85PvAEmFkXyvkpK/PKNUvIxwl zZ2AT9wsSvft0SBf5yHxG/ZEL2r5/XhKZ+ad5P+csysgQc7Oe+EQw+U50CGs36V/M8Lt VZqHKaPORwa07t/u2257BE3vg7fc6kJe0pWl83sDAuCsQbHuM/8iSB1dSJ++qWe4ZKjh 6Phs8Mv/nVkNG+2KvGV+FvUkaeo+eLNRDmVY73KR0tsLhSJaj70vtRwKjDDAdwx0xvni T9+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b="n/K3mbc+"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-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 l33si20556858pld.142.2018.12.05.07.19.46; Wed, 05 Dec 2018 07:19:46 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-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="n/K3mbc+"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-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 S1728079AbeLEPTo (ORCPT + 31 others); Wed, 5 Dec 2018 10:19:44 -0500 Received: from lelv0142.ext.ti.com ([198.47.23.249]:51076 "EHLO lelv0142.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727094AbeLEPTo (ORCPT ); Wed, 5 Dec 2018 10:19:44 -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 wB5FJfSs086772; Wed, 5 Dec 2018 09:19:41 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1544023181; bh=cFF0LK1rea/6jyLZlnj/kTttiYi9qVhIlwykaHOy0AU=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=n/K3mbc++XpGOyomx+keolYvOXdau2nbIO4ymcfJLhVqqtA98S/ylla7yE3Yrc0AY olfp5gdLPRalfRIZHz//hdjAhZgl7AAbt6Ttez4hde0InqAR987+IDjl/VPrlGAxVL LvZYCj5jf6Tj9MTd3WNfqlgITkF8cCBYCkdg7f0U= Received: from DFLE112.ent.ti.com (dfle112.ent.ti.com [10.64.6.33]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id wB5FJf8T074136 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 5 Dec 2018 09:19:41 -0600 Received: from DFLE101.ent.ti.com (10.64.6.22) by DFLE112.ent.ti.com (10.64.6.33) 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:19:38 -0600 Received: from dflp32.itg.ti.com (10.64.6.15) by DFLE101.ent.ti.com (10.64.6.22) 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:19:38 -0600 Received: from dlelxv97.itg.ti.com (dlelxv97.itg.ti.com [172.17.2.193]) by dflp32.itg.ti.com (8.14.3/8.13.8) with ESMTP id wB5FJc7L001456; Wed, 5 Dec 2018 09:19:38 -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 wB5FJWna025493; Wed, 5 Dec 2018 09:19:35 -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:19:29 +0200 Message-ID: <1544023171-5796-2-git-send-email-rogerq@ti.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1544023171-5796-1-git-send-email-rogerq@ti.com> References: <1544023171-5796-1-git-send-email-rogerq@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@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: