Thread (13 messages) 13 messages, 6 authors, 2023-01-08

Re: [PATCH 1/4] nvmem: sunxi_sid: Always use 32-bit MMIO reads

From: Heiko Stübner <heiko@sntech.de>
Date: 2022-08-25 12:05:35
Also in: linux-arm-kernel, linux-sunxi, lkml

Am Sonntag, 14. August 2022, 19:36:52 CEST schrieb Samuel Holland:
The SID SRAM on at least some SoCs (A64 and D1) returns different values
when read with bus cycles narrower than 32 bits. This is not immediately
obvious, because memcpy_fromio() uses word-size accesses as long as
enough data is being copied.

The vendor driver always uses 32-bit MMIO reads, so do the same here.
This is faster than the register-based method, which is currently used
as a workaround on A64. And it fixes the values returned on D1, where
the SRAM method was being used.

The special case for the last word is needed to maintain .word_size == 1
for sysfs ABI compatibility, as noted previously in commit de2a3eaea552
("nvmem: sunxi_sid: Optimize register read-out method").

Fixes: 07ae4fde9efa ("nvmem: sunxi_sid: Add support for D1 variant")
Signed-off-by: Samuel Holland <samuel@sholland.org>
On a D1-Nezha:
Tested-by: Heiko Stuebner <heiko@sntech.de>

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help