On Wed, Apr 15, 2020 at 17:43:33 +0530, Pankaj Bansal wrote: > From: Pankaj Bansal <[email protected]> > > The SwapMmio** APIs are supposed to be called indirectly via > GetMmioOperations** APIs. > Therefore, remove the SwapMmio** APIs from IoAccessLib.h and make > these APIs STATIC to IoAccessLib.c, so that no accidental call can > be made to these. > > Signed-off-by: Pankaj Bansal <[email protected]> > --- > > Notes: > - New commit
Thanks! Reviewed-by: Leif Lindholm <[email protected]> > > Silicon/NXP/Include/Library/IoAccessLib.h | 236 +------------------- > Silicon/NXP/Library/IoAccessLib/IoAccessLib.c | 17 +- > Silicon/NXP/Library/SocLib/Chassis.c | 10 +- > 3 files changed, 22 insertions(+), 241 deletions(-) > > diff --git a/Silicon/NXP/Include/Library/IoAccessLib.h > b/Silicon/NXP/Include/Library/IoAccessLib.h > index 0b708d544fa7..7b490744382c 100644 > --- a/Silicon/NXP/Include/Library/IoAccessLib.h > +++ b/Silicon/NXP/Include/Library/IoAccessLib.h > @@ -1,6 +1,6 @@ > /** @file > * > - * Copyright 2017-2019 NXP > + * Copyright 2017-2020 NXP > * > * SPDX-License-Identifier: BSD-2-Clause-Patent > * > @@ -89,238 +89,4 @@ GetMmioOperations64 ( > IN BOOLEAN Swap > ); > > -/** > - MmioRead16 for Big-Endian modules. > - > - @param Address The MMIO register to read. > - > - @return The value read. > - > -**/ > -UINT16 > -EFIAPI > -SwapMmioRead16 ( > - IN UINTN Address > - ); > - > -/** > - MmioRead32 for Big-Endian modules. > - > - @param Address The MMIO register to read. > - > - @return The value read. > - > -**/ > -UINT32 > -EFIAPI > -SwapMmioRead32 ( > - IN UINTN Address > - ); > - > -/** > - MmioRead64 for Big-Endian modules. > - > - @param Address The MMIO register to read. > - > - @return The value read. > - > -**/ > -UINT64 > -EFIAPI > -SwapMmioRead64 ( > - IN UINTN Address > - ); > - > -/** > - MmioWrite16 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param Value The value to write to the MMIO register. > - > -**/ > -UINT16 > -EFIAPI > -SwapMmioWrite16 ( > - IN UINTN Address, > - IN UINT16 Value > - ); > - > -/** > - MmioWrite32 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param Value The value to write to the MMIO register. > - > -**/ > -UINT32 > -EFIAPI > -SwapMmioWrite32 ( > - IN UINTN Address, > - IN UINT32 Value > - ); > - > -/** > - MmioWrite64 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param Value The value to write to the MMIO register. > - > -**/ > -UINT64 > -EFIAPI > -SwapMmioWrite64 ( > - IN UINTN Address, > - IN UINT64 Value > - ); > - > -/** > - MmioAndThenOr16 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param AndData The value to AND with the read value from the MMIO > register. > - @param OrData The value to OR with the result of the AND operation. > - > - @return The value written back to the MMIO register. > - > -**/ > -UINT16 > -EFIAPI > -SwapMmioAndThenOr16 ( > - IN UINTN Address, > - IN UINT16 AndData, > - IN UINT16 OrData > - ); > - > -/** > - MmioAndThenOr32 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param AndData The value to AND with the read value from the MMIO > register. > - @param OrData The value to OR with the result of the AND operation. > - > - @return The value written back to the MMIO register. > - > -**/ > -UINT32 > -EFIAPI > -SwapMmioAndThenOr32 ( > - IN UINTN Address, > - IN UINT32 AndData, > - IN UINT32 OrData > - ); > - > -/** > - MmioAndThenOr64 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param AndData The value to AND with the read value from the MMIO > register. > - @param OrData The value to OR with the result of the AND operation. > - > - @return The value written back to the MMIO register. > - > -**/ > -UINT64 > -EFIAPI > -SwapMmioAndThenOr64 ( > - IN UINTN Address, > - IN UINT64 AndData, > - IN UINT64 OrData > - ); > - > -/** > - MmioOr16 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param OrData The value to OR with the read value from the MMIO register. > - > - @return The value written back to the MMIO register. > - > -**/ > -UINT16 > -EFIAPI > -SwapMmioOr16 ( > - IN UINTN Address, > - IN UINT16 OrData > - ); > - > -/** > - MmioOr32 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param OrData The value to OR with the read value from the MMIO register. > - > - @return The value written back to the MMIO register. > - > -**/ > -UINT32 > -EFIAPI > -SwapMmioOr32 ( > - IN UINTN Address, > - IN UINT32 OrData > - ); > - > -/** > - MmioOr64 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param OrData The value to OR with the read value from the MMIO register. > - > - @return The value written back to the MMIO register. > - > -**/ > -UINT64 > -EFIAPI > -SwapMmioOr64 ( > - IN UINTN Address, > - IN UINT64 OrData > - ); > - > -/** > - MmioAnd16 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param AndData The value to AND with the read value from the MMIO > register. > - > - @return The value written back to the MMIO register. > - > -**/ > -UINT16 > -EFIAPI > -SwapMmioAnd16 ( > - IN UINTN Address, > - IN UINT16 AndData > - ); > - > -/** > - MmioAnd32 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param AndData The value to AND with the read value from the MMIO > register. > - > - @return The value written back to the MMIO register. > - > -**/ > -UINT32 > -EFIAPI > -SwapMmioAnd32 ( > - IN UINTN Address, > - IN UINT32 AndData > - ); > - > -/** > - MmioAnd64 for Big-Endian modules. > - > - @param Address The MMIO register to write. > - @param AndData The value to AND with the read value from the MMIO > register. > - > - @return The value written back to the MMIO register. > - > -**/ > -UINT64 > -EFIAPI > -SwapMmioAnd64 ( > - IN UINTN Address, > - IN UINT64 AndData > - ); > - > #endif /* IO_ACCESS_LIB_H_ */ > diff --git a/Silicon/NXP/Library/IoAccessLib/IoAccessLib.c > b/Silicon/NXP/Library/IoAccessLib/IoAccessLib.c > index 6ed83d019a6e..bb4a93b6f09a 100644 > --- a/Silicon/NXP/Library/IoAccessLib/IoAccessLib.c > +++ b/Silicon/NXP/Library/IoAccessLib/IoAccessLib.c > @@ -2,7 +2,7 @@ > > Provide MMIO APIs for BE modules. > > - Copyright 2017-2019 NXP > + Copyright 2017-2020 NXP > > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -21,6 +21,7 @@ > @return The value read. > > **/ > +STATIC > UINT16 > EFIAPI > SwapMmioRead16 ( > @@ -38,6 +39,7 @@ SwapMmioRead16 ( > @return The value read. > > **/ > +STATIC > UINT32 > EFIAPI > SwapMmioRead32 ( > @@ -55,6 +57,7 @@ SwapMmioRead32 ( > @return The value read. > > **/ > +STATIC > UINT64 > EFIAPI > SwapMmioRead64 ( > @@ -71,6 +74,7 @@ SwapMmioRead64 ( > @param Value The value to write to the MMIO register. > > **/ > +STATIC > UINT16 > EFIAPI > SwapMmioWrite16 ( > @@ -88,6 +92,7 @@ SwapMmioWrite16 ( > @param Value The value to write to the MMIO register. > > **/ > +STATIC > UINT32 > EFIAPI > SwapMmioWrite32 ( > @@ -105,6 +110,7 @@ SwapMmioWrite32 ( > @param Value The value to write to the MMIO register. > > **/ > +STATIC > UINT64 > EFIAPI > SwapMmioWrite64 ( > @@ -125,6 +131,7 @@ SwapMmioWrite64 ( > @return The value written back to the MMIO register. > > **/ > +STATIC > UINT16 > EFIAPI > SwapMmioAndThenOr16 ( > @@ -149,6 +156,7 @@ SwapMmioAndThenOr16 ( > @return The value written back to the MMIO register. > > **/ > +STATIC > UINT32 > EFIAPI > SwapMmioAndThenOr32 ( > @@ -173,6 +181,7 @@ SwapMmioAndThenOr32 ( > @return The value written back to the MMIO register. > > **/ > +STATIC > UINT64 > EFIAPI > SwapMmioAndThenOr64 ( > @@ -196,6 +205,7 @@ SwapMmioAndThenOr64 ( > @return The value written back to the MMIO register. > > **/ > +STATIC > UINT16 > EFIAPI > SwapMmioOr16 ( > @@ -215,6 +225,7 @@ SwapMmioOr16 ( > @return The value written back to the MMIO register. > > **/ > +STATIC > UINT32 > EFIAPI > SwapMmioOr32 ( > @@ -234,6 +245,7 @@ SwapMmioOr32 ( > @return The value written back to the MMIO register. > > **/ > +STATIC > UINT64 > EFIAPI > SwapMmioOr64 ( > @@ -253,6 +265,7 @@ SwapMmioOr64 ( > @return The value written back to the MMIO register. > > **/ > +STATIC > UINT16 > EFIAPI > SwapMmioAnd16 ( > @@ -272,6 +285,7 @@ SwapMmioAnd16 ( > @return The value written back to the MMIO register. > > **/ > +STATIC > UINT32 > EFIAPI > SwapMmioAnd32 ( > @@ -291,6 +305,7 @@ SwapMmioAnd32 ( > @return The value written back to the MMIO register. > > **/ > +STATIC > UINT64 > EFIAPI > SwapMmioAnd64 ( > diff --git a/Silicon/NXP/Library/SocLib/Chassis.c > b/Silicon/NXP/Library/SocLib/Chassis.c > index 90677f0f36ca..d7bc55c9d275 100644 > --- a/Silicon/NXP/Library/SocLib/Chassis.c > +++ b/Silicon/NXP/Library/SocLib/Chassis.c > @@ -30,11 +30,11 @@ GurRead ( > IN UINTN Address > ) > { > - if (FixedPcdGetBool (PcdGurBigEndian)) { > - return SwapMmioRead32 (Address); > - } else { > - return MmioRead32 (Address); > - } > + MMIO_OPERATIONS_32 *GurOps; > + > + GurOps = GetMmioOperations32 (FixedPcdGetBool (PcdGurBigEndian)); > + > + return GurOps->Read32 (Address); > } > > /* > -- > 2.17.1 > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#57935): https://edk2.groups.io/g/devel/message/57935 Mute This Topic: https://groups.io/mt/73008825/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
