summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2021-07-08 20:18:59 +0200
committerStefan Roese <sr@denx.de>2021-07-15 10:53:05 +0200
commitcbd7ef70bc6523474cca6480364c6248a8e5b5d7 (patch)
tree5eb38d0550c71508ec00fe571a20c9e25f730478
parenta83149509131b3c5cd1811f953cf96c213308eef (diff)
downloadu-boot-cbd7ef70bc6523474cca6480364c6248a8e5b5d7.tar.gz
u-boot-cbd7ef70bc6523474cca6480364c6248a8e5b5d7.tar.bz2
u-boot-cbd7ef70bc6523474cca6480364c6248a8e5b5d7.zip
arm: a37xx: pci: Optimize a3700_fdt_fix_pcie_regions() when fixup offset is zero
If fixup offset is zero then there is nothing to fix. All calculation in this case just increase addresses by value zero which results in identity. So in this case skip whole fixup re-calculation as it is not needed. This is just an optimization for special case when fix_offset is zero which skips code path which does only identity operations (meaning nothing). No functional changes. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Konstantin Porotchkin <kostap@marvell.com> Reviewed-by: Stefan Roese <sr@denx.de>
-rw-r--r--arch/arm/mach-mvebu/armada3700/cpu.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-mvebu/armada3700/cpu.c b/arch/arm/mach-mvebu/armada3700/cpu.c
index 9aec0ce9a4..7702028ba1 100644
--- a/arch/arm/mach-mvebu/armada3700/cpu.c
+++ b/arch/arm/mach-mvebu/armada3700/cpu.c
@@ -331,6 +331,10 @@ int a3700_fdt_fix_pcie_regions(void *blob)
/* Calculate fixup offset from first child address (in last cell) */
fix_offset = base - fdt32_to_cpu(ranges[2]);
+ /* If fixup offset is zero then there is nothing to fix */
+ if (!fix_offset)
+ return 0;
+
/*
* Fix address (last cell) of each child address and each parent
* address