Skip to content

Commit

Permalink
octeontx2-af: Delete NIX_RXVLAN_ALLOC mailbox message
Browse files Browse the repository at this point in the history
Since mailbox message for installing flows is in place,
remove the RXVLAN_ALLOC mbox message which is redundant.

Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
Signed-off-by: Naveen Mamindlapalli <naveenm@marvell.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Subbaraya Sundeep authored and Jakub Kicinski committed Nov 17, 2020
1 parent dbab48c commit 5a57966
Show file tree
Hide file tree
Showing 4 changed files with 0 additions and 90 deletions.
1 change: 0 additions & 1 deletion drivers/net/ethernet/marvell/octeontx2/af/mbox.h
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,6 @@ M(NIX_SET_RX_CFG, 0x8010, nix_set_rx_cfg, nix_rx_cfg, msg_rsp) \
M(NIX_LSO_FORMAT_CFG, 0x8011, nix_lso_format_cfg, \
nix_lso_format_cfg, \
nix_lso_format_cfg_rsp) \
M(NIX_RXVLAN_ALLOC, 0x8012, nix_rxvlan_alloc, msg_req, msg_rsp) \
M(NIX_LF_PTP_TX_ENABLE, 0x8013, nix_lf_ptp_tx_enable, msg_req, msg_rsp) \
M(NIX_LF_PTP_TX_DISABLE, 0x8014, nix_lf_ptp_tx_disable, msg_req, msg_rsp) \
M(NIX_BP_ENABLE, 0x8016, nix_bp_enable, nix_bp_cfg_req, \
Expand Down
6 changes: 0 additions & 6 deletions drivers/net/ethernet/marvell/octeontx2/af/rvu.h
Original file line number Diff line number Diff line change
Expand Up @@ -217,11 +217,6 @@ struct rvu_pfvf {
u16 bcast_mce_idx;
struct nix_mce_list bcast_mce_list;

/* VLAN offload */
struct mcam_entry entry;
int rxvlan_index;
bool rxvlan;

struct rvu_npc_mcam_rule *def_ucast_rule;

bool cgx_in_use; /* this PF/VF using CGX? */
Expand Down Expand Up @@ -571,7 +566,6 @@ void rvu_npc_enable_promisc_entry(struct rvu *rvu, u16 pcifunc, int nixlf);
void rvu_npc_install_bcast_match_entry(struct rvu *rvu, u16 pcifunc,
int nixlf, u64 chan);
void rvu_npc_enable_bcast_entry(struct rvu *rvu, u16 pcifunc, bool enable);
int rvu_npc_update_rxvlan(struct rvu *rvu, u16 pcifunc, int nixlf);
void rvu_npc_disable_mcam_entries(struct rvu *rvu, u16 pcifunc, int nixlf);
void rvu_npc_free_mcam_entries(struct rvu *rvu, u16 pcifunc, int nixlf);
void rvu_npc_disable_default_entries(struct rvu *rvu, u16 pcifunc, int nixlf);
Expand Down
59 changes: 0 additions & 59 deletions drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
Original file line number Diff line number Diff line change
Expand Up @@ -3142,65 +3142,6 @@ int rvu_mbox_handler_nix_set_hw_frs(struct rvu *rvu, struct nix_frs_cfg *req,
return 0;
}

int rvu_mbox_handler_nix_rxvlan_alloc(struct rvu *rvu, struct msg_req *req,
struct msg_rsp *rsp)
{
struct npc_mcam_alloc_entry_req alloc_req = { };
struct npc_mcam_alloc_entry_rsp alloc_rsp = { };
struct npc_mcam_free_entry_req free_req = { };
u16 pcifunc = req->hdr.pcifunc;
int blkaddr, nixlf, err;
struct rvu_pfvf *pfvf;

/* LBK VFs do not have separate MCAM UCAST entry hence
* skip allocating rxvlan for them
*/
if (is_afvf(pcifunc))
return 0;

pfvf = rvu_get_pfvf(rvu, pcifunc);
if (pfvf->rxvlan)
return 0;

/* alloc new mcam entry */
alloc_req.hdr.pcifunc = pcifunc;
alloc_req.count = 1;

err = rvu_mbox_handler_npc_mcam_alloc_entry(rvu, &alloc_req,
&alloc_rsp);
if (err)
return err;

/* update entry to enable rxvlan offload */
blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NIX, pcifunc);
if (blkaddr < 0) {
err = NIX_AF_ERR_AF_LF_INVALID;
goto free_entry;
}

nixlf = rvu_get_lf(rvu, &rvu->hw->block[blkaddr], pcifunc, 0);
if (nixlf < 0) {
err = NIX_AF_ERR_AF_LF_INVALID;
goto free_entry;
}

pfvf->rxvlan_index = alloc_rsp.entry_list[0];
/* all it means is that rxvlan_index is valid */
pfvf->rxvlan = true;

err = rvu_npc_update_rxvlan(rvu, pcifunc, nixlf);
if (err)
goto free_entry;

return 0;
free_entry:
free_req.hdr.pcifunc = pcifunc;
free_req.entry = alloc_rsp.entry_list[0];
rvu_mbox_handler_npc_mcam_free_entry(rvu, &free_req, rsp);
pfvf->rxvlan = false;
return err;
}

int rvu_mbox_handler_nix_set_rx_cfg(struct rvu *rvu, struct nix_rx_cfg *req,
struct msg_rsp *rsp)
{
Expand Down
24 changes: 0 additions & 24 deletions drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
Original file line number Diff line number Diff line change
Expand Up @@ -2730,30 +2730,6 @@ int rvu_mbox_handler_npc_get_kex_cfg(struct rvu *rvu, struct msg_req *req,
return 0;
}

int rvu_npc_update_rxvlan(struct rvu *rvu, u16 pcifunc, int nixlf)
{
struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, pcifunc);
struct npc_mcam *mcam = &rvu->hw->mcam;
int blkaddr, index;
bool enable;

blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);
if (blkaddr < 0)
return NIX_AF_ERR_AF_LF_INVALID;

if (!pfvf->rxvlan)
return 0;

index = npc_get_nixlf_mcam_index(mcam, pcifunc, nixlf,
NIXLF_UCAST_ENTRY);
pfvf->entry.action = npc_get_mcam_action(rvu, mcam, blkaddr, index);
enable = is_mcam_entry_enabled(rvu, mcam, blkaddr, index);
npc_config_mcam_entry(rvu, mcam, blkaddr, pfvf->rxvlan_index,
pfvf->nix_rx_intf, &pfvf->entry, enable);

return 0;
}

bool rvu_npc_write_default_rule(struct rvu *rvu, int blkaddr, int nixlf,
u16 pcifunc, u8 intf, struct mcam_entry *entry,
int *index)
Expand Down

0 comments on commit 5a57966

Please sign in to comment.