]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: a37xx: pci: Optimize a3700_fdt_fix_pcie_regions() when fixup offset is zero
authorPali Rohár <pali@kernel.org>
Thu, 8 Jul 2021 18:18:59 +0000 (20:18 +0200)
committerStefan Roese <sr@denx.de>
Thu, 15 Jul 2021 08:53:05 +0000 (10:53 +0200)
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>
arch/arm/mach-mvebu/armada3700/cpu.c

index 9aec0ce9a43059ef635d237d94dc249c69ae1dfd..7702028ba19bd1f3d3a997616a170e6858a13231 100644 (file)
@@ -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