net: ena: Change RSS related macros and variables names
The formal name changes to "ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG". Indirection is the ability to reference "something" using "something else" instead of the value itself. Indirection table, as the name implies, is the ability to reference CPU/Queue value using hash-to-CPU table instead of CPU/Queue itself. This patch renames the variable keys_num, which describes the number of words in the RSS hash key, to key_parts which makes its purpose clearer in RSS context. Signed-off-by: Amit Bernstein <amitbern@amazon.com> Signed-off-by: Shay Agroskin <shayagr@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a8aea84981
commit
0deca83ff1
|
@ -274,7 +274,7 @@ RSS
|
|||
inputs for hash functions.
|
||||
- The driver configures RSS settings using the AQ SetFeature command
|
||||
(ENA_ADMIN_RSS_HASH_FUNCTION, ENA_ADMIN_RSS_HASH_INPUT and
|
||||
ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG properties).
|
||||
ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG properties).
|
||||
- If the NETIF_F_RXHASH flag is set, the 32-bit result of the hash
|
||||
function delivered in the Rx CQ descriptor is set in the received
|
||||
SKB.
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#ifndef _ENA_ADMIN_H_
|
||||
#define _ENA_ADMIN_H_
|
||||
|
||||
#define ENA_ADMIN_RSS_KEY_PARTS 10
|
||||
|
||||
enum ena_admin_aq_opcode {
|
||||
ENA_ADMIN_CREATE_SQ = 1,
|
||||
|
@ -37,7 +38,7 @@ enum ena_admin_aq_feature_id {
|
|||
ENA_ADMIN_MAX_QUEUES_EXT = 7,
|
||||
ENA_ADMIN_RSS_HASH_FUNCTION = 10,
|
||||
ENA_ADMIN_STATELESS_OFFLOAD_CONFIG = 11,
|
||||
ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG = 12,
|
||||
ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG = 12,
|
||||
ENA_ADMIN_MTU = 14,
|
||||
ENA_ADMIN_RSS_HASH_INPUT = 18,
|
||||
ENA_ADMIN_INTERRUPT_MODERATION = 20,
|
||||
|
@ -716,11 +717,11 @@ enum ena_admin_hash_functions {
|
|||
};
|
||||
|
||||
struct ena_admin_feature_rss_flow_hash_control {
|
||||
u32 keys_num;
|
||||
u32 key_parts;
|
||||
|
||||
u32 reserved;
|
||||
|
||||
u32 key[10];
|
||||
u32 key[ENA_ADMIN_RSS_KEY_PARTS];
|
||||
};
|
||||
|
||||
struct ena_admin_feature_rss_flow_hash_function {
|
||||
|
|
|
@ -1055,11 +1055,10 @@ static void ena_com_hash_key_fill_default_key(struct ena_com_dev *ena_dev)
|
|||
(ena_dev->rss).hash_key;
|
||||
|
||||
netdev_rss_key_fill(&hash_key->key, sizeof(hash_key->key));
|
||||
/* The key is stored in the device in u32 array
|
||||
* as well as the API requires the key to be passed in this
|
||||
* format. Thus the size of our array should be divided by 4
|
||||
/* The key buffer is stored in the device in an array of
|
||||
* uint32 elements.
|
||||
*/
|
||||
hash_key->keys_num = sizeof(hash_key->key) / sizeof(u32);
|
||||
hash_key->key_parts = ENA_ADMIN_RSS_KEY_PARTS;
|
||||
}
|
||||
|
||||
static int ena_com_hash_key_allocate(struct ena_com_dev *ena_dev)
|
||||
|
@ -1123,7 +1122,7 @@ static int ena_com_indirect_table_allocate(struct ena_com_dev *ena_dev,
|
|||
int ret;
|
||||
|
||||
ret = ena_com_get_feature(ena_dev, &get_resp,
|
||||
ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG, 0);
|
||||
ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG, 0);
|
||||
if (unlikely(ret))
|
||||
return ret;
|
||||
|
||||
|
@ -2335,7 +2334,7 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
|
|||
}
|
||||
memcpy(hash_key->key, key, key_len);
|
||||
rss->hash_init_val = init_val;
|
||||
hash_key->keys_num = key_len >> 2;
|
||||
hash_key->key_parts = key_len / sizeof(hash_key->key[0]);
|
||||
}
|
||||
break;
|
||||
case ENA_ADMIN_CRC32:
|
||||
|
@ -2390,7 +2389,8 @@ int ena_com_get_hash_key(struct ena_com_dev *ena_dev, u8 *key)
|
|||
ena_dev->rss.hash_key;
|
||||
|
||||
if (key)
|
||||
memcpy(key, hash_key->key, (size_t)(hash_key->keys_num) << 2);
|
||||
memcpy(key, hash_key->key,
|
||||
(size_t)(hash_key->key_parts) * sizeof(hash_key->key[0]));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -2585,9 +2585,9 @@ int ena_com_indirect_table_set(struct ena_com_dev *ena_dev)
|
|||
int ret;
|
||||
|
||||
if (!ena_com_check_supported_feature_id(
|
||||
ena_dev, ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG)) {
|
||||
ena_dev, ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG)) {
|
||||
pr_debug("Feature %d isn't supported\n",
|
||||
ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG);
|
||||
ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG);
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
|
@ -2602,7 +2602,7 @@ int ena_com_indirect_table_set(struct ena_com_dev *ena_dev)
|
|||
cmd.aq_common_descriptor.opcode = ENA_ADMIN_SET_FEATURE;
|
||||
cmd.aq_common_descriptor.flags =
|
||||
ENA_ADMIN_AQ_COMMON_DESC_CTRL_DATA_INDIRECT_MASK;
|
||||
cmd.feat_common.feature_id = ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG;
|
||||
cmd.feat_common.feature_id = ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG;
|
||||
cmd.u.ind_table.size = rss->tbl_log_size;
|
||||
cmd.u.ind_table.inline_index = 0xFFFFFFFF;
|
||||
|
||||
|
@ -2640,7 +2640,7 @@ int ena_com_indirect_table_get(struct ena_com_dev *ena_dev, u32 *ind_tbl)
|
|||
sizeof(struct ena_admin_rss_ind_table_entry);
|
||||
|
||||
rc = ena_com_get_feature_ex(ena_dev, &get_resp,
|
||||
ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG,
|
||||
ENA_ADMIN_RSS_INDIRECTION_TABLE_CONFIG,
|
||||
rss->rss_ind_tbl_dma_addr,
|
||||
tbl_size, 0);
|
||||
if (unlikely(rc))
|
||||
|
|
Loading…
Reference in a new issue