[PATCH 1/1] common/cnxk: added new macros to platform layer
Morten Brørup
mb at smartsharesystems.com
Wed Apr 13 09:08:16 CEST 2022
> From: Srikanth Yalavarthi [mailto:syalavarthi at marvell.com]
> Sent: Tuesday, 12 April 2022 19.42
>
> Added new macros for pointer operations, bitwise operations,
> spinlocks and 32 bit read and write.
>
> Signed-off-by: Srikanth Yalavarthi <syalavarthi at marvell.com>
> ---
> drivers/common/cnxk/roc_bits.h | 12 ++++++++++++
> drivers/common/cnxk/roc_platform.h | 28 +++++++++++++++++++---------
> 2 files changed, 31 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/common/cnxk/roc_bits.h
> b/drivers/common/cnxk/roc_bits.h
> index 11216d9d63..ce3dffa08d 100644
> --- a/drivers/common/cnxk/roc_bits.h
> +++ b/drivers/common/cnxk/roc_bits.h
> @@ -29,4 +29,16 @@
> (~0ULL >> (BITS_PER_LONG_LONG - 1 - (h))))
> #endif
>
> +#ifndef IS_BIT_SET
> +#define IS_BIT_SET(num, n) ((num) & (1 << (n)))
> +#endif
> +
> +#ifndef SET_BIT
> +#define SET_BIT(num, n) ((num) | (1 << (n)))
> +#endif
> +
> +#ifndef CLEAR_BIT
> +#define CLEAR_BIT(num, n) ((num) &= ~((1) << (n)))
> +#endif
> +
> #endif /* _ROC_BITS_H_ */
You could consider replacing these with explicit 32/64 bit variants, using the RTE_BIT64() and RTE_BIT32() macros instead of (1 << (n)).
Just a suggestion - I'll leave it up to you.
-Morten
More information about the dev
mailing list