From: Satheesh Paul <[email protected]>
Fix channel mask of SDP interfaces on CN10K.
Fixes: f137566333 ("common/cnxk: support setting channel mask for SDP
interfaces")
Cc: [email protected]
Signed-off-by: Satheesh Paul <[email protected]>
Reviewed-by: Kiran Kumar K <[email protected]>
---
drivers/common/cnxk/roc_npc.c | 9 +++++++--
drivers/common/cnxk/roc_npc_priv.h | 3 +++
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/common/cnxk/roc_npc.c b/drivers/common/cnxk/roc_npc.c
index c872548230..9edccb5258 100644
--- a/drivers/common/cnxk/roc_npc.c
+++ b/drivers/common/cnxk/roc_npc.c
@@ -1380,8 +1380,13 @@ roc_npc_flow_create(struct roc_npc *roc_npc, const
struct roc_npc_attr *attr,
/* By default set the channel and mask to cover
* the whole SDP channel range.
*/
- npc->sdp_channel = (uint16_t)NIX_CHAN_SDP_CH_START;
- npc->sdp_channel_mask = (uint16_t)NIX_CHAN_SDP_CH_START;
+ if (roc_model_is_cn10k()) {
+ npc->sdp_channel = (uint16_t)CN10K_SDP_CH_START;
+ npc->sdp_channel_mask =
(uint16_t)CN10K_SDP_CH_MASK;
+ } else {
+ npc->sdp_channel =
(uint16_t)NIX_CHAN_SDP_CH_START;
+ npc->sdp_channel_mask =
(uint16_t)NIX_CHAN_SDP_CH_START;
+ }
}
}
diff --git a/drivers/common/cnxk/roc_npc_priv.h
b/drivers/common/cnxk/roc_npc_priv.h
index 2a7d3137fb..aa27228354 100644
--- a/drivers/common/cnxk/roc_npc_priv.h
+++ b/drivers/common/cnxk/roc_npc_priv.h
@@ -77,6 +77,9 @@
#define NPC_LFLAG_LC_OFFSET (NPC_LTYPE_OFFSET_START + 6)
#define NPC_LTYPE_LC_OFFSET (NPC_LTYPE_OFFSET_START + 8)
+#define CN10K_SDP_CH_START 0x80
+#define CN10K_SDP_CH_MASK 0xF80
+
struct npc_action_vtag_info {
uint16_t vlan_id;
uint16_t vlan_ethtype;
--
2.35.3