u-boot/drivers
Tom Rini 48fd7e9699 Merge patch series "Fix IOVA allocation in Apple dart iommu after global LMB mem map changes"
Janne Grunau <j@jannau.net> says:

The changes in "Make LMB memory map global and persistent" [1] break
mapping DMA memory in the USB xHCI driver when using the apple_dart
iommu present on Apple silicon systems.

The IOVA space used by the u-boot driver (low 4GB) and physical memory
do not overlap. The physical memory on this systems starts depending on
the SoC either at 0x10_0000_0000 or 0x100_0000_0000. It make no sense to
manage these distinct regions in a single LMB map. In addition every
device has its own iommu and IO address space so sharing a single memory
map between all iommu instances is not necessary.

To fix this issue restore the used subset (add, alloc and free) of the
previous pointer based LMB interface with "io_" as prefix.

To ensure that low level lmb functions do not use the global LMB
variable reorder lib/lmb.c so that the variable is not visible.

Tested with patches from my "Fix device removal order for Apple dart
iommu" series [2] to fix a separate issue.

The cosmetic commit has two checkpatch warnings in existing code which I
ignored.

[1] https://lore.kernel.org/u-boot/20240826115940.3233167-1-sughosh.ganu@linaro.org/
[2] https://lore.kernel.org/u-boot/20241031-iommu_apple_dart_ordering-v1-0-8a6877946d6b@jannau.net/

Link: https://lore.kernel.org/r/20241111-io_lmb_apple_dart_iommu-v3-0-32c05da51d72@jannau.net
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-11-11 09:11:55 -06:00
..
adc adc: rockchip-saradc: Use vdd-microvolts prop as fallback 2024-10-26 10:46:48 +08:00
ata Merge patch series "Implement ACPI on aarch64" 2024-10-27 18:44:13 -06:00
axi Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
bios_emulator bios_emulator: fix first argument of pci_{read,write}_config_* function calls 2024-11-04 18:01:58 -06:00
block block: make blk_create_device() static 2024-10-24 11:20:58 -06:00
bootcount Prepare v2024.10-rc5 2024-09-16 14:48:13 -06:00
bus global: Rename SPL_ to XPL_ 2024-10-11 11:44:48 -06:00
button Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
cache driver: sifive ccache: enable TRUNKCLOCKGATE and REGIONCLOCKGATE 2024-11-06 18:56:51 +08:00
clk clk: renesas: Fix missing unbind on driver look up failure 2024-11-03 12:25:57 +01:00
core dm: core: Add a function to see if a device exists 2024-11-03 21:27:12 -06:00
cpu Merge patch series "Implement ACPI on aarch64" 2024-10-27 18:44:13 -06:00
crypto drivers/crypto: aspeed: Add Caliptra ECDSA384 support 2024-10-21 17:52:52 -06:00
ddr imx: Support i.MX93 9X9 QSB board 2024-10-25 09:07:16 -03:00
demo Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
dfu dfu: sf: rely on DT for spi speed and mode 2024-10-24 09:42:00 +02:00
dma dma: ti: k3-udma: Move DMA channel[0] allocation to probe and add udma_remove() 2024-10-17 18:21:19 -06:00
extcon Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
fastboot net: introduce alternative implementation as net/lwip/ 2024-10-16 11:11:56 -06:00
firmware global: Rename SPL_ to XPL_ 2024-10-11 11:44:48 -06:00
fpga drivers: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:48 -06:00
fuzz Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
fwu-mdata Merge patch series "FWU: Add support for FWU metadata version 2" 2024-05-24 13:42:07 -06:00
gpio Merge patch series "Support Aspeed SGPIO controller" 2024-10-29 16:17:47 -06:00
hwspinlock Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
i2c i2c: mxc_i2c: Convert to use livetree API for fdt access 2024-10-25 09:07:39 -03:00
input global: Rename SPL_TPL_ to PHASE_ 2024-10-11 11:44:48 -06:00
iommu iommu: apple: Manage IOVA separately from global LMB mem map 2024-11-11 07:26:44 -06:00
led led: include cyclic.h in led_sw_blink.c 2024-10-23 06:52:38 +02:00
mailbox global: Rename SPL_ to XPL_ 2024-10-11 11:44:48 -06:00
memory memory: ti-aemif-cs: Compute timing configuration from DT parsing 2024-10-29 18:45:22 -06:00
mfd
misc Merge patch series "Implement ACPI on aarch64" 2024-10-27 18:44:13 -06:00
mmc mmc: renesas-sdhi: Add compatible string for rzg2l-sdhi 2024-10-28 16:27:34 +01:00
mtd mtd: spi-nor: Guard SPI_STACKED_PARALLEL with DM_SPI check 2024-10-31 13:34:29 -06:00
mux Merge patch series "Tidy up use of 'SPL' and CONFIG_SPL_BUILD" 2024-10-11 12:23:25 -06:00
net net: dwc_eth_qos: Remove obsolete imx8 includes 2024-10-29 16:25:53 -03:00
nvme global: Rename SPL_ to XPL_ 2024-10-11 11:44:48 -06:00
pch Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
pci Merge patch series "Implement ACPI on aarch64" 2024-10-27 18:44:13 -06:00
pci_endpoint Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
phy Merge patch series "Tidy up use of 'SPL' and CONFIG_SPL_BUILD" 2024-10-11 12:23:25 -06:00
pinctrl pinctrl: rockchip: allow to build for TPL 2024-11-11 15:14:14 +08:00
power imx: power-domain: Convert to use livetree API for fdt access 2024-10-25 09:07:35 -03:00
pwm pwm: imx: Don't drop the enable bit once set 2024-09-11 17:02:36 -03:00
qe qe: Add <asm/ppc.h> on PowerPC 2023-11-07 14:50:51 -05:00
ram Merge patch series "Tidy up use of 'SPL' and CONFIG_SPL_BUILD" 2024-10-11 12:23:25 -06:00
reboot-mode Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
remoteproc global: Rename SPL_ to XPL_ 2024-10-11 11:44:48 -06:00
reset global: Rename SPL_TPL_ to PHASE_ 2024-10-11 11:44:48 -06:00
rng global: Rename SPL_TPL_ to PHASE_ 2024-10-11 11:44:48 -06:00
rtc Merge patch series "Tidy up use of 'SPL' and CONFIG_SPL_BUILD" 2024-10-11 12:23:25 -06:00
scsi scsi: fix disk capacity too small by one sector 2024-11-01 13:34:32 -06:00
serial Merge patch series "Implement ACPI on aarch64" 2024-10-27 18:44:13 -06:00
sm Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
smem Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
soc soc: qcom: rpmh-rsc: add back __tcs_set_trigger() for SM8550/SM8650 2024-09-06 10:47:46 +02:00
sound drivers: sound: Remove duplicate newlines 2024-07-22 10:53:06 -06:00
spi mtd: spi-nor: Fix integer overflow in stacked memories support 2024-11-10 20:21:07 -06:00
spmi spmi: msm: correct max_channels for v5 controllers 2024-07-05 12:07:37 +02:00
sysinfo Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
sysreset global: Rename SPL_TPL_ to PHASE_ 2024-10-11 11:44:48 -06:00
tee tee: sandbox: check for buffer size 2024-04-26 08:28:35 +03:00
thermal drivers: thermal: Remove duplicate newlines 2024-07-22 10:53:06 -06:00
timer x86: Sync up tsc_timer with Linux 2024-10-18 14:10:21 -06:00
tpm global: Rename SPL_TPL_ to PHASE_ 2024-10-11 11:44:48 -06:00
ufs ufs: Add Support for Qualcomm UFS HC driver 2024-10-14 08:56:03 +02:00
usb Merge patch series "Implement ACPI on aarch64" 2024-10-27 18:44:13 -06:00
video drivers/video/vesa: use MTRRs only on x86 2024-11-04 16:41:38 -06:00
virtio virtio: blk: introduce virtio-block erase support 2024-10-18 14:10:21 -06:00
w1 Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
w1-eeprom Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
watchdog watchdog: introduce separate SPL symbol for WDT_GPIO 2024-10-23 07:02:25 +02:00
xen Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
Kconfig drivers: introduce Secure Monitor uclass 2023-10-15 12:23:48 +02:00
Makefile global: Rename SPL_TPL_ to PHASE_ 2024-10-11 11:44:48 -06:00