Skip to content

Commit d8215ff

Browse files
hadargatherbertx
authored andcommitted
crypto: ccree - update register handling macros
Changed CC_GENMASK macro so it can be used for all HW registers. Signed-off-by: Hadar Gat <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
1 parent b610281 commit d8215ff

File tree

2 files changed

+38
-43
lines changed

2 files changed

+38
-43
lines changed

drivers/crypto/ccree/cc_driver.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,7 @@ enum cc_std_body {
7171

7272
#define CC_NVM_IS_IDLE_MASK BIT(CC_NVM_IS_IDLE_VALUE_BIT_SHIFT)
7373

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)
7775

7876
#define CC_CPP_AES_ABORT_MASK ( \
7977
BIT(CC_HOST_IMR_REE_OP_ABORTED_AES_0_MASK_BIT_SHIFT) | \

drivers/crypto/ccree/cc_hw_queue_defs.h

Lines changed: 37 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -17,46 +17,43 @@
1717
/* Define max. available slots in HW queue */
1818
#define HW_QUEUE_SLOTS_MAX 15
1919

20-
#define CC_REG_LOW(word, name) \
21-
(CC_DSCRPTR_QUEUE_WORD ## word ## _ ## name ## _BIT_SHIFT)
22-
23-
#define CC_REG_HIGH(word, name) \
24-
(CC_REG_LOW(word, name) + \
25-
CC_DSCRPTR_QUEUE_WORD ## word ## _ ## name ## _BIT_SIZE - 1)
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)
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))
23+
24+
#define CC_HWQ_GENMASK(word, field) \
25+
CC_GENMASK(CC_DSCRPTR_QUEUE_WORD ## word ## _ ## field)
26+
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)
6057

6158
/******************************************************************************
6259
* TYPE DEFINITIONS

0 commit comments

Comments
 (0)