u-boot/drivers
Stefan Agner 71fd11b901 nvme: Use only 32-bit accesses in nvme_writeq/nvme_readq
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 8e2ab05000 ("usb: xhci: Use only
32-bit accesses in xhci_writeq/xhci_readq").

Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Cc: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
2021-01-04 09:10:16 -05:00
..
adc adc: Drop dm.h header file 2020-08-03 22:19:54 -04:00
ata ata: dwc-ahci: change trace level for phy errors managed by uclass 2020-09-08 08:46:32 -04:00
axi common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
bios_emulator common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
block xen: pvblock: Add initial support for para-virtualized block driver 2020-08-14 15:18:30 -04:00
bootcount bootcount: add a DM SPI flash backing store for bootcount 2020-11-01 15:58:47 +01:00
bus bus: uniphier-system-bus: move hardware init from board files 2020-07-11 21:30:21 +09:00
button dm: button: add a driver for button driven by gpio 2020-07-28 19:30:39 -06:00
cache common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
clk Second set of u-boot-atmel fixes for 2021.01 cycle 2020-12-11 15:55:17 -05:00
core dm: core: Fix incorrect flag check 2020-11-30 13:14:43 -07:00
cpu First set of u-boot-atmel features for 2021.01 cycle 2020-10-05 10:54:27 -04:00
crypto crypto/fsl: add RNG support 2020-07-27 14:16:29 +05:30
ddr armv8: lx2162a: Add Soc changes to support LX2162A 2020-12-10 13:56:39 +05:30
demo common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
dfu dfu: simplify the dependencies of DFU_TFTP 2020-11-21 07:26:16 +01:00
dma Merge tag 'ti-v2021.01-rc1' of https://gitlab.denx.de/u-boot/custodians/u-boot-ti 2020-10-12 07:26:57 -04:00
fastboot fastboot: getvar: fix partition-size return value 2020-09-01 14:47:43 +02:00
firmware firmware: zynqmp: Swap addr_hi/low when PM_FPGA_LOAD is called 2020-10-27 08:13:31 +01:00
fpga arm: socfpga: agilex: Enable FPGA Full Reconfiguration support 2020-10-09 17:53:12 +08:00
gpio gpio: stm32: correct the bias management 2020-11-25 12:01:46 +01:00
hwspinlock common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
i2c i2c: mxc_i2c: improve error message readability 2020-12-26 14:56:09 +01:00
input input: add support for FN1 - FN10 on crosswire kbd 2020-11-09 17:28:17 +01:00
led drivers: led: bcm6858: set the correct led polarity register 2020-11-19 09:45:49 -05:00
mailbox mailbox: zynqmp: Extend timeout for getting observation bit 2020-10-27 08:13:31 +01:00
memory memory: stm32-fmc2-ebi: add STM32 FMC2 EBI controller driver 2020-08-13 09:53:34 +02:00
misc treewide: Update email address Patrick Delaunay and Patrice Chotard 2020-12-09 10:57:50 +01:00
mmc Second set of u-boot-atmel fixes for 2021.01 cycle 2020-12-11 15:55:17 -05:00
mtd mtd: spi-nor-ids: add Micron MT25QL01G flash 2020-12-18 16:19:33 +05:30
mux drivers: mux: mmio-based syscon mux controller 2020-10-28 11:49:30 -04:00
net net: pfe_eth: read PFE ESBC header flash with spi_flash_read API 2020-12-10 13:56:39 +05:30
nvme nvme: Use only 32-bit accesses in nvme_writeq/nvme_readq 2021-01-04 09:10:16 -05:00
pch common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci Revert "arm64: a37xx: pci: Assert PERST# signal when unloading driver" 2020-12-28 09:42:06 +01:00
pci_endpoint Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq 2020-07-27 15:18:15 -04:00
phy treewide: Update email address Patrick Delaunay and Patrice Chotard 2020-12-09 10:57:50 +01:00
pinctrl pinctrl: meson: fix bit manipulation of pin bias configuration 2020-12-14 19:58:54 +01:00
power power: pmic: add SPL_DM_PMIC_PCA9450 symbol to Kconfig 2020-12-06 15:31:37 +01:00
pwm pwm: Add driver for Amlogic Meson PWM controller 2020-10-05 18:02:16 +02:00
qe net, qe: add DM support for QE UEC ethernet 2020-09-17 06:09:53 +02:00
ram mips: octeon: Fix Octeon DDR driver to use the correct struct 2020-11-30 18:31:56 +01:00
remoteproc remoteproc: stm32: update error management in stm32_copro_start 2020-11-25 11:32:31 +01:00
reset treewide: Update email address Patrick Delaunay and Patrice Chotard 2020-12-09 10:57:50 +01:00
rng rng: Add Qualcomm MSM PRNG driver 2020-10-22 09:54:54 -04:00
rtc Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86 2020-11-06 09:46:43 -05:00
scsi common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
serial treewide: Update email address Patrick Delaunay and Patrice Chotard 2020-12-09 10:57:50 +01:00
smem soc: qualcomm: Fix not calling dev_err with a device 2020-09-30 08:53:43 -04:00
soc soc: soc_ti_k3: Add device identification for J7200 SoC 2020-08-11 20:34:46 +05:30
sound x86: sound: Correct error handling 2020-11-06 09:51:29 +08:00
spi spi: ca_sflash: Add CAxxxx SPI Flash Controller 2020-12-18 16:16:37 +05:30
spmi treewide: convert devfdt_get_addr() to dev_read_addr() 2020-07-25 14:46:57 -06:00
sysinfo sysinfo: Provide a default driver to set SMBIOS values 2020-11-06 10:18:20 +08:00
sysreset treewide: Update email address Patrick Delaunay and Patrice Chotard 2020-12-09 10:57:50 +01:00
tee tee: optee: Include device_compat.h 2020-10-16 09:44:27 -04:00
thermal thermal: imx_tmu: fix missing include 2020-11-01 15:53:08 +01:00
timer treewide: Update email address Patrick Delaunay and Patrice Chotard 2020-12-09 10:57:50 +01:00
tpm tpm: spi: Cleanup source code 2020-11-20 10:42:54 +01:00
ufs ufs: Drop dm.h header file 2020-08-03 22:19:54 -04:00
usb Merge branch 'master' of git://git.denx.de/u-boot-usb 2020-12-16 17:43:33 -05:00
video treewide: Update email address Patrick Delaunay and Patrice Chotard 2020-12-09 10:57:50 +01:00
virtio virtio_blk: set log2blksz correctly 2020-08-24 14:11:31 -04:00
w1 treewide: convert devfdt_get_addr() to dev_read_addr() 2020-07-25 14:46:57 -06:00
w1-eeprom common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
watchdog watchdog: sbsa: timeout should be in "millisecond" 2020-12-02 16:21:58 -05:00
xen xen: Code style conformity 2020-08-24 14:11:31 -04:00
Kconfig board: Rename uclass to sysinfo 2020-11-06 10:18:20 +08:00
Makefile board: Rename uclass to sysinfo 2020-11-06 10:18:20 +08:00