Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'extend-bit-width-in-the-flow-director-of-hns3-driver'

Jijie Shao says:

====================
extend bit width in the flow director of HNS3 driver

The bit widths of HCLGE_FD_AD_QID and HCLGE_FD_AD_COUNTER_NUM are
increased to support higher specifications.

Note: The hardware already supports the specifications.
====================

Link: https://patch.msgid.link/20260123094756.3718516-1-shaojijie@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

+15 -7
+7 -4
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h
··· 26 26 #define HCLGE_TQP_REG_OFFSET 0x80000 27 27 #define HCLGE_TQP_REG_SIZE 0x200 28 28 29 + #define HCLGE_FD_COUNTER_MAX_SIZE_DEV_V2 128 29 30 #define HCLGE_TQP_MAX_SIZE_DEV_V2 1024 30 31 #define HCLGE_TQP_EXT_REG_OFFSET 0x100 31 32 ··· 728 727 729 728 #define HCLGE_FD_AD_DROP_B 0 730 729 #define HCLGE_FD_AD_DIRECT_QID_B 1 731 - #define HCLGE_FD_AD_QID_S 2 732 - #define HCLGE_FD_AD_QID_M GENMASK(11, 2) 730 + #define HCLGE_FD_AD_QID_L_S 2 731 + #define HCLGE_FD_AD_QID_L_M GENMASK(11, 2) 733 732 #define HCLGE_FD_AD_USE_COUNTER_B 12 734 - #define HCLGE_FD_AD_COUNTER_NUM_S 13 735 - #define HCLGE_FD_AD_COUNTER_NUM_M GENMASK(19, 13) 733 + #define HCLGE_FD_AD_COUNTER_NUM_L_S 13 734 + #define HCLGE_FD_AD_COUNTER_NUM_L_M GENMASK(19, 13) 736 735 #define HCLGE_FD_AD_NXT_STEP_B 20 737 736 #define HCLGE_FD_AD_NXT_KEY_S 21 738 737 #define HCLGE_FD_AD_NXT_KEY_M GENMASK(25, 21) ··· 742 741 #define HCLGE_FD_AD_TC_OVRD_B 16 743 742 #define HCLGE_FD_AD_TC_SIZE_S 17 744 743 #define HCLGE_FD_AD_TC_SIZE_M GENMASK(20, 17) 744 + #define HCLGE_FD_AD_QID_H_B 21 745 + #define HCLGE_FD_AD_COUNTER_NUM_H_B 26 745 746 746 747 struct hclge_fd_ad_config_cmd { 747 748 u8 stage;
+8 -3
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
··· 5679 5679 hnae3_set_field(ad_data, HCLGE_FD_AD_TC_SIZE_M, 5680 5680 HCLGE_FD_AD_TC_SIZE_S, (u32)action->tc_size); 5681 5681 } 5682 + hnae3_set_bit(ad_data, HCLGE_FD_AD_QID_H_B, 5683 + action->queue_id >= HCLGE_TQP_MAX_SIZE_DEV_V2 ? 1 : 0); 5684 + hnae3_set_bit(ad_data, HCLGE_FD_AD_COUNTER_NUM_H_B, 5685 + action->counter_id >= HCLGE_FD_COUNTER_MAX_SIZE_DEV_V2 ? 5686 + 1 : 0); 5682 5687 ad_data <<= 32; 5683 5688 hnae3_set_bit(ad_data, HCLGE_FD_AD_DROP_B, action->drop_packet); 5684 5689 hnae3_set_bit(ad_data, HCLGE_FD_AD_DIRECT_QID_B, 5685 5690 action->forward_to_direct_queue); 5686 - hnae3_set_field(ad_data, HCLGE_FD_AD_QID_M, HCLGE_FD_AD_QID_S, 5691 + hnae3_set_field(ad_data, HCLGE_FD_AD_QID_L_M, HCLGE_FD_AD_QID_L_S, 5687 5692 action->queue_id); 5688 5693 hnae3_set_bit(ad_data, HCLGE_FD_AD_USE_COUNTER_B, action->use_counter); 5689 - hnae3_set_field(ad_data, HCLGE_FD_AD_COUNTER_NUM_M, 5690 - HCLGE_FD_AD_COUNTER_NUM_S, action->counter_id); 5694 + hnae3_set_field(ad_data, HCLGE_FD_AD_COUNTER_NUM_L_M, 5695 + HCLGE_FD_AD_COUNTER_NUM_L_S, action->counter_id); 5691 5696 hnae3_set_bit(ad_data, HCLGE_FD_AD_NXT_STEP_B, action->use_next_stage); 5692 5697 hnae3_set_field(ad_data, HCLGE_FD_AD_NXT_KEY_M, HCLGE_FD_AD_NXT_KEY_S, 5693 5698 action->next_input_key);