forked from pool/u-boot
Guillaume GARDET
111c122751
- Add qemu-riscv64spl Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed-2021.01 * Patches added: 0031-efi_loader-Avoid-emitting-efi_var_b.patch - Drop pcm051rev3 for Phytec Wega board - Fix binary extension for sunxi based boards - Add Pinephone - Fix documentation location Update to v2021.01. Patch queue updated from git://github.com/openSUSE/u-boot.git tumbleweed-2021.01 * Patches dropped: 0028-usb-xhci-xhci_bulk_tx-Don-t-BUG-whe.patch 0029-Revert-Fix-data-abort-caused-by-mis.patch 0030-usb-xhci-pci-Add-DM_FLAG_OS_PREPARE.patch 0031-pci-brcmstb-Cleanup-controller-stat.patch * Patches added: 0028-usb-xhci-pci-Add-DM_FLAG_OS_PREPARE.patch 0029-pci-brcmstb-Cleanup-controller-stat.patch 0030-fs-btrfs-Select-SHA256-in-Kconfig.patch OBS-URL: https://build.opensuse.org/request/show/872955 OBS-URL: https://build.opensuse.org/package/show/hardware:boot/u-boot?expand=0&rev=127
48 lines
1.5 KiB
Diff
48 lines
1.5 KiB
Diff
From c9ac0a0da12755016d1fbfe2a31bab0ddcdddfda Mon Sep 17 00:00:00 2001
|
|
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
|
Date: Tue, 12 Jan 2021 13:55:26 +0100
|
|
Subject: [PATCH] dm: Introduce dev_phys_to_bus()/dev_bus_to_phys()
|
|
|
|
These functions, instead of relying on hard-coded platform-specific
|
|
address translations, make use of the DMA constraints provided by the DM
|
|
core. This allows for per-device translations.
|
|
|
|
We can't yet get rid of the legacy phys_to_bus()/bus_to_phys()
|
|
implementations as some of its users are not integrated into the
|
|
device model.
|
|
|
|
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
|
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
Reviewed-by: Stefan Roese <sr@denx.de>
|
|
Tested-by: Peter Robinson <pbrobinson@gmail.com>
|
|
---
|
|
include/phys2bus.h | 17 +++++++++++++++++
|
|
1 file changed, 17 insertions(+)
|
|
|
|
diff --git a/include/phys2bus.h b/include/phys2bus.h
|
|
index dc9b8e5a25..866b8b51a8 100644
|
|
--- a/include/phys2bus.h
|
|
+++ b/include/phys2bus.h
|
|
@@ -21,4 +21,21 @@ static inline unsigned long bus_to_phys(unsigned long bus)
|
|
}
|
|
#endif
|
|
|
|
+#if CONFIG_IS_ENABLED(DM)
|
|
+#include <dm/device.h>
|
|
+
|
|
+static inline dma_addr_t dev_phys_to_bus(struct udevice *dev, phys_addr_t phys)
|
|
+{
|
|
+ return phys - dev_get_dma_offset(dev);
|
|
+}
|
|
+
|
|
+static inline phys_addr_t dev_bus_to_phys(struct udevice *dev, dma_addr_t bus)
|
|
+{
|
|
+ return bus + dev_get_dma_offset(dev);
|
|
+}
|
|
+#else
|
|
+#define dev_phys_to_bus(_, _addr) _addr
|
|
+#define dev_bus_to_phys(_, _addr) _addr
|
|
+#endif
|
|
+
|
|
#endif
|