Add fdir queue region support.

Signed-off-by: Qi Zhang <qi.z.zh...@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell...@intel.com>
---
 drivers/net/ice/base/ice_fdir.c | 3 +++
 drivers/net/ice/base/ice_fdir.h | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/drivers/net/ice/base/ice_fdir.c b/drivers/net/ice/base/ice_fdir.c
index e35506006..4632f1a53 100644
--- a/drivers/net/ice/base/ice_fdir.c
+++ b/drivers/net/ice/base/ice_fdir.c
@@ -343,6 +343,9 @@ ice_fdir_get_prgm_desc(struct ice_hw *hw, struct 
ice_fdir_fltr *input,
                fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_YES;
                fdir_fltr_ctx.qindex = 0;
        } else {
+               if (input->dest_ctl ==
+                   ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_QGROUP)
+                       fdir_fltr_ctx.toq = input->q_region;
                fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_NO;
                fdir_fltr_ctx.qindex = input->q_index;
        }
diff --git a/drivers/net/ice/base/ice_fdir.h b/drivers/net/ice/base/ice_fdir.h
index e0f3cd481..ccfc30c85 100644
--- a/drivers/net/ice/base/ice_fdir.h
+++ b/drivers/net/ice/base/ice_fdir.h
@@ -167,6 +167,8 @@ struct ice_fdir_fltr {
 
        /* flex byte filter data */
        __be16 flex_word;
+       /* queue region size (=2^q_region) */
+       u8 q_region;
        u16 flex_offset;
        u16 flex_fltr;
 
-- 
2.13.6

Reply via email to