Received: by 10.223.185.116 with SMTP id b49csp1089067wrg; Sat, 3 Mar 2018 15:15:22 -0800 (PST) X-Google-Smtp-Source: AG47ELvRRFwsODqwGfJ2I2uBixj3xndcjq64GH+bf6ZZIAQlNU0KiDA7CQfo3kfiQyhePoExm5BY X-Received: by 10.98.18.70 with SMTP id a67mr10353786pfj.213.1520118922058; Sat, 03 Mar 2018 15:15:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520118922; cv=none; d=google.com; s=arc-20160816; b=dVfPE2sJ7caKQ4xZ+PPytEHUG5glrJ46OCkn4/46cdA+aKdpfN2goDIa8Dn7ZsMnoW rdXwRpRdbvYY0UrnLd+6FjXqwP/Ah0YJQMcgUpPUXxziq/WjJQhuTvpRrrfX7XMP67Qk FA30l1Kd5FAasBRPnIENFaN1ltvGIdxFn7CH4trsA8M+JpK3MsKd/MCmw9tnY0N+gyoW k7Gm6/Hj6/4Z/UZMdYwuSOtlZj5WGSqCpjAXPkseLkh2HR8E6AbhKfX/c+r/i2o0YJZw dIQE5kuPLMQYcr4xKdq9UJOwO9MKcfOe4jtD5kA8CJ37MMbQy495yyx9H51OwsFSAbxs wRsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :spamdiagnosticmetadata:spamdiagnosticoutput:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=/0GAmAi2oC7XJanbjgwZsisTF1WsIk4UrDmCoSyhsJk=; b=b9+hVI+7vPdIx3J2g2SkIkZCI/bpInosaeYZg4Ow0WxDbyZRmb/h9Itz2MGU4llwaR HPzj9B2uFytOh6R2DfzlH9P6cNQO/kfJElv8KO8TDo192UOi7KcrUGlfpfcsTWNOgcPe sp8fRwAtL2K0Qga6Uf3xaV4JA8atpNdjp3xn2ayxKJFPvSbGRA7/U318Qg/Ji6mtxHlE XsCUVo0NvhwUvABmDrbWXCDYdYV9ybvlq3xP2dtpeNQ3ETEWqoh8bZ0o2w0yA/hLwk7j 8ksKOFIjBsZgJV6rwmzGfkP5juNMc2r8nkgECBDg1Qr492Sb6Z7s3WTTlN+aJmtqio6F XZzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microsoft.com header.s=selector1 header.b=AEQP+Hfo; 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=REJECT sp=REJECT dis=NONE) header.from=microsoft.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t13si7376286pfa.294.2018.03.03.15.15.07; Sat, 03 Mar 2018 15:15:22 -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=@microsoft.com header.s=selector1 header.b=AEQP+Hfo; 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=REJECT sp=REJECT dis=NONE) header.from=microsoft.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934995AbeCCWjD (ORCPT + 99 others); Sat, 3 Mar 2018 17:39:03 -0500 Received: from mail-cys01nam02on0109.outbound.protection.outlook.com ([104.47.37.109]:20871 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934392AbeCCWio (ORCPT ); Sat, 3 Mar 2018 17:38:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=/0GAmAi2oC7XJanbjgwZsisTF1WsIk4UrDmCoSyhsJk=; b=AEQP+HfoLulVAr65WTi7632Sk9stHXJwQ4EaFxmAVZNHbiKUzTn75lo06K9cywM+BSQbyMjIO49Fr1eDmRhIu45/LqQWl/ZZLLC4MjRV1/3iPV1vchXHxwjAIVhM0jnO0auA0X6KRHmKdMLKEerYlgFWWuXaaAOZ7bzcAXhrnKU= Received: from MW2PR2101MB1034.namprd21.prod.outlook.com (52.132.149.10) by MW2PR2101MB1067.namprd21.prod.outlook.com (52.132.149.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.567.2; Sat, 3 Mar 2018 22:38:42 +0000 Received: from MW2PR2101MB1034.namprd21.prod.outlook.com ([fe80::1d56:338f:e2b:cec0]) by MW2PR2101MB1034.namprd21.prod.outlook.com ([fe80::1d56:338f:e2b:cec0%3]) with mapi id 15.20.0567.006; Sat, 3 Mar 2018 22:38:42 +0000 From: Sasha Levin To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" CC: Akinobu Mita , Mark Brown , Sasha Levin Subject: [PATCH AUTOSEL for 4.4 032/115] spi: omap2-mcspi: poll OMAP2_MCSPI_CHSTAT_RXS for PIO transfer Thread-Topic: [PATCH AUTOSEL for 4.4 032/115] spi: omap2-mcspi: poll OMAP2_MCSPI_CHSTAT_RXS for PIO transfer Thread-Index: AQHTsz9S6raZnGZhsEeNuo2TkYJq4g== Date: Sat, 3 Mar 2018 22:31:07 +0000 Message-ID: <20180303223010.27106-32-alexander.levin@microsoft.com> References: <20180303223010.27106-1-alexander.levin@microsoft.com> In-Reply-To: <20180303223010.27106-1-alexander.levin@microsoft.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [52.168.54.252] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;MW2PR2101MB1067;7:PJCaa/wFmyb0JIYdNFEmsKYhEe0RAwMTMRfUP9Ov8K5UridSLovITryypIPkmz6SFnXdVbxcwgXoN7g6cMHeFf4KOrquHCcAPPQepsXQq9HoHUpSsHvgsJYGgh86ULTLNrblu7B2YPVl1Vtt7/rIh+A+8ESaAbmgPOfWlEx2s5iSGKCteOOw9lgvRkBF52LArlunJM6qTnI6JgtEgGWXKJPi4A0UclkvB43VGrouJtoPK+LIZ/FSUBNtbC3f0pMt x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 0afe043e-a81a-4cab-7941-08d581578411 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(3008032)(2017052603307)(7193020);SRVR:MW2PR2101MB1067; x-ms-traffictypediagnostic: MW2PR2101MB1067: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alexander.Levin@microsoft.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(28532068793085)(89211679590171)(85827821059158); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(61425038)(6040501)(2401047)(5005006)(8121501046)(3231220)(944501244)(52105095)(3002001)(10201501046)(93006095)(93001095)(6055026)(61426038)(61427038)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011);SRVR:MW2PR2101MB1067;BCL:0;PCL:0;RULEID:;SRVR:MW2PR2101MB1067; x-forefront-prvs: 0600F93FE1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(396003)(366004)(376002)(39860400002)(39380400002)(346002)(199004)(189003)(4326008)(5250100002)(86362001)(1076002)(2501003)(110136005)(6666003)(81156014)(2906002)(8936002)(305945005)(81166006)(2950100002)(7736002)(10290500003)(26005)(186003)(3660700001)(478600001)(72206003)(107886003)(8676002)(3280700002)(59450400001)(2900100001)(39060400002)(76176011)(6116002)(25786009)(3846002)(102836004)(6506007)(5660300001)(97736004)(10090500001)(86612001)(106356001)(99286004)(6512007)(15760500003)(66066001)(316002)(53936002)(14454004)(105586002)(36756003)(6486002)(54906003)(6436002)(68736007)(22452003)(22906009)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:MW2PR2101MB1067;H:MW2PR2101MB1034.namprd21.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: uyZbZn/nCcpFBB1fygCGGdunEbwFdY1Bja5EHoFIGWkqslRrS7U3sUgFBb1M11yF/aMrBGQBHAZbLklwI47Ve8o6USe7/2aALW9CfkmS3u4633aW5QBMd3DIZSSpgViTmHS5lHpRnjb/3P1apbuN2AiD6AdZXt40ChfUXud+jLE= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0afe043e-a81a-4cab-7941-08d581578411 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2018 22:31:07.4790 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR2101MB1067 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Akinobu Mita [ Upstream commit 812613591cb652344186c4cd912304ed02138566 ] When running the spi-loopback-test with slower clock rate like 10 KHz, the test for 251 bytes transfer was failed. This failure triggered an spi-omap2-mcspi's error message "DMA RX last word empty". This message means that PIO for reading the remaining bytes due to the DMA transfer length reduction is failed. This problem can be fixed by polling OMAP2_MCSPI_CHSTAT_RXS bit in channel status register to wait until the receive buffer register is filled. Cc: Mark Brown Signed-off-by: Akinobu Mita Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- drivers/spi/spi-omap2-mcspi.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c index ed8283e7397a..83b53cd956aa 100644 --- a/drivers/spi/spi-omap2-mcspi.c +++ b/drivers/spi/spi-omap2-mcspi.c @@ -457,6 +457,8 @@ omap2_mcspi_rx_dma(struct spi_device *spi, struct spi_t= ransfer *xfer, int elements =3D 0; int word_len, element_count; struct omap2_mcspi_cs *cs =3D spi->controller_state; + void __iomem *chstat_reg =3D cs->base + OMAP2_MCSPI_CHSTAT0; + mcspi =3D spi_master_get_devdata(spi->master); mcspi_dma =3D &mcspi->dma_channels[spi->chip_select]; count =3D xfer->len; @@ -517,8 +519,8 @@ omap2_mcspi_rx_dma(struct spi_device *spi, struct spi_t= ransfer *xfer, if (l & OMAP2_MCSPI_CHCONF_TURBO) { elements--; =20 - if (likely(mcspi_read_cs_reg(spi, OMAP2_MCSPI_CHSTAT0) - & OMAP2_MCSPI_CHSTAT_RXS)) { + if (!mcspi_wait_for_reg_bit(chstat_reg, + OMAP2_MCSPI_CHSTAT_RXS)) { u32 w; =20 w =3D mcspi_read_cs_reg(spi, OMAP2_MCSPI_RX0); @@ -536,8 +538,7 @@ omap2_mcspi_rx_dma(struct spi_device *spi, struct spi_t= ransfer *xfer, return count; } } - if (likely(mcspi_read_cs_reg(spi, OMAP2_MCSPI_CHSTAT0) - & OMAP2_MCSPI_CHSTAT_RXS)) { + if (!mcspi_wait_for_reg_bit(chstat_reg, OMAP2_MCSPI_CHSTAT_RXS)) { u32 w; =20 w =3D mcspi_read_cs_reg(spi, OMAP2_MCSPI_RX0); --=20 2.14.1