Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2667061imj; Mon, 11 Feb 2019 06:44:14 -0800 (PST) X-Google-Smtp-Source: AHgI3IY7VA+KZwMQcCSdUtjPJ66Ft+aD1EVhF4WNBVUoF9aw4ohgT59jNupNXyoArWrE9flkV8Ib X-Received: by 2002:a63:f444:: with SMTP id p4mr18693972pgk.124.1549896253915; Mon, 11 Feb 2019 06:44:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549896253; cv=none; d=google.com; s=arc-20160816; b=asOFZkJPoO0X49wzmTMvdVB3yfdj1AQOeHNm7M3sJ/dfQXDaeKBp3G3GRwxSysF8yr JtsEdY60PMIUBjH1A1nKv72i83OcEF62mEr3H7Xjm1PcqXqzQK7pi53RoS5CUrZVPnl1 lfAesISjeb+6rwuhh5MGkBolyzq2eawppaINiAC68t0qaOjVw1CVKwJT5XyLNxTCCvOi IJF0myZxJSjAyp4tYQQXUCtkS1CD8nZW+0K7fOOR9ecFRmKScRljMCHHzVP70Wvcdag+ IyYZa0WQjaMB2huEiq+b1SNObj9gsJOGxOG852PAvUiphspw7MI7BEUnsttkypdh00rj f0PQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=I8/IyEasOtQv8dofijxWKyb4Fby500dwaHcxCS4JtfA=; b=sPWGQTxvprD2mR9t3wflfdYXfseve779T1XInB55n5IeHyBj6vJFSTrOC+7ls7wNJ+ YyF0xUmGnxj10Rs/VBa06MK1Od9ujIOnc+LWvWLuDLI9Y8Mu/Zyl2cSGC/lk8gV204yz 6OXd2oBxDQBrmGoKRf+KNwelrJZQ8WomRAMMyztyu5dSB1zHQnlVU+KB18uQt6ie2c41 eNi128UluMT/LewxW0BHzhb6/GFjLGXFBjwdVAHRAKvYeAkSaHR1gisutK52qN1SxP10 G3hVX6ZAi/Y4OXo/zLpy2HR1Bs+8MoJM18RH9JkWbbGDKh/CaSmF/ylnttjMhA6K6kEe KKAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=vuEerXig; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k16si4440061pls.124.2019.02.11.06.43.58; Mon, 11 Feb 2019 06:44:13 -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=@kernel.org header.s=default header.b=vuEerXig; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732157AbfBKOnE (ORCPT + 99 others); Mon, 11 Feb 2019 09:43:04 -0500 Received: from mail.kernel.org ([198.145.29.99]:55074 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731778AbfBKOm7 (ORCPT ); Mon, 11 Feb 2019 09:42:59 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id E8751214DA; Mon, 11 Feb 2019 14:42:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1549896178; bh=vaCLzIljJVBCizjNz2G+43NNIXLk6h5n265a36nipl4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vuEerXigVULZb1KRnIX1pAm0CmKXsaxk64+nEWvqu18BiN9a1+7ibE7n9fwy7ED1o PlIwnEuz67ucYq5ag8LKz66QfF7UKUychj9mEv5gjmO+Yk9TfUzbKuWRhVkkVMziMy 8GMQyg26wKesKkKwW/YVvTH9qZP+TThc60HG8wdI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Chunfeng Yun , Felipe Balbi , Sasha Levin Subject: [PATCH 4.19 099/313] usb: mtu3: fix the issue about SetFeature(U1/U2_Enable) Date: Mon, 11 Feb 2019 15:16:19 +0100 Message-Id: <20190211141900.478446561@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190211141852.749630980@linuxfoundation.org> References: <20190211141852.749630980@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit a0678e2eed41e81004308693ac84ea95614b0920 ] Fix the issue: device doesn't accept LGO_U1/U2: 1. set SW_U1/U2_ACCEPT_ENABLE to eanble controller to accept LGO_U1/U2 by default; 2. enable/disable controller to initiate requests for transition into U1/U2 by SW_U1/U2_REQUEST_ENABLE instead of SW_U1/U2_ACCEPT_ENABLE; Signed-off-by: Chunfeng Yun Signed-off-by: Felipe Balbi Signed-off-by: Sasha Levin --- drivers/usb/mtu3/mtu3_core.c | 4 +++- drivers/usb/mtu3/mtu3_gadget_ep0.c | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/usb/mtu3/mtu3_core.c b/drivers/usb/mtu3/mtu3_core.c index d045d8458f81..48d10a61e271 100644 --- a/drivers/usb/mtu3/mtu3_core.c +++ b/drivers/usb/mtu3/mtu3_core.c @@ -578,8 +578,10 @@ static void mtu3_regs_init(struct mtu3 *mtu) if (mtu->is_u3_ip) { /* disable LGO_U1/U2 by default */ mtu3_clrbits(mbase, U3D_LINK_POWER_CONTROL, - SW_U1_ACCEPT_ENABLE | SW_U2_ACCEPT_ENABLE | SW_U1_REQUEST_ENABLE | SW_U2_REQUEST_ENABLE); + /* enable accept LGO_U1/U2 link command from host */ + mtu3_setbits(mbase, U3D_LINK_POWER_CONTROL, + SW_U1_ACCEPT_ENABLE | SW_U2_ACCEPT_ENABLE); /* device responses to u3_exit from host automatically */ mtu3_clrbits(mbase, U3D_LTSSM_CTRL, SOFT_U3_EXIT_EN); /* automatically build U2 link when U3 detect fail */ diff --git a/drivers/usb/mtu3/mtu3_gadget_ep0.c b/drivers/usb/mtu3/mtu3_gadget_ep0.c index 25216e79cd6e..3c464d8ae023 100644 --- a/drivers/usb/mtu3/mtu3_gadget_ep0.c +++ b/drivers/usb/mtu3/mtu3_gadget_ep0.c @@ -336,9 +336,9 @@ static int ep0_handle_feature_dev(struct mtu3 *mtu, lpc = mtu3_readl(mbase, U3D_LINK_POWER_CONTROL); if (set) - lpc |= SW_U1_ACCEPT_ENABLE; + lpc |= SW_U1_REQUEST_ENABLE; else - lpc &= ~SW_U1_ACCEPT_ENABLE; + lpc &= ~SW_U1_REQUEST_ENABLE; mtu3_writel(mbase, U3D_LINK_POWER_CONTROL, lpc); mtu->u1_enable = !!set; @@ -351,9 +351,9 @@ static int ep0_handle_feature_dev(struct mtu3 *mtu, lpc = mtu3_readl(mbase, U3D_LINK_POWER_CONTROL); if (set) - lpc |= SW_U2_ACCEPT_ENABLE; + lpc |= SW_U2_REQUEST_ENABLE; else - lpc &= ~SW_U2_ACCEPT_ENABLE; + lpc &= ~SW_U2_REQUEST_ENABLE; mtu3_writel(mbase, U3D_LINK_POWER_CONTROL, lpc); mtu->u2_enable = !!set; -- 2.19.1