mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 23:14:31 +08:00
octeontx2-af: Delete NIX_RXVLAN_ALLOC mailbox message
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>
This commit is contained in:
parent
dbab48cecc
commit
5a57966785
@ -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, \
|
||||
|
@ -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? */
|
||||
@ -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);
|
||||
|
@ -3142,65 +3142,6 @@ linkcfg:
|
||||
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)
|
||||
{
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user