Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1411029pxk; Thu, 10 Sep 2020 14:50:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwsJn5PvVGVcgo9Z7oQ9ktssN3+Df2yuTzG4WdBulDUhSRh3LUxHRDxo5i1t36zhhcavJIG X-Received: by 2002:a05:6402:1012:: with SMTP id c18mr11421411edu.77.1599774627434; Thu, 10 Sep 2020 14:50:27 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1599774627; cv=pass; d=google.com; s=arc-20160816; b=v6RwwHJdAcKmslkcD5i4d6a8uA1NHtP2XfB1TUcMpzdO649FGGfh2fRlnJrUJ4SA1i cyXtfU9xg03xEn76PB9jVeFkp2oWIJnJ1wZTt7JaspPTV1m6CKo+GM10FtFU8JRmaaZE ro02ceUvsOar8JFGI5ACgakcoeSAeBbrY5kTtc8mcYKHMR9N942tDDT4JrrGnRLPq9/w mToGhVXZ8E6UtaeUsnHv8DF4s3ksjNM6iYmMV3pW6uFCAsycuRS6vii11txcXK6se5tl TF6bQejThNrFYLtAZKX0SUqk9oPeWKSwmHbyou8eT8HcltmdFM2/eSNAr2EiB/5UPndY jHaQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=HJZ3Srsu94pbCuY9WWrkaLbtXPLvw4G/ciPj90FSSs4=; b=VvQpefcPP8MBavxszQE9jDB4DGI+zruGdJfPQmtu++TAR6oGHP9bayR2/9UKWIdEXe j8UBHFJmS4XxKiD/A3UI3Pjf1BdQoSSjL3ro5VobmX+q0AuicOcBJpzY2b1UfBevcpZv 5vBV9qKKqXGh2VX5nmW66UN6oPobH6x9mS5y8I9KL4SO/U8zqRZ6D4l1pbD0za0r3HXT 2FRoHg0b2cJBXSE4DQjo0u0+V0G1w/469RiCWq0TSy04YwypCf/lKY2qNzmeDLTVCNLp +C2ED1dijwqaioDUHJ+boLDBCf0YlMTRMeaBEDp5EAuMBYIZ++JW+xCHiCBq8ls8eH3h 1NNA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@renesasgroup.onmicrosoft.com header.s=selector2-renesasgroup-onmicrosoft-com header.b=fuWtlize; arc=pass (i=1 spf=pass spfdomain=renesas.com dkim=pass dkdomain=renesas.com dmarc=pass fromdomain=renesas.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l15si4336586edr.581.2020.09.10.14.50.04; Thu, 10 Sep 2020 14:50:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@renesasgroup.onmicrosoft.com header.s=selector2-renesasgroup-onmicrosoft-com header.b=fuWtlize; arc=pass (i=1 spf=pass spfdomain=renesas.com dkim=pass dkdomain=renesas.com dmarc=pass fromdomain=renesas.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728722AbgIJVn7 (ORCPT + 99 others); Thu, 10 Sep 2020 17:43:59 -0400 Received: from mail-eopbgr1410111.outbound.protection.outlook.com ([40.107.141.111]:28108 "EHLO JPN01-OS2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730882AbgIJM42 (ORCPT ); Thu, 10 Sep 2020 08:56:28 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NiJzO79xoMcP2uhSfDzleit9hMHLcrmEbj/2kZhpR92Ou+blL5mV/1RjmQ6HFloZ0XNr4xP5EhFIjseE5VhyXZockdNHk5+061nvXK0rUeb1dUtH4TxOvs3sFC6a/gCDjTMfhPAm1K6SuDi7exorHbVia7K04hEtma/Bg/69JLuVC/kPAfCAT5uPHJoHGZ08SH1m47Uwls9oRmhQV0dtszw5Py/mSUU2Vq1N+cSNp+wJMnIRnt5eyutjpJClmQ06abiNSEeUtccqJk9PJVvjaKNX1hTVAq2v0+X8uTtvN9FiR2VSWm16U/0p98uuZFUD7Vj1KkNhDIePKV+4vA4AFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HJZ3Srsu94pbCuY9WWrkaLbtXPLvw4G/ciPj90FSSs4=; b=TGpe9Hg63WsujvUbgXnT52ucW4ORrmkdZKdPSSODNSJmgxjbMVT0xccQuOU4KoRubTn6K5SzOnnz2lj2aZiThCRFq+yjxsouXcKkbF4xltrgK5nOrQFuxGNWISYTk8u9oFyH6+G2pErx+Oxr7o7KeBd3S+MgJvtzAMVHohyqgdFZKCX5jpd2xKZvHIh2Y6vnZ8aVTIR1oVWBJ3tE1Nw14JVM/UdvWRwnGXTMmvNJ/dLLQSyqBBBebXNJ5c1BchtppoSlpMMATuU9pK2UCUw9w559id5tbW2nE+1mH3P0BUKObUZY/fv0+Ao8NfTEIF/Y22F0D0BCqkUq3Yf+/CvtDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector2-renesasgroup-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HJZ3Srsu94pbCuY9WWrkaLbtXPLvw4G/ciPj90FSSs4=; b=fuWtlizePv+qhE2bDzOlg9WgEKYOwJlWA+Xg/arRVRWv00SwDtZTRLRPurUib066dx30kbO1L4I4BsdbLEO//pDWirTs3tN3lo/LVSq9VQ3VMpIT6ARKs8uHjmBXfEhqqzKssL/nuMufgX8LrpeeLVqeD02lzrF/cxRHLahnxwM= Received: from TY2PR01MB3692.jpnprd01.prod.outlook.com (2603:1096:404:d5::22) by TYAPR01MB1902.jpnprd01.prod.outlook.com (2603:1096:404:7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3348.17; Thu, 10 Sep 2020 12:56:24 +0000 Received: from TY2PR01MB3692.jpnprd01.prod.outlook.com ([fe80::9055:525d:2d64:b625]) by TY2PR01MB3692.jpnprd01.prod.outlook.com ([fe80::9055:525d:2d64:b625%5]) with mapi id 15.20.3348.019; Thu, 10 Sep 2020 12:56:24 +0000 From: Yoshihiro Shimoda To: Chunfeng Yun , Greg Kroah-Hartman CC: Mathias Nyman , Felipe Balbi , Matthias Brugger , Douglas Anderson , Daniel Thompson , "Eric W. Biederman" , Lee Jones , Sumit Garg , Jann Horn , Arnd Bergmann , Jason Yan , Chuhong Yuan , "Gustavo A. R. Silva" , Ben Dooks , Saurav Girepunje , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-mediatek@lists.infradead.org" , Mathias Nyman Subject: RE: [PATCH RESEND v3 04/11] usb: xhci-rcar: convert to readl_poll_timeout_atomic() Thread-Topic: [PATCH RESEND v3 04/11] usb: xhci-rcar: convert to readl_poll_timeout_atomic() Thread-Index: AQHWh0vD+aj1y+DFoU+XUmXRM8L6jalh0rag Date: Thu, 10 Sep 2020 12:56:23 +0000 Message-ID: References: <1599726112-4439-1-git-send-email-chunfeng.yun@mediatek.com> <1599726112-4439-4-git-send-email-chunfeng.yun@mediatek.com> In-Reply-To: <1599726112-4439-4-git-send-email-chunfeng.yun@mediatek.com> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mediatek.com; dkim=none (message not signed) header.d=none;mediatek.com; dmarc=none action=none header.from=renesas.com; x-originating-ip: [240f:60:5f3e:1:29e4:1562:227f:bbc3] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 97121736-22b4-4c6b-4841-08d85588ec56 x-ms-traffictypediagnostic: TYAPR01MB1902: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nomcnc0c2r0sVRlCOQpQW5zIl5NNFwfxCQotKKfzLk0fbyitIj3Vy3To5zQ6eo522QuV8ewWbyXkBMPuw1tfNmsfJweYoFAdvinE0NDtrBVQmRg95JONbZrWGvhqEf/6P/MOVs5Jn2tAHh7YjcB4WWDLvpi4sB5FpkkBQKicJQI7VCoG6HhMu1rM4j9H4XBrU1Yx8KR17Xu+BEqRYv8r3o3+Fj8o4tYfI6CYt6Umy2OFjmJxXWKwa/Iu5UI+qM6+tItaNVT1f38csDMAhvs5XnIq8crCexR8ItAgzwiBKbrStSEkhKjFabu78XYyvSIlyHVO5U5D7Zlu5BXLm9YDTRZ2ml6XfjPS3Pt+KNH027EyOui8zwNZ65G3Z/D3yvPV x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY2PR01MB3692.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66446008)(5660300002)(83380400001)(33656002)(66946007)(66476007)(64756008)(7696005)(76116006)(55016002)(52536014)(2906002)(66556008)(9686003)(186003)(110136005)(498600001)(8676002)(86362001)(8936002)(4326008)(54906003)(6506007)(7416002)(71200400001)(309714004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: WldI93QEqaTIN2pBENPyuG2f6YBAgADnTkydEYMosGh67anr2x1r60aNnQk55ncKs+ZA74HJyt2m9hmuVlOs9tvxQIoM5O9uQKe9ETDaYE/IpkFX+PnOyRIr1iFuFj83YeXcfLcsb+rfO+oA/n94gNRgU4czow3F6Gx4CQsaajgTXWPSUFYxj4yNhOIL8maH0YjkR32ZtDo8ZcD9N36JaI+5Bk7Bp3+Zgm438Vx5nHk0YtbFDrFvhyl9Og/ZLZgLvoADkBflgYTik+S7bjP32F7meHFi+o6r9WzI5edTDcMfO1RbXgqqqdsxlI/1xbhZm1ha+ieAUiN/r15UFmtRw1rpKxtuTYVv5mFsxpxLo9hFYw1A/Ws+Sz3egQVOxLrL34dkkkk/0H/AYfRdn+423s/T0j1MO9i4u5MJu9DnlhIoUzJ/mpGFOQ+I8Wx0tbwOgnqiyBQQo6mIhYtAR6BvVZYX4OW9yv6xalfTe+5Y45yq8wG0xOo0GedcgNTgUJBjDKRefTLPKDYmbIgiWtC3KKJUxKG+9tEr+Pf6SgLP+62x07oTx++5zwHX0qL0C2B6IX6756csCXYofojSo7wTL2rgNOOrbKMv8W9fkrLCUyhXFiN2ZH2Jru5X7SiCmiyQMg+R5eCuatKMmb1uVr5lVEI/nc/ASs4TcZDbXnooEp/EzkiYhLV7kUcbhD09dLeZnpVoAkS7DtiJXkLyD8U+NQ== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY2PR01MB3692.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 97121736-22b4-4c6b-4841-08d85588ec56 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Sep 2020 12:56:23.9837 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 3DkmQ8FZzvna8lDokA2U5YlBawPGnov6Y2DitNPz+NOVFB6B0H1UQNl6c+yOjNyKMpoXTPzhBlpvlhqQ0DTIJKnFIj6O3IfKynhTg9ScXJP6KQx1LCFMiJ8IO1QsqMJK X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB1902 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Chunfeng, Thank you for the patch! > From: Chunfeng Yun, Sent: Thursday, September 10, 2020 5:22 PM >=20 > Use readl_poll_timeout_atomic() to simplify code >=20 > Cc: Mathias Nyman > Cc: Yoshihiro Shimoda > Signed-off-by: Chunfeng Yun > --- > v2~v3: no changes > --- > drivers/usb/host/xhci-rcar.c | 43 ++++++++++++--------------------------= ----- > 1 file changed, 12 insertions(+), 31 deletions(-) >=20 > diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c > index c1025d3..74f836f 100644 > --- a/drivers/usb/host/xhci-rcar.c > +++ b/drivers/usb/host/xhci-rcar.c > @@ -6,6 +6,7 @@ > */ >=20 > #include > +#include > #include > #include > #include > @@ -127,8 +128,7 @@ static int xhci_rcar_download_firmware(struct usb_hcd= *hcd) > void __iomem *regs =3D hcd->regs; > struct xhci_plat_priv *priv =3D hcd_to_xhci_priv(hcd); > const struct firmware *fw; > - int retval, index, j, time; > - int timeout =3D 10000; > + int retval, index, j; > u32 data, val, temp; > u32 quirks =3D 0; > const struct soc_device_attribute *attr; > @@ -166,32 +166,19 @@ static int xhci_rcar_download_firmware(struct usb_h= cd *hcd) > temp |=3D RCAR_USB3_DL_CTRL_FW_SET_DATA0; > writel(temp, regs + RCAR_USB3_DL_CTRL); >=20 > - for (time =3D 0; time < timeout; time++) { > - val =3D readl(regs + RCAR_USB3_DL_CTRL); > - if ((val & RCAR_USB3_DL_CTRL_FW_SET_DATA0) =3D=3D 0) > - break; > - udelay(1); > - } > - if (time =3D=3D timeout) { > - retval =3D -ETIMEDOUT; > + retval =3D readl_poll_timeout_atomic(regs + RCAR_USB3_DL_CTRL, > + val, !(val & RCAR_USB3_DL_CTRL_FW_SET_DATA0), > + 1, 10000); > + if (retval < 0) > break; > - } > } >=20 > temp =3D readl(regs + RCAR_USB3_DL_CTRL); > temp &=3D ~RCAR_USB3_DL_CTRL_ENABLE; > writel(temp, regs + RCAR_USB3_DL_CTRL); >=20 > - for (time =3D 0; time < timeout; time++) { > - val =3D readl(regs + RCAR_USB3_DL_CTRL); > - if (val & RCAR_USB3_DL_CTRL_FW_SUCCESS) { > - retval =3D 0; > - break; > - } > - udelay(1); > - } > - if (time =3D=3D timeout) > - retval =3D -ETIMEDOUT; > + retval =3D readl_poll_timeout_atomic((regs + RCAR_USB3_DL_CTRL), > + val, (val & RCAR_USB3_DL_CTRL_FW_SUCCESS), 1, 10000); Some parentheses are not needed like below: retval =3D readl_poll_timeout_atomic(regs + RCAR_USB3_DL_CTRL, val, val & RCAR_USB3_DL_CTRL_FW_SUCCESS, 1, 10000); > release_firmware(fw); >=20 > @@ -200,18 +187,12 @@ static int xhci_rcar_download_firmware(struct usb_h= cd *hcd) >=20 > static bool xhci_rcar_wait_for_pll_active(struct usb_hcd *hcd) > { > - int timeout =3D 1000; > + int retval; > u32 val, mask =3D RCAR_USB3_AXH_STA_PLL_ACTIVE_MASK; >=20 > - while (timeout > 0) { > - val =3D readl(hcd->regs + RCAR_USB3_AXH_STA); > - if ((val & mask) =3D=3D mask) > - return true; > - udelay(1); > - timeout--; > - } > - > - return false; > + retval =3D readl_poll_timeout_atomic(hcd->regs + RCAR_USB3_AXH_STA, > + val, ((val & mask) =3D=3D mask), 1, 1000); Likewise above: retval =3D readl_poll_timeout_atomic(hcd->regs + RCAR_USB3_AXH_STA, val, (val & mask) =3D=3D mask, 1, 1000); > + return !!retval; This breaks the code. If I changed this to "return retval < 0 ? false : tru= e;", it works again. Best regards, Yoshihiro Shimoda