From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83B962AD0F; Mon, 29 Jan 2024 18:35:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706553333; cv=none; b=nHHbGF4F/LbtqsTbo4wkspA3JyluzRBijMm4FpF4PbfIqxFh0oJ4m47WB5udTxZPzXHHwBuwB2Do4nvv/bvq1paCdpbZcluXzPCKbFK0jaSeKW4nB6jhE9Pzewk4AdfoKQxohBFcQykjyu/dk/gbsXi4dPlf2gVC38U520utVsU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706553333; c=relaxed/simple; bh=H3AWIlfVuawdpmPkcPbFKq+N/LBvLHZM1goebGE9dJk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=pVknSI7ebqgCN1qbq67hnt4pYec0ph5t1DkfPeMEeF/2+vgKlSxHSNxd9TTXRx4IDi8OQ2V1J/ocMNr2ph+ZKIfDlp9tpoo/moYWjPUBDbeYftpLEow+VDWn3h6ThyXlaEUpyY/S01Syi876VHZa9/WvkArEsV7AlsMiAo6rFAg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=G0Ou+5Ct; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="G0Ou+5Ct" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C427AC433C7; Mon, 29 Jan 2024 18:35:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1706553332; bh=H3AWIlfVuawdpmPkcPbFKq+N/LBvLHZM1goebGE9dJk=; h=From:To:Cc:Subject:Date:From; b=G0Ou+5Ct9eAd5Y23mawbAYA1PykmkAcEWNPOR/lu904OxPsxOKpNmZaNXphqwktkd wDLQGUo+9nnGY71ajHRq/y1lk6iglAtXMvZ1UdMAITg/mx5xZssVJftN/GgORKroOL PJ/NwYS9ruqOzS28VAL3vt3qhVqQuF3wlJD17SMpgxDF+AjJQ//v99Czn1jfn1DcqM vhls8RD6BxojEHniVu+SCj6Rxgwajf+0jciumPG5aH/OHkKqIB3B20E5yXik08vNLy psNk5nXbeksmX6dVwVx7dLN4tqrTJOfLpNFLaUb2Ngud/RTmy8lSryafG/uCWlj17F S+sLT/c6o/zqg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Hector Martin , =?UTF-8?q?Martin=20Povi=C5=A1er?= , Vinod Koul , Sasha Levin , sven@svenpeter.dev, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, dmaengine@vger.kernel.org Subject: [PATCH AUTOSEL 6.6 01/10] dmaengine: apple-admac: Keep upper bits of REG_BUS_WIDTH Date: Mon, 29 Jan 2024 13:35:09 -0500 Message-ID: <20240129183530.464274-1-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: asahi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.6.14 Content-Transfer-Encoding: 8bit From: Hector Martin [ Upstream commit 306f5df81fcc89b462fbeb9dbe26d9a8ad7c7582 ] For RX channels, REG_BUS_WIDTH seems to default to a value of 0xf00, and macOS preserves the upper bits when setting the configuration in the lower ones. If we reset the upper bits to 0, this causes framing errors on suspend/resume (the data stream "tears" and channels get swapped around). Keeping the upper bits untouched, like the macOS driver does, fixes this issue. Signed-off-by: Hector Martin Reviewed-by: Martin Povišer Signed-off-by: Martin Povišer Link: https://lore.kernel.org/r/20231029170704.82238-1-povik+lin@cutebit.org Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin --- drivers/dma/apple-admac.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/dma/apple-admac.c b/drivers/dma/apple-admac.c index 3af795635c5c..356298e4dd22 100644 --- a/drivers/dma/apple-admac.c +++ b/drivers/dma/apple-admac.c @@ -57,6 +57,8 @@ #define REG_BUS_WIDTH(ch) (0x8040 + (ch) * 0x200) +#define BUS_WIDTH_WORD_SIZE GENMASK(3, 0) +#define BUS_WIDTH_FRAME_SIZE GENMASK(7, 4) #define BUS_WIDTH_8BIT 0x00 #define BUS_WIDTH_16BIT 0x01 #define BUS_WIDTH_32BIT 0x02 @@ -740,7 +742,8 @@ static int admac_device_config(struct dma_chan *chan, struct admac_data *ad = adchan->host; bool is_tx = admac_chan_direction(adchan->no) == DMA_MEM_TO_DEV; int wordsize = 0; - u32 bus_width = 0; + u32 bus_width = readl_relaxed(ad->base + REG_BUS_WIDTH(adchan->no)) & + ~(BUS_WIDTH_WORD_SIZE | BUS_WIDTH_FRAME_SIZE); switch (is_tx ? config->dst_addr_width : config->src_addr_width) { case DMA_SLAVE_BUSWIDTH_1_BYTE: -- 2.43.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0464EC47DDB for ; Mon, 29 Jan 2024 18:35:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=B9YM7WNx0bMCj+GaaBZSieFzW+nS8z0EL9K1LeZNTmw=; b=Uk2FrMfBCTIvxK YOoVy3lDe+/3ls/F+XX5aKQXqS5PTj/WB/aEuzW4fGx2vd56hXd3dOz6fn73rJGWo7FMlO7Belh5y Jb+1gFxDhfMXzvFGL7nO2ztvZsbVF8m3JJXKZjI0Xr0YSwmv8GEbpNU48k7MRD/bmDGOaG2CmZHMH 3MrHPSb4jyTfPVMjXZMxigNHwMUDOGMcmnn7MnN4qojnfB2Xi5VJsYLcQUuBOGfXWdh13toZDlRsK Dh61unMxBZ0KCORYx06zTPX0+iy60wmljOuS8LSoS7iWOqCvArqflrYaPoWghIRRVDMN9KXjFJU8M 5pwV503GpvXXp5ouhhaw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUWTq-0000000DxQL-28Yq; Mon, 29 Jan 2024 18:35:38 +0000 Received: from sin.source.kernel.org ([2604:1380:40e1:4800::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUWTn-0000000DxOL-1Jbv for linux-arm-kernel@lists.infradead.org; Mon, 29 Jan 2024 18:35:37 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id A2D57CE1693; Mon, 29 Jan 2024 18:35:33 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C427AC433C7; Mon, 29 Jan 2024 18:35:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1706553332; bh=H3AWIlfVuawdpmPkcPbFKq+N/LBvLHZM1goebGE9dJk=; h=From:To:Cc:Subject:Date:From; b=G0Ou+5Ct9eAd5Y23mawbAYA1PykmkAcEWNPOR/lu904OxPsxOKpNmZaNXphqwktkd wDLQGUo+9nnGY71ajHRq/y1lk6iglAtXMvZ1UdMAITg/mx5xZssVJftN/GgORKroOL PJ/NwYS9ruqOzS28VAL3vt3qhVqQuF3wlJD17SMpgxDF+AjJQ//v99Czn1jfn1DcqM vhls8RD6BxojEHniVu+SCj6Rxgwajf+0jciumPG5aH/OHkKqIB3B20E5yXik08vNLy psNk5nXbeksmX6dVwVx7dLN4tqrTJOfLpNFLaUb2Ngud/RTmy8lSryafG/uCWlj17F S+sLT/c6o/zqg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Hector Martin , =?UTF-8?q?Martin=20Povi=C5=A1er?= , Vinod Koul , Sasha Levin , sven@svenpeter.dev, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, dmaengine@vger.kernel.org Subject: [PATCH AUTOSEL 6.6 01/10] dmaengine: apple-admac: Keep upper bits of REG_BUS_WIDTH Date: Mon, 29 Jan 2024 13:35:09 -0500 Message-ID: <20240129183530.464274-1-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.6.14 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240129_103535_580686_FDEDE20C X-CRM114-Status: GOOD ( 12.71 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogSGVjdG9yIE1hcnRpbiA8bWFyY2FuQG1hcmNhbi5zdD4KClsgVXBzdHJlYW0gY29tbWl0 IDMwNmY1ZGY4MWZjYzg5YjQ2MmZiZWI5ZGJlMjZkOWE4YWQ3Yzc1ODIgXQoKRm9yIFJYIGNoYW5u ZWxzLCBSRUdfQlVTX1dJRFRIIHNlZW1zIHRvIGRlZmF1bHQgdG8gYSB2YWx1ZSBvZiAweGYwMCwg YW5kCm1hY09TIHByZXNlcnZlcyB0aGUgdXBwZXIgYml0cyB3aGVuIHNldHRpbmcgdGhlIGNvbmZp Z3VyYXRpb24gaW4gdGhlCmxvd2VyIG9uZXMuIElmIHdlIHJlc2V0IHRoZSB1cHBlciBiaXRzIHRv IDAsIHRoaXMgY2F1c2VzIGZyYW1pbmcgZXJyb3JzCm9uIHN1c3BlbmQvcmVzdW1lICh0aGUgZGF0 YSBzdHJlYW0gInRlYXJzIiBhbmQgY2hhbm5lbHMgZ2V0IHN3YXBwZWQKYXJvdW5kKS4gS2VlcGlu ZyB0aGUgdXBwZXIgYml0cyB1bnRvdWNoZWQsIGxpa2UgdGhlIG1hY09TIGRyaXZlciBkb2VzLApm aXhlcyB0aGlzIGlzc3VlLgoKU2lnbmVkLW9mZi1ieTogSGVjdG9yIE1hcnRpbiA8bWFyY2FuQG1h cmNhbi5zdD4KUmV2aWV3ZWQtYnk6IE1hcnRpbiBQb3ZpxaFlciA8cG92aWsrbGluQGN1dGViaXQu b3JnPgpTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gUG92acWhZXIgPHBvdmlrK2xpbkBjdXRlYml0Lm9y Zz4KTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8yMDIzMTAyOTE3MDcwNC44MjIzOC0x LXBvdmlrK2xpbkBjdXRlYml0Lm9yZwpTaWduZWQtb2ZmLWJ5OiBWaW5vZCBLb3VsIDx2a291bEBr ZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBTYXNoYSBMZXZpbiA8c2FzaGFsQGtlcm5lbC5vcmc+ Ci0tLQogZHJpdmVycy9kbWEvYXBwbGUtYWRtYWMuYyB8IDUgKysrKy0KIDEgZmlsZSBjaGFuZ2Vk LCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Rt YS9hcHBsZS1hZG1hYy5jIGIvZHJpdmVycy9kbWEvYXBwbGUtYWRtYWMuYwppbmRleCAzYWY3OTU2 MzVjNWMuLjM1NjI5OGU0ZGQyMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEvYXBwbGUtYWRtYWMu YworKysgYi9kcml2ZXJzL2RtYS9hcHBsZS1hZG1hYy5jCkBAIC01Nyw2ICs1Nyw4IEBACiAKICNk ZWZpbmUgUkVHX0JVU19XSURUSChjaCkJKDB4ODA0MCArIChjaCkgKiAweDIwMCkKIAorI2RlZmlu ZSBCVVNfV0lEVEhfV09SRF9TSVpFCUdFTk1BU0soMywgMCkKKyNkZWZpbmUgQlVTX1dJRFRIX0ZS QU1FX1NJWkUJR0VOTUFTSyg3LCA0KQogI2RlZmluZSBCVVNfV0lEVEhfOEJJVAkJMHgwMAogI2Rl ZmluZSBCVVNfV0lEVEhfMTZCSVQJCTB4MDEKICNkZWZpbmUgQlVTX1dJRFRIXzMyQklUCQkweDAy CkBAIC03NDAsNyArNzQyLDggQEAgc3RhdGljIGludCBhZG1hY19kZXZpY2VfY29uZmlnKHN0cnVj dCBkbWFfY2hhbiAqY2hhbiwKIAlzdHJ1Y3QgYWRtYWNfZGF0YSAqYWQgPSBhZGNoYW4tPmhvc3Q7 CiAJYm9vbCBpc190eCA9IGFkbWFjX2NoYW5fZGlyZWN0aW9uKGFkY2hhbi0+bm8pID09IERNQV9N RU1fVE9fREVWOwogCWludCB3b3Jkc2l6ZSA9IDA7Ci0JdTMyIGJ1c193aWR0aCA9IDA7CisJdTMy IGJ1c193aWR0aCA9IHJlYWRsX3JlbGF4ZWQoYWQtPmJhc2UgKyBSRUdfQlVTX1dJRFRIKGFkY2hh bi0+bm8pKSAmCisJCX4oQlVTX1dJRFRIX1dPUkRfU0laRSB8IEJVU19XSURUSF9GUkFNRV9TSVpF KTsKIAogCXN3aXRjaCAoaXNfdHggPyBjb25maWctPmRzdF9hZGRyX3dpZHRoIDogY29uZmlnLT5z cmNfYWRkcl93aWR0aCkgewogCWNhc2UgRE1BX1NMQVZFX0JVU1dJRFRIXzFfQllURToKLS0gCjIu NDMuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LWFybS1rZXJuZWwK