diff options
author | Clement Leger <clement.leger@bootlin.com> | 2022-01-17 23:19:15 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2022-01-18 09:07:27 +0100 |
commit | bc7544104c5504d655192767f1df636c2dc3b3f5 (patch) | |
tree | 8be07548026a56840103ec44c426414a2db72a67 /arch/kvx | |
parent | f3903b7259777a94ec62289329224e31620ab17f (diff) | |
download | barebox-bc7544104c5504d655192767f1df636c2dc3b3f5.tar.gz barebox-bc7544104c5504d655192767f1df636c2dc3b3f5.tar.xz |
kvx: add kvx_sfr_field_val
Add this macro for upcoming socinfo driver. This extract a sfr field
using only its name.
Signed-off-by: Clement Leger <clement.leger@bootlin.com>
Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu>
Link: https://lore.barebox.org/20220117221917.26970-10-jmaselbas@kalray.eu
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/kvx')
-rw-r--r-- | arch/kvx/include/asm/sfr.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/kvx/include/asm/sfr.h b/arch/kvx/include/asm/sfr.h index 5b93cee345..89ff64bbdc 100644 --- a/arch/kvx/include/asm/sfr.h +++ b/arch/kvx/include/asm/sfr.h @@ -44,4 +44,8 @@ kvx_sfr_set_mask(unsigned char sfr, uint64_t mask, uint64_t value) #define kvx_sfr_set(_sfr, _val) __builtin_kvx_set(KVX_SFR_ ## _sfr, _val) #define kvx_sfr_get(_sfr) __builtin_kvx_get(KVX_SFR_ ## _sfr) +#define kvx_sfr_field_val(_val, _sfr, _field) \ + (((_val) & KVX_SFR_ ## _sfr ## _ ## _field ## _MASK) \ + >> KVX_SFR_ ## _sfr ## _ ## _field ## _SHIFT) + #endif /* _ASM_KVX_SFR_DEFS_H */ |