#ifndef _HNS3_DCB_H_
#define _HNS3_DCB_H_
+#define HNS3_ETHER_MAX_RATE 100000
+
/* MAC Pause */
#define HNS3_TX_MAC_PAUSE_EN_MSK BIT(0)
#define HNS3_RX_MAC_PAUSE_EN_MSK BIT(1)
struct hns3_priority_weight_cmd {
uint8_t pri_id;
uint8_t dwrr;
+ uint8_t rsvd[22];
};
struct hns3_qs_weight_cmd {
uint16_t qs_id;
uint8_t dwrr;
+ uint8_t rsvd[21];
};
struct hns3_pg_weight_cmd {
uint8_t pg_id;
uint8_t dwrr;
+ uint8_t rsvd[22];
};
struct hns3_ets_tc_weight_cmd {
uint8_t priority;
#define HNS3_DCB_QS_PRI_LINK_VLD_MSK BIT(0)
uint8_t link_vld;
+ uint8_t rsvd1[18];
};
struct hns3_nq_to_qs_link_cmd {
uint16_t rsvd;
#define HNS3_DCB_Q_QS_LINK_VLD_MSK BIT(10)
uint16_t qset_id;
+ uint8_t rsvd1[18];
};
#define HNS3_DCB_SHAP_IR_B_MSK GENMASK(7, 0)
uint8_t pri_id;
uint8_t rsvd[3];
uint32_t pri_shapping_para;
+ uint32_t rsvd1[4];
};
struct hns3_pg_shapping_cmd {
uint8_t pg_id;
uint8_t rsvd[3];
uint32_t pg_shapping_para;
+ uint32_t rsvd1[4];
};
#define HNS3_BP_GRP_NUM 32
uint8_t rsvd[2];
uint8_t qs_group_id;
uint32_t qs_bit_map;
- uint32_t rsvd1;
+ uint32_t rsvd1[4];
};
struct hns3_pfc_en_cmd {
uint8_t tx_rx_en_bitmap;
uint8_t pri_en_bitmap;
+ uint8_t rsvd[22];
};
struct hns3_port_shapping_cmd {
uint32_t port_shapping_para;
+ uint32_t rsvd[5];
};
struct hns3_cfg_pause_param_cmd {
uint8_t pg_id;
uint8_t rsvd1[3];
uint8_t pri_bit_map;
+ uint8_t rsvd2[19];
};
enum hns3_shaper_level {
int
hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf);
-void hns3_tc_queue_mapping_cfg(struct hns3_hw *hw);
+void hns3_set_rss_size(struct hns3_hw *hw, uint16_t nb_rx_q);
+
+void hns3_tc_queue_mapping_cfg(struct hns3_hw *hw, uint16_t nb_queue);
int hns3_dcb_cfg_update(struct hns3_adapter *hns);