net: ena: cosmetic: extract code to ena_indirection_table_set()
Extract code to ena_indirection_table_set() to make the code cleaner. Signed-off-by: Sameeh Jubran <sameehj@amazon.com> Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
dcc2789a11
commit
77a651f564
@ -636,6 +636,32 @@ static u32 ena_get_rxfh_key_size(struct net_device *netdev)
|
|||||||
return ENA_HASH_KEY_SIZE;
|
return ENA_HASH_KEY_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int ena_indirection_table_set(struct ena_adapter *adapter,
|
||||||
|
const u32 *indir)
|
||||||
|
{
|
||||||
|
struct ena_com_dev *ena_dev = adapter->ena_dev;
|
||||||
|
int i, rc;
|
||||||
|
|
||||||
|
for (i = 0; i < ENA_RX_RSS_TABLE_SIZE; i++) {
|
||||||
|
rc = ena_com_indirect_table_fill_entry(ena_dev,
|
||||||
|
i,
|
||||||
|
ENA_IO_RXQ_IDX(indir[i]));
|
||||||
|
if (unlikely(rc)) {
|
||||||
|
netif_err(adapter, drv, adapter->netdev,
|
||||||
|
"Cannot fill indirect table (index is too large)\n");
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rc = ena_com_indirect_table_set(ena_dev);
|
||||||
|
if (rc) {
|
||||||
|
netif_err(adapter, drv, adapter->netdev,
|
||||||
|
"Cannot set indirect table\n");
|
||||||
|
return rc == -EPERM ? -EOPNOTSUPP : rc;
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
static int ena_indirection_table_get(struct ena_adapter *adapter, u32 *indir)
|
static int ena_indirection_table_get(struct ena_adapter *adapter, u32 *indir)
|
||||||
{
|
{
|
||||||
struct ena_com_dev *ena_dev = adapter->ena_dev;
|
struct ena_com_dev *ena_dev = adapter->ena_dev;
|
||||||
@ -710,26 +736,12 @@ static int ena_set_rxfh(struct net_device *netdev, const u32 *indir,
|
|||||||
struct ena_adapter *adapter = netdev_priv(netdev);
|
struct ena_adapter *adapter = netdev_priv(netdev);
|
||||||
struct ena_com_dev *ena_dev = adapter->ena_dev;
|
struct ena_com_dev *ena_dev = adapter->ena_dev;
|
||||||
enum ena_admin_hash_functions func = 0;
|
enum ena_admin_hash_functions func = 0;
|
||||||
int rc, i;
|
int rc;
|
||||||
|
|
||||||
if (indir) {
|
if (indir) {
|
||||||
for (i = 0; i < ENA_RX_RSS_TABLE_SIZE; i++) {
|
rc = ena_indirection_table_set(adapter, indir);
|
||||||
rc = ena_com_indirect_table_fill_entry(ena_dev,
|
if (rc)
|
||||||
i,
|
return rc;
|
||||||
ENA_IO_RXQ_IDX(indir[i]));
|
|
||||||
if (unlikely(rc)) {
|
|
||||||
netif_err(adapter, drv, netdev,
|
|
||||||
"Cannot fill indirect table (index is too large)\n");
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rc = ena_com_indirect_table_set(ena_dev);
|
|
||||||
if (rc) {
|
|
||||||
netif_err(adapter, drv, netdev,
|
|
||||||
"Cannot set indirect table\n");
|
|
||||||
return rc == -EPERM ? -EOPNOTSUPP : rc;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (hfunc) {
|
switch (hfunc) {
|
||||||
|
Reference in New Issue
Block a user