net: ena: changes to RSS hash key allocation
This commit contains 2 cosmetic changes: 1. Use ena_com_check_supported_feature_id() in ena_com_hash_key_fill_default_key() instead of rewriting its implementation. This also saves us a superfluous admin command by using the cached value. 2. Change if conditions in ena_com_rss_init() to be clearer. Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com> Signed-off-by: Sameeh Jubran <sameehj@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c1bd17e51c
commit
0af3c4e2ea
1 changed files with 5 additions and 11 deletions
|
@ -1067,16 +1067,10 @@ static void ena_com_hash_key_fill_default_key(struct ena_com_dev *ena_dev)
|
||||||
static int ena_com_hash_key_allocate(struct ena_com_dev *ena_dev)
|
static int ena_com_hash_key_allocate(struct ena_com_dev *ena_dev)
|
||||||
{
|
{
|
||||||
struct ena_rss *rss = &ena_dev->rss;
|
struct ena_rss *rss = &ena_dev->rss;
|
||||||
struct ena_admin_get_feat_resp get_resp;
|
|
||||||
int rc;
|
|
||||||
|
|
||||||
rc = ena_com_get_feature_ex(ena_dev, &get_resp,
|
if (!ena_com_check_supported_feature_id(ena_dev,
|
||||||
ENA_ADMIN_RSS_HASH_FUNCTION,
|
ENA_ADMIN_RSS_HASH_FUNCTION))
|
||||||
ena_dev->rss.hash_key_dma_addr,
|
|
||||||
sizeof(ena_dev->rss.hash_key), 0);
|
|
||||||
if (unlikely(rc)) {
|
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
|
||||||
|
|
||||||
rss->hash_key =
|
rss->hash_key =
|
||||||
dma_alloc_coherent(ena_dev->dmadev, sizeof(*rss->hash_key),
|
dma_alloc_coherent(ena_dev->dmadev, sizeof(*rss->hash_key),
|
||||||
|
@ -2650,10 +2644,10 @@ int ena_com_rss_init(struct ena_com_dev *ena_dev, u16 indr_tbl_log_size)
|
||||||
* ignore this error and have indirection table support only.
|
* ignore this error and have indirection table support only.
|
||||||
*/
|
*/
|
||||||
rc = ena_com_hash_key_allocate(ena_dev);
|
rc = ena_com_hash_key_allocate(ena_dev);
|
||||||
if (unlikely(rc) && rc != -EOPNOTSUPP)
|
if (likely(!rc))
|
||||||
goto err_hash_key;
|
|
||||||
else if (rc != -EOPNOTSUPP)
|
|
||||||
ena_com_hash_key_fill_default_key(ena_dev);
|
ena_com_hash_key_fill_default_key(ena_dev);
|
||||||
|
else if (rc != -EOPNOTSUPP)
|
||||||
|
goto err_hash_key;
|
||||||
|
|
||||||
rc = ena_com_hash_ctrl_init(ena_dev);
|
rc = ena_com_hash_ctrl_init(ena_dev);
|
||||||
if (unlikely(rc))
|
if (unlikely(rc))
|
||||||
|
|
Loading…
Add table
Reference in a new issue