Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: ccree - update register handling macros

Changed CC_GENMASK macro so it can be used for all HW registers.

Signed-off-by: Hadar Gat <hadar.gat@arm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Hadar Gat and committed by
Herbert Xu
d8215ff1 b6102813

+36 -41
+1 -3
drivers/crypto/ccree/cc_driver.h
··· 71 71 72 72 #define CC_NVM_IS_IDLE_MASK BIT(CC_NVM_IS_IDLE_VALUE_BIT_SHIFT) 73 73 74 - #define AXIM_MON_COMP_VALUE GENMASK(CC_AXIM_MON_COMP_VALUE_BIT_SIZE + \ 75 - CC_AXIM_MON_COMP_VALUE_BIT_SHIFT, \ 76 - CC_AXIM_MON_COMP_VALUE_BIT_SHIFT) 74 + #define AXIM_MON_COMP_VALUE CC_GENMASK(CC_AXIM_MON_COMP_VALUE) 77 75 78 76 #define CC_CPP_AES_ABORT_MASK ( \ 79 77 BIT(CC_HOST_IMR_REE_OP_ABORTED_AES_0_MASK_BIT_SHIFT) | \
+35 -38
drivers/crypto/ccree/cc_hw_queue_defs.h
··· 17 17 /* Define max. available slots in HW queue */ 18 18 #define HW_QUEUE_SLOTS_MAX 15 19 19 20 - #define CC_REG_LOW(word, name) \ 21 - (CC_DSCRPTR_QUEUE_WORD ## word ## _ ## name ## _BIT_SHIFT) 20 + #define CC_REG_LOW(name) (name ## _BIT_SHIFT) 21 + #define CC_REG_HIGH(name) (CC_REG_LOW(name) + name ## _BIT_SIZE - 1) 22 + #define CC_GENMASK(name) GENMASK(CC_REG_HIGH(name), CC_REG_LOW(name)) 22 23 23 - #define CC_REG_HIGH(word, name) \ 24 - (CC_REG_LOW(word, name) + \ 25 - CC_DSCRPTR_QUEUE_WORD ## word ## _ ## name ## _BIT_SIZE - 1) 24 + #define CC_HWQ_GENMASK(word, field) \ 25 + CC_GENMASK(CC_DSCRPTR_QUEUE_WORD ## word ## _ ## field) 26 26 27 - #define CC_GENMASK(word, name) \ 28 - GENMASK(CC_REG_HIGH(word, name), CC_REG_LOW(word, name)) 29 - 30 - #define WORD0_VALUE CC_GENMASK(0, VALUE) 31 - #define WORD0_CPP_CIPHER_MODE CC_GENMASK(0, CPP_CIPHER_MODE) 32 - #define WORD1_DIN_CONST_VALUE CC_GENMASK(1, DIN_CONST_VALUE) 33 - #define WORD1_DIN_DMA_MODE CC_GENMASK(1, DIN_DMA_MODE) 34 - #define WORD1_DIN_SIZE CC_GENMASK(1, DIN_SIZE) 35 - #define WORD1_NOT_LAST CC_GENMASK(1, NOT_LAST) 36 - #define WORD1_NS_BIT CC_GENMASK(1, NS_BIT) 37 - #define WORD1_LOCK_QUEUE CC_GENMASK(1, LOCK_QUEUE) 38 - #define WORD2_VALUE CC_GENMASK(2, VALUE) 39 - #define WORD3_DOUT_DMA_MODE CC_GENMASK(3, DOUT_DMA_MODE) 40 - #define WORD3_DOUT_LAST_IND CC_GENMASK(3, DOUT_LAST_IND) 41 - #define WORD3_DOUT_SIZE CC_GENMASK(3, DOUT_SIZE) 42 - #define WORD3_HASH_XOR_BIT CC_GENMASK(3, HASH_XOR_BIT) 43 - #define WORD3_NS_BIT CC_GENMASK(3, NS_BIT) 44 - #define WORD3_QUEUE_LAST_IND CC_GENMASK(3, QUEUE_LAST_IND) 45 - #define WORD4_ACK_NEEDED CC_GENMASK(4, ACK_NEEDED) 46 - #define WORD4_AES_SEL_N_HASH CC_GENMASK(4, AES_SEL_N_HASH) 47 - #define WORD4_AES_XOR_CRYPTO_KEY CC_GENMASK(4, AES_XOR_CRYPTO_KEY) 48 - #define WORD4_BYTES_SWAP CC_GENMASK(4, BYTES_SWAP) 49 - #define WORD4_CIPHER_CONF0 CC_GENMASK(4, CIPHER_CONF0) 50 - #define WORD4_CIPHER_CONF1 CC_GENMASK(4, CIPHER_CONF1) 51 - #define WORD4_CIPHER_CONF2 CC_GENMASK(4, CIPHER_CONF2) 52 - #define WORD4_CIPHER_DO CC_GENMASK(4, CIPHER_DO) 53 - #define WORD4_CIPHER_MODE CC_GENMASK(4, CIPHER_MODE) 54 - #define WORD4_CMAC_SIZE0 CC_GENMASK(4, CMAC_SIZE0) 55 - #define WORD4_DATA_FLOW_MODE CC_GENMASK(4, DATA_FLOW_MODE) 56 - #define WORD4_KEY_SIZE CC_GENMASK(4, KEY_SIZE) 57 - #define WORD4_SETUP_OPERATION CC_GENMASK(4, SETUP_OPERATION) 58 - #define WORD5_DIN_ADDR_HIGH CC_GENMASK(5, DIN_ADDR_HIGH) 59 - #define WORD5_DOUT_ADDR_HIGH CC_GENMASK(5, DOUT_ADDR_HIGH) 27 + #define WORD0_VALUE CC_HWQ_GENMASK(0, VALUE) 28 + #define WORD0_CPP_CIPHER_MODE CC_HWQ_GENMASK(0, CPP_CIPHER_MODE) 29 + #define WORD1_DIN_CONST_VALUE CC_HWQ_GENMASK(1, DIN_CONST_VALUE) 30 + #define WORD1_DIN_DMA_MODE CC_HWQ_GENMASK(1, DIN_DMA_MODE) 31 + #define WORD1_DIN_SIZE CC_HWQ_GENMASK(1, DIN_SIZE) 32 + #define WORD1_NOT_LAST CC_HWQ_GENMASK(1, NOT_LAST) 33 + #define WORD1_NS_BIT CC_HWQ_GENMASK(1, NS_BIT) 34 + #define WORD1_LOCK_QUEUE CC_HWQ_GENMASK(1, LOCK_QUEUE) 35 + #define WORD2_VALUE CC_HWQ_GENMASK(2, VALUE) 36 + #define WORD3_DOUT_DMA_MODE CC_HWQ_GENMASK(3, DOUT_DMA_MODE) 37 + #define WORD3_DOUT_LAST_IND CC_HWQ_GENMASK(3, DOUT_LAST_IND) 38 + #define WORD3_DOUT_SIZE CC_HWQ_GENMASK(3, DOUT_SIZE) 39 + #define WORD3_HASH_XOR_BIT CC_HWQ_GENMASK(3, HASH_XOR_BIT) 40 + #define WORD3_NS_BIT CC_HWQ_GENMASK(3, NS_BIT) 41 + #define WORD3_QUEUE_LAST_IND CC_HWQ_GENMASK(3, QUEUE_LAST_IND) 42 + #define WORD4_ACK_NEEDED CC_HWQ_GENMASK(4, ACK_NEEDED) 43 + #define WORD4_AES_SEL_N_HASH CC_HWQ_GENMASK(4, AES_SEL_N_HASH) 44 + #define WORD4_AES_XOR_CRYPTO_KEY CC_HWQ_GENMASK(4, AES_XOR_CRYPTO_KEY) 45 + #define WORD4_BYTES_SWAP CC_HWQ_GENMASK(4, BYTES_SWAP) 46 + #define WORD4_CIPHER_CONF0 CC_HWQ_GENMASK(4, CIPHER_CONF0) 47 + #define WORD4_CIPHER_CONF1 CC_HWQ_GENMASK(4, CIPHER_CONF1) 48 + #define WORD4_CIPHER_CONF2 CC_HWQ_GENMASK(4, CIPHER_CONF2) 49 + #define WORD4_CIPHER_DO CC_HWQ_GENMASK(4, CIPHER_DO) 50 + #define WORD4_CIPHER_MODE CC_HWQ_GENMASK(4, CIPHER_MODE) 51 + #define WORD4_CMAC_SIZE0 CC_HWQ_GENMASK(4, CMAC_SIZE0) 52 + #define WORD4_DATA_FLOW_MODE CC_HWQ_GENMASK(4, DATA_FLOW_MODE) 53 + #define WORD4_KEY_SIZE CC_HWQ_GENMASK(4, KEY_SIZE) 54 + #define WORD4_SETUP_OPERATION CC_HWQ_GENMASK(4, SETUP_OPERATION) 55 + #define WORD5_DIN_ADDR_HIGH CC_HWQ_GENMASK(5, DIN_ADDR_HIGH) 56 + #define WORD5_DOUT_ADDR_HIGH CC_HWQ_GENMASK(5, DOUT_ADDR_HIGH) 60 57 61 58 /****************************************************************************** 62 59 * TYPE DEFINITIONS