On Wed, Dec 30, 2020 at 01:16:36PM +0100, Stefan Agner wrote:

> There might be hardware configurations where 64-bit data accesses
> to NVMe registers are not supported properly.  This patch removes
> the readq/writeq so always two 32-bit accesses are used to read/write
> 64-bit NVMe registers, similarly as it is done in Linux kernel.
> 
> This patch fixes operation of NVMe devices on RPi4 Broadcom BCM2711 SoC
> based board, where the PCIe Root Complex, which is attached to the
> system through the SCB bridge.
> 
> Even though the architecture is 64-bit the PCIe BAR is 32-bit and likely
> the 64-bit wide register accesses initiated by the CPU are not properly
> translated to a sequence of 32-bit PCIe accesses.
> nvme_readq(), for example, always returns same value in upper and lower
> 32-bits, e.g. 0x3c033fff3c033fff which lead to NVMe devices to fail
> probing.
> 
> This fix is analogous to commit 8e2ab05000ab ("usb: xhci: Use only
> 32-bit accesses in xhci_writeq/xhci_readq").
> 
> Cc: Sylwester Nawrocki <[email protected]>
> Cc: Nicolas Saenz Julienne <[email protected]>
> Cc: Matthias Brugger <[email protected]>
> Reviewed-by: Stefan Roese <[email protected]>
> Reviewed-by: Bin Meng <[email protected]>
> Signed-off-by: Stefan Agner <[email protected]>

Applied to u-boot/master, thanks!

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to