+ if (action->nb_queues > 1) {
+ hns3_set_bit(ad_data, HNS3_FD_AD_QUEUE_REGION_EN_B, 1);
+ hns3_set_field(ad_data, HNS3_FD_AD_QUEUE_REGION_SIZE_M,
+ HNS3_FD_AD_QUEUE_REGION_SIZE_S,
+ rte_log2_u32(action->nb_queues));
+ }
+ /* set extend bit if counter_id is in [128 ~ 255] */
+ if (action->counter_id & BIT(HNS3_FD_AD_COUNTER_HIGH_BIT))
+ hns3_set_bit(ad_data, HNS3_FD_AD_COUNTER_HIGH_BIT_B, 1);
+ /* set extend bit if queue id > 1024 */
+ if (action->queue_id & BIT(HNS3_FD_AD_QUEUE_ID_HIGH_BIT))
+ hns3_set_bit(ad_data, HNS3_FD_AD_QUEUE_ID_HIGH_BIT_B, 1);