[PATCH 2/3] arm: a37xx: pci: Optimize a3700_fdt_fix_pcie_regions() when fixup offset is zero

Stefan Roese sr at denx.de
Mon Jul 12 14:34:29 CEST 2021


On 08.07.21 20:18, Pali Rohár wrote:
> 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 at kernel.org>

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan

> ---
>   arch/arm/mach-mvebu/armada3700/cpu.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/arch/arm/mach-mvebu/armada3700/cpu.c b/arch/arm/mach-mvebu/armada3700/cpu.c
> index 4dd9de471b4e..64838b16c4d8 100644
> --- a/arch/arm/mach-mvebu/armada3700/cpu.c
> +++ b/arch/arm/mach-mvebu/armada3700/cpu.c
> @@ -339,6 +339,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
> 


Viele Grüße,
Stefan

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list