|
52 | 52 | #define HNAE3_UNIC_CLIENT_INITED_B 0x4
|
53 | 53 | #define HNAE3_ROCE_CLIENT_INITED_B 0x5
|
54 | 54 | #define HNAE3_DEV_SUPPORT_FD_B 0x6
|
| 55 | +#define HNAE3_DEV_SUPPORT_GRO_B 0x7 |
55 | 56 |
|
56 | 57 | #define HNAE3_DEV_SUPPORT_ROCE_DCB_BITS (BIT(HNAE3_DEV_SUPPORT_DCB_B) |\
|
57 | 58 | BIT(HNAE3_DEV_SUPPORT_ROCE_B))
|
|
65 | 66 | #define hnae3_dev_fd_supported(hdev) \
|
66 | 67 | hnae3_get_bit((hdev)->ae_dev->flag, HNAE3_DEV_SUPPORT_FD_B)
|
67 | 68 |
|
| 69 | +#define hnae3_dev_gro_supported(hdev) \ |
| 70 | + hnae3_get_bit((hdev)->ae_dev->flag, HNAE3_DEV_SUPPORT_GRO_B) |
| 71 | + |
68 | 72 | #define ring_ptr_move_fw(ring, p) \
|
69 | 73 | ((ring)->p = ((ring)->p + 1) % (ring)->desc_num)
|
70 | 74 | #define ring_ptr_move_bw(ring, p) \
|
@@ -301,6 +305,8 @@ struct hnae3_ae_dev {
|
301 | 305 | * Set vlan filter config of vf
|
302 | 306 | * enable_hw_strip_rxvtag()
|
303 | 307 | * Enable/disable hardware strip vlan tag of packets received
|
| 308 | + * set_gro_en |
| 309 | + * Enable/disable HW GRO |
304 | 310 | */
|
305 | 311 | struct hnae3_ae_ops {
|
306 | 312 | int (*init_ae_dev)(struct hnae3_ae_dev *ae_dev);
|
@@ -445,6 +451,7 @@ struct hnae3_ae_ops {
|
445 | 451 | bool (*get_hw_reset_stat)(struct hnae3_handle *handle);
|
446 | 452 | bool (*ae_dev_resetting)(struct hnae3_handle *handle);
|
447 | 453 | unsigned long (*ae_dev_reset_cnt)(struct hnae3_handle *handle);
|
| 454 | + int (*set_gro_en)(struct hnae3_handle *handle, int enable); |
448 | 455 | };
|
449 | 456 |
|
450 | 457 | struct hnae3_dcb_ops {
|
|
0 commit comments