Commit ebe14dad authored by Paolo Abeni's avatar Paolo Abeni

Merge branch 'net-hns3-there-are-some-cleanup-for-the-hns3-ethernet-driver'

Hao Lan says:

====================
net: hns3: There are some cleanup for the HNS3 ethernet driver

There are some cleanup for the HNS3 ethernet driver.
====================

Link: https://lore.kernel.org/r/20230621123309.34381-1-lanhao@huawei.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parents e6988447 ed1c6f35
...@@ -647,8 +647,7 @@ struct hnae3_ae_ops { ...@@ -647,8 +647,7 @@ struct hnae3_ae_ops {
int (*rm_mc_addr)(struct hnae3_handle *handle, int (*rm_mc_addr)(struct hnae3_handle *handle,
const unsigned char *addr); const unsigned char *addr);
void (*set_tso_stats)(struct hnae3_handle *handle, int enable); void (*set_tso_stats)(struct hnae3_handle *handle, int enable);
void (*update_stats)(struct hnae3_handle *handle, void (*update_stats)(struct hnae3_handle *handle);
struct net_device_stats *net_stats);
void (*get_stats)(struct hnae3_handle *handle, u64 *data); void (*get_stats)(struct hnae3_handle *handle, u64 *data);
void (*get_mac_stats)(struct hnae3_handle *handle, void (*get_mac_stats)(struct hnae3_handle *handle,
struct hns3_mac_stats *mac_stats); struct hns3_mac_stats *mac_stats);
......
...@@ -305,8 +305,7 @@ int hclge_comm_set_rss_indir_table(struct hnae3_ae_dev *ae_dev, ...@@ -305,8 +305,7 @@ int hclge_comm_set_rss_indir_table(struct hnae3_ae_dev *ae_dev,
return 0; return 0;
} }
int hclge_comm_set_rss_input_tuple(struct hnae3_handle *nic, int hclge_comm_set_rss_input_tuple(struct hclge_comm_hw *hw,
struct hclge_comm_hw *hw, bool is_pf,
struct hclge_comm_rss_cfg *rss_cfg) struct hclge_comm_rss_cfg *rss_cfg)
{ {
struct hclge_comm_rss_input_tuple_cmd *req; struct hclge_comm_rss_input_tuple_cmd *req;
......
...@@ -112,8 +112,7 @@ int hclge_comm_init_rss_tuple_cmd(struct hclge_comm_rss_cfg *rss_cfg, ...@@ -112,8 +112,7 @@ int hclge_comm_init_rss_tuple_cmd(struct hclge_comm_rss_cfg *rss_cfg,
struct hnae3_ae_dev *ae_dev, struct hnae3_ae_dev *ae_dev,
struct hclge_comm_rss_input_tuple_cmd *req); struct hclge_comm_rss_input_tuple_cmd *req);
u64 hclge_comm_convert_rss_tuple(u8 tuple_sets); u64 hclge_comm_convert_rss_tuple(u8 tuple_sets);
int hclge_comm_set_rss_input_tuple(struct hnae3_handle *nic, int hclge_comm_set_rss_input_tuple(struct hclge_comm_hw *hw,
struct hclge_comm_hw *hw, bool is_pf,
struct hclge_comm_rss_cfg *rss_cfg); struct hclge_comm_rss_cfg *rss_cfg);
int hclge_comm_set_rss_indir_table(struct hnae3_ae_dev *ae_dev, int hclge_comm_set_rss_indir_table(struct hnae3_ae_dev *ae_dev,
struct hclge_comm_hw *hw, const u16 *indir); struct hclge_comm_hw *hw, const u16 *indir);
......
...@@ -438,19 +438,36 @@ static void hns3_dbg_fill_content(char *content, u16 len, ...@@ -438,19 +438,36 @@ static void hns3_dbg_fill_content(char *content, u16 len,
const struct hns3_dbg_item *items, const struct hns3_dbg_item *items,
const char **result, u16 size) const char **result, u16 size)
{ {
#define HNS3_DBG_LINE_END_LEN 2
char *pos = content; char *pos = content;
u16 item_len;
u16 i; u16 i;
if (!len) {
return;
} else if (len <= HNS3_DBG_LINE_END_LEN) {
*pos++ = '\0';
return;
}
memset(content, ' ', len); memset(content, ' ', len);
for (i = 0; i < size; i++) { len -= HNS3_DBG_LINE_END_LEN;
if (result)
strncpy(pos, result[i], strlen(result[i]));
else
strncpy(pos, items[i].name, strlen(items[i].name));
pos += strlen(items[i].name) + items[i].interval; for (i = 0; i < size; i++) {
item_len = strlen(items[i].name) + items[i].interval;
if (len < item_len)
break;
if (result) {
if (item_len < strlen(result[i]))
break;
strscpy(pos, result[i], strlen(result[i]));
} else {
strscpy(pos, items[i].name, strlen(items[i].name));
}
pos += item_len;
len -= item_len;
} }
*pos++ = '\n'; *pos++ = '\n';
*pos++ = '\0'; *pos++ = '\0';
} }
...@@ -941,8 +958,7 @@ static const struct hns3_dbg_item tx_bd_info_items[] = { ...@@ -941,8 +958,7 @@ static const struct hns3_dbg_item tx_bd_info_items[] = {
{ "MSS_HW_CSUM", 0 }, { "MSS_HW_CSUM", 0 },
}; };
static void hns3_dump_tx_bd_info(struct hns3_nic_priv *priv, static void hns3_dump_tx_bd_info(struct hns3_desc *desc, char **result, int idx)
struct hns3_desc *desc, char **result, int idx)
{ {
unsigned int j = 0; unsigned int j = 0;
...@@ -991,7 +1007,7 @@ static int hns3_dbg_tx_bd_info(struct hns3_dbg_data *d, char *buf, int len) ...@@ -991,7 +1007,7 @@ static int hns3_dbg_tx_bd_info(struct hns3_dbg_data *d, char *buf, int len)
for (i = 0; i < ring->desc_num; i++) { for (i = 0; i < ring->desc_num; i++) {
desc = &ring->desc[i]; desc = &ring->desc[i];
hns3_dump_tx_bd_info(priv, desc, result, i); hns3_dump_tx_bd_info(desc, result, i);
hns3_dbg_fill_content(content, sizeof(content), hns3_dbg_fill_content(content, sizeof(content),
tx_bd_info_items, (const char **)result, tx_bd_info_items, (const char **)result,
ARRAY_SIZE(tx_bd_info_items)); ARRAY_SIZE(tx_bd_info_items));
......
...@@ -2538,7 +2538,7 @@ static void hns3_nic_get_stats64(struct net_device *netdev, ...@@ -2538,7 +2538,7 @@ static void hns3_nic_get_stats64(struct net_device *netdev,
if (test_bit(HNS3_NIC_STATE_DOWN, &priv->state)) if (test_bit(HNS3_NIC_STATE_DOWN, &priv->state))
return; return;
handle->ae_algo->ops->update_stats(handle, &netdev->stats); handle->ae_algo->ops->update_stats(handle);
memset(&ring_total_stats, 0, sizeof(ring_total_stats)); memset(&ring_total_stats, 0, sizeof(ring_total_stats));
for (idx = 0; idx < queue_num; idx++) { for (idx = 0; idx < queue_num; idx++) {
......
...@@ -228,7 +228,7 @@ static u32 hns3_lb_check_rx_ring(struct hns3_nic_priv *priv, u32 budget) ...@@ -228,7 +228,7 @@ static u32 hns3_lb_check_rx_ring(struct hns3_nic_priv *priv, u32 budget)
} }
static void hns3_lb_clear_tx_ring(struct hns3_nic_priv *priv, u32 start_ringid, static void hns3_lb_clear_tx_ring(struct hns3_nic_priv *priv, u32 start_ringid,
u32 end_ringid, u32 budget) u32 end_ringid)
{ {
u32 i; u32 i;
...@@ -295,8 +295,7 @@ static int hns3_lp_run_test(struct net_device *ndev, enum hnae3_loop mode) ...@@ -295,8 +295,7 @@ static int hns3_lp_run_test(struct net_device *ndev, enum hnae3_loop mode)
out: out:
hns3_lb_clear_tx_ring(priv, HNS3_NIC_LB_TEST_RING_ID, hns3_lb_clear_tx_ring(priv, HNS3_NIC_LB_TEST_RING_ID,
HNS3_NIC_LB_TEST_RING_ID, HNS3_NIC_LB_TEST_RING_ID);
HNS3_NIC_LB_TEST_PKT_NUM);
kfree_skb(skb); kfree_skb(skb);
return ret_val; return ret_val;
...@@ -618,7 +617,7 @@ static void hns3_get_stats(struct net_device *netdev, ...@@ -618,7 +617,7 @@ static void hns3_get_stats(struct net_device *netdev,
return; return;
} }
h->ae_algo->ops->update_stats(h, &netdev->stats); h->ae_algo->ops->update_stats(h);
/* get per-queue stats */ /* get per-queue stats */
p = hns3_get_stats_tqps(h, p); p = hns3_get_stats_tqps(h, p);
......
...@@ -88,16 +88,35 @@ static void hclge_dbg_fill_content(char *content, u16 len, ...@@ -88,16 +88,35 @@ static void hclge_dbg_fill_content(char *content, u16 len,
const struct hclge_dbg_item *items, const struct hclge_dbg_item *items,
const char **result, u16 size) const char **result, u16 size)
{ {
#define HCLGE_DBG_LINE_END_LEN 2
char *pos = content; char *pos = content;
u16 item_len;
u16 i; u16 i;
if (!len) {
return;
} else if (len <= HCLGE_DBG_LINE_END_LEN) {
*pos++ = '\0';
return;
}
memset(content, ' ', len); memset(content, ' ', len);
len -= HCLGE_DBG_LINE_END_LEN;
for (i = 0; i < size; i++) { for (i = 0; i < size; i++) {
if (result) item_len = strlen(items[i].name) + items[i].interval;
strncpy(pos, result[i], strlen(result[i])); if (len < item_len)
else break;
strncpy(pos, items[i].name, strlen(items[i].name));
pos += strlen(items[i].name) + items[i].interval; if (result) {
if (item_len < strlen(result[i]))
break;
strscpy(pos, result[i], strlen(result[i]));
} else {
strscpy(pos, items[i].name, strlen(items[i].name));
}
pos += item_len;
len -= item_len;
} }
*pos++ = '\n'; *pos++ = '\n';
*pos++ = '\0'; *pos++ = '\0';
......
...@@ -689,8 +689,7 @@ static void hclge_update_stats_for_all(struct hclge_dev *hdev) ...@@ -689,8 +689,7 @@ static void hclge_update_stats_for_all(struct hclge_dev *hdev)
"Update MAC stats fail, status = %d.\n", status); "Update MAC stats fail, status = %d.\n", status);
} }
static void hclge_update_stats(struct hnae3_handle *handle, static void hclge_update_stats(struct hnae3_handle *handle)
struct net_device_stats *net_stats)
{ {
struct hclge_vport *vport = hclge_get_vport(handle); struct hclge_vport *vport = hclge_get_vport(handle);
struct hclge_dev *hdev = vport->back; struct hclge_dev *hdev = vport->back;
...@@ -824,7 +823,7 @@ static void hclge_get_mac_stat(struct hnae3_handle *handle, ...@@ -824,7 +823,7 @@ static void hclge_get_mac_stat(struct hnae3_handle *handle,
struct hclge_vport *vport = hclge_get_vport(handle); struct hclge_vport *vport = hclge_get_vport(handle);
struct hclge_dev *hdev = vport->back; struct hclge_dev *hdev = vport->back;
hclge_update_stats(handle, NULL); hclge_update_stats(handle);
mac_stats->tx_pause_cnt = hdev->mac_stats.mac_tx_mac_pause_num; mac_stats->tx_pause_cnt = hdev->mac_stats.mac_tx_mac_pause_num;
mac_stats->rx_pause_cnt = hdev->mac_stats.mac_rx_mac_pause_num; mac_stats->rx_pause_cnt = hdev->mac_stats.mac_rx_mac_pause_num;
...@@ -4965,9 +4964,7 @@ int hclge_rss_init_hw(struct hclge_dev *hdev) ...@@ -4965,9 +4964,7 @@ int hclge_rss_init_hw(struct hclge_dev *hdev)
if (ret) if (ret)
return ret; return ret;
ret = hclge_comm_set_rss_input_tuple(&hdev->vport[0].nic, ret = hclge_comm_set_rss_input_tuple(&hdev->hw.hw, &hdev->rss_cfg);
&hdev->hw.hw, true,
&hdev->rss_cfg);
if (ret) if (ret)
return ret; return ret;
...@@ -6243,8 +6240,7 @@ static int hclge_fd_check_spec(struct hclge_dev *hdev, ...@@ -6243,8 +6240,7 @@ static int hclge_fd_check_spec(struct hclge_dev *hdev,
return hclge_fd_check_ext_tuple(hdev, fs, unused_tuple); return hclge_fd_check_ext_tuple(hdev, fs, unused_tuple);
} }
static void hclge_fd_get_tcpip4_tuple(struct hclge_dev *hdev, static void hclge_fd_get_tcpip4_tuple(struct ethtool_rx_flow_spec *fs,
struct ethtool_rx_flow_spec *fs,
struct hclge_fd_rule *rule, u8 ip_proto) struct hclge_fd_rule *rule, u8 ip_proto)
{ {
rule->tuples.src_ip[IPV4_INDEX] = rule->tuples.src_ip[IPV4_INDEX] =
...@@ -6273,8 +6269,7 @@ static void hclge_fd_get_tcpip4_tuple(struct hclge_dev *hdev, ...@@ -6273,8 +6269,7 @@ static void hclge_fd_get_tcpip4_tuple(struct hclge_dev *hdev,
rule->tuples_mask.ip_proto = 0xFF; rule->tuples_mask.ip_proto = 0xFF;
} }
static void hclge_fd_get_ip4_tuple(struct hclge_dev *hdev, static void hclge_fd_get_ip4_tuple(struct ethtool_rx_flow_spec *fs,
struct ethtool_rx_flow_spec *fs,
struct hclge_fd_rule *rule) struct hclge_fd_rule *rule)
{ {
rule->tuples.src_ip[IPV4_INDEX] = rule->tuples.src_ip[IPV4_INDEX] =
...@@ -6297,8 +6292,7 @@ static void hclge_fd_get_ip4_tuple(struct hclge_dev *hdev, ...@@ -6297,8 +6292,7 @@ static void hclge_fd_get_ip4_tuple(struct hclge_dev *hdev,
rule->tuples_mask.ether_proto = 0xFFFF; rule->tuples_mask.ether_proto = 0xFFFF;
} }
static void hclge_fd_get_tcpip6_tuple(struct hclge_dev *hdev, static void hclge_fd_get_tcpip6_tuple(struct ethtool_rx_flow_spec *fs,
struct ethtool_rx_flow_spec *fs,
struct hclge_fd_rule *rule, u8 ip_proto) struct hclge_fd_rule *rule, u8 ip_proto)
{ {
be32_to_cpu_array(rule->tuples.src_ip, fs->h_u.tcp_ip6_spec.ip6src, be32_to_cpu_array(rule->tuples.src_ip, fs->h_u.tcp_ip6_spec.ip6src,
...@@ -6327,8 +6321,7 @@ static void hclge_fd_get_tcpip6_tuple(struct hclge_dev *hdev, ...@@ -6327,8 +6321,7 @@ static void hclge_fd_get_tcpip6_tuple(struct hclge_dev *hdev,
rule->tuples_mask.ip_proto = 0xFF; rule->tuples_mask.ip_proto = 0xFF;
} }
static void hclge_fd_get_ip6_tuple(struct hclge_dev *hdev, static void hclge_fd_get_ip6_tuple(struct ethtool_rx_flow_spec *fs,
struct ethtool_rx_flow_spec *fs,
struct hclge_fd_rule *rule) struct hclge_fd_rule *rule)
{ {
be32_to_cpu_array(rule->tuples.src_ip, fs->h_u.usr_ip6_spec.ip6src, be32_to_cpu_array(rule->tuples.src_ip, fs->h_u.usr_ip6_spec.ip6src,
...@@ -6351,8 +6344,7 @@ static void hclge_fd_get_ip6_tuple(struct hclge_dev *hdev, ...@@ -6351,8 +6344,7 @@ static void hclge_fd_get_ip6_tuple(struct hclge_dev *hdev,
rule->tuples_mask.ether_proto = 0xFFFF; rule->tuples_mask.ether_proto = 0xFFFF;
} }
static void hclge_fd_get_ether_tuple(struct hclge_dev *hdev, static void hclge_fd_get_ether_tuple(struct ethtool_rx_flow_spec *fs,
struct ethtool_rx_flow_spec *fs,
struct hclge_fd_rule *rule) struct hclge_fd_rule *rule)
{ {
ether_addr_copy(rule->tuples.src_mac, fs->h_u.ether_spec.h_source); ether_addr_copy(rule->tuples.src_mac, fs->h_u.ether_spec.h_source);
...@@ -6388,8 +6380,7 @@ static void hclge_fd_get_user_def_tuple(struct hclge_fd_user_def_info *info, ...@@ -6388,8 +6380,7 @@ static void hclge_fd_get_user_def_tuple(struct hclge_fd_user_def_info *info,
rule->ep.user_def = *info; rule->ep.user_def = *info;
} }
static int hclge_fd_get_tuple(struct hclge_dev *hdev, static int hclge_fd_get_tuple(struct ethtool_rx_flow_spec *fs,
struct ethtool_rx_flow_spec *fs,
struct hclge_fd_rule *rule, struct hclge_fd_rule *rule,
struct hclge_fd_user_def_info *info) struct hclge_fd_user_def_info *info)
{ {
...@@ -6397,31 +6388,31 @@ static int hclge_fd_get_tuple(struct hclge_dev *hdev, ...@@ -6397,31 +6388,31 @@ static int hclge_fd_get_tuple(struct hclge_dev *hdev,
switch (flow_type) { switch (flow_type) {
case SCTP_V4_FLOW: case SCTP_V4_FLOW:
hclge_fd_get_tcpip4_tuple(hdev, fs, rule, IPPROTO_SCTP); hclge_fd_get_tcpip4_tuple(fs, rule, IPPROTO_SCTP);
break; break;
case TCP_V4_FLOW: case TCP_V4_FLOW:
hclge_fd_get_tcpip4_tuple(hdev, fs, rule, IPPROTO_TCP); hclge_fd_get_tcpip4_tuple(fs, rule, IPPROTO_TCP);
break; break;
case UDP_V4_FLOW: case UDP_V4_FLOW:
hclge_fd_get_tcpip4_tuple(hdev, fs, rule, IPPROTO_UDP); hclge_fd_get_tcpip4_tuple(fs, rule, IPPROTO_UDP);
break; break;
case IP_USER_FLOW: case IP_USER_FLOW:
hclge_fd_get_ip4_tuple(hdev, fs, rule); hclge_fd_get_ip4_tuple(fs, rule);
break; break;
case SCTP_V6_FLOW: case SCTP_V6_FLOW:
hclge_fd_get_tcpip6_tuple(hdev, fs, rule, IPPROTO_SCTP); hclge_fd_get_tcpip6_tuple(fs, rule, IPPROTO_SCTP);
break; break;
case TCP_V6_FLOW: case TCP_V6_FLOW:
hclge_fd_get_tcpip6_tuple(hdev, fs, rule, IPPROTO_TCP); hclge_fd_get_tcpip6_tuple(fs, rule, IPPROTO_TCP);
break; break;
case UDP_V6_FLOW: case UDP_V6_FLOW:
hclge_fd_get_tcpip6_tuple(hdev, fs, rule, IPPROTO_UDP); hclge_fd_get_tcpip6_tuple(fs, rule, IPPROTO_UDP);
break; break;
case IPV6_USER_FLOW: case IPV6_USER_FLOW:
hclge_fd_get_ip6_tuple(hdev, fs, rule); hclge_fd_get_ip6_tuple(fs, rule);
break; break;
case ETHER_FLOW: case ETHER_FLOW:
hclge_fd_get_ether_tuple(hdev, fs, rule); hclge_fd_get_ether_tuple(fs, rule);
break; break;
default: default:
return -EOPNOTSUPP; return -EOPNOTSUPP;
...@@ -6578,7 +6569,7 @@ static int hclge_add_fd_entry(struct hnae3_handle *handle, ...@@ -6578,7 +6569,7 @@ static int hclge_add_fd_entry(struct hnae3_handle *handle,
if (!rule) if (!rule)
return -ENOMEM; return -ENOMEM;
ret = hclge_fd_get_tuple(hdev, fs, rule, &info); ret = hclge_fd_get_tuple(fs, rule, &info);
if (ret) { if (ret) {
kfree(rule); kfree(rule);
return ret; return ret;
......
...@@ -835,15 +835,10 @@ struct hclge_vf_vlan_cfg { ...@@ -835,15 +835,10 @@ struct hclge_vf_vlan_cfg {
* Then for input key(k) and mask(v), we can calculate the value by * Then for input key(k) and mask(v), we can calculate the value by
* the formulae: * the formulae:
* x = (~k) & v * x = (~k) & v
* y = (k ^ ~v) & k * y = k & v
*/ */
#define calc_x(x, k, v) (x = ~(k) & (v)) #define calc_x(x, k, v) ((x) = ~(k) & (v))
#define calc_y(y, k, v) \ #define calc_y(y, k, v) ((y) = (k) & (v))
do { \
const typeof(k) _k_ = (k); \
const typeof(v) _v_ = (v); \
(y) = (_k_ ^ ~_v_) & (_k_); \
} while (0)
#define HCLGE_MAC_STATS_FIELD_OFF(f) (offsetof(struct hclge_mac_stats, f)) #define HCLGE_MAC_STATS_FIELD_OFF(f) (offsetof(struct hclge_mac_stats, f))
#define HCLGE_STATS_READ(p, offset) (*(u64 *)((u8 *)(p) + (offset))) #define HCLGE_STATS_READ(p, offset) (*(u64 *)((u8 *)(p) + (offset)))
......
...@@ -121,8 +121,7 @@ static struct hclgevf_dev *hclgevf_ae_get_hdev(struct hnae3_handle *handle) ...@@ -121,8 +121,7 @@ static struct hclgevf_dev *hclgevf_ae_get_hdev(struct hnae3_handle *handle)
return container_of(handle, struct hclgevf_dev, nic); return container_of(handle, struct hclgevf_dev, nic);
} }
static void hclgevf_update_stats(struct hnae3_handle *handle, static void hclgevf_update_stats(struct hnae3_handle *handle)
struct net_device_stats *net_stats)
{ {
struct hclgevf_dev *hdev = hclgevf_ae_get_hdev(handle); struct hclgevf_dev *hdev = hclgevf_ae_get_hdev(handle);
int status; int status;
...@@ -1645,8 +1644,7 @@ static void hclgevf_reset(struct hclgevf_dev *hdev) ...@@ -1645,8 +1644,7 @@ static void hclgevf_reset(struct hclgevf_dev *hdev)
hclgevf_reset_err_handle(hdev); hclgevf_reset_err_handle(hdev);
} }
static enum hnae3_reset_type hclgevf_get_reset_level(struct hclgevf_dev *hdev, static enum hnae3_reset_type hclgevf_get_reset_level(unsigned long *addr)
unsigned long *addr)
{ {
enum hnae3_reset_type rst_level = HNAE3_NONE_RESET; enum hnae3_reset_type rst_level = HNAE3_NONE_RESET;
...@@ -1685,8 +1683,7 @@ static void hclgevf_reset_event(struct pci_dev *pdev, ...@@ -1685,8 +1683,7 @@ static void hclgevf_reset_event(struct pci_dev *pdev,
if (hdev->default_reset_request) if (hdev->default_reset_request)
hdev->reset_level = hdev->reset_level =
hclgevf_get_reset_level(hdev, hclgevf_get_reset_level(&hdev->default_reset_request);
&hdev->default_reset_request);
else else
hdev->reset_level = HNAE3_VF_FUNC_RESET; hdev->reset_level = HNAE3_VF_FUNC_RESET;
...@@ -1828,7 +1825,7 @@ static void hclgevf_reset_service_task(struct hclgevf_dev *hdev) ...@@ -1828,7 +1825,7 @@ static void hclgevf_reset_service_task(struct hclgevf_dev *hdev)
hdev->last_reset_time = jiffies; hdev->last_reset_time = jiffies;
hdev->reset_type = hdev->reset_type =
hclgevf_get_reset_level(hdev, &hdev->reset_pending); hclgevf_get_reset_level(&hdev->reset_pending);
if (hdev->reset_type != HNAE3_NONE_RESET) if (hdev->reset_type != HNAE3_NONE_RESET)
hclgevf_reset(hdev); hclgevf_reset(hdev);
} else if (test_and_clear_bit(HCLGEVF_RESET_REQUESTED, } else if (test_and_clear_bit(HCLGEVF_RESET_REQUESTED,
...@@ -2160,8 +2157,7 @@ static int hclgevf_rss_init_hw(struct hclgevf_dev *hdev) ...@@ -2160,8 +2157,7 @@ static int hclgevf_rss_init_hw(struct hclgevf_dev *hdev)
if (ret) if (ret)
return ret; return ret;
ret = hclge_comm_set_rss_input_tuple(&hdev->nic, &hdev->hw.hw, ret = hclge_comm_set_rss_input_tuple(&hdev->hw.hw, rss_cfg);
false, rss_cfg);
if (ret) if (ret)
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment