common/cnxk: add mailbox to configure RXC

Add mailbox to configure timeouts and thresholds in
CPT RXC unit.

Signed-off-by: Aakash Sasidharan <asasidharan@marvell.com>
Signed-off-by: Vidya Sagar Velumuri <vvelumuri@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
This commit is contained in:
Vidya Sagar Velumuri 2021-06-25 11:06:37 +05:30 committed by Akhil Goyal
parent 0a2879b2e8
commit 147b98e661
3 changed files with 38 additions and 0 deletions

View File

@ -5,6 +5,33 @@
#include "roc_api.h"
#include "roc_priv.h"
int
roc_cpt_rxc_time_cfg(struct roc_cpt *roc_cpt, struct roc_cpt_rxc_time_cfg *cfg)
{
struct cpt *cpt = roc_cpt_to_cpt_priv(roc_cpt);
struct cpt_rxc_time_cfg_req *req;
struct dev *dev = &cpt->dev;
req = mbox_alloc_msg_cpt_rxc_time_cfg(dev->mbox);
if (req == NULL)
return -ENOSPC;
req->blkaddr = 0;
/* The step value is in microseconds. */
req->step = cfg->step;
/* The timeout will be: limit * step microseconds */
req->zombie_limit = cfg->zombie_limit;
req->zombie_thres = cfg->zombie_thres;
/* The timeout will be: limit * step microseconds */
req->active_limit = cfg->active_limit;
req->active_thres = cfg->active_thres;
return mbox_process(dev->mbox);
}
int
cpt_get_msix_offset(struct dev *dev, struct msix_offset_rsp **msix_rsp)
{

View File

@ -28,6 +28,16 @@ struct roc_cpt {
uint8_t reserved[ROC_CPT_MEM_SZ] __plt_cache_aligned;
} __plt_cache_aligned;
struct roc_cpt_rxc_time_cfg {
uint32_t step;
uint16_t active_limit;
uint16_t active_thres;
uint16_t zombie_limit;
uint16_t zombie_thres;
};
int __roc_api roc_cpt_rxc_time_cfg(struct roc_cpt *roc_cpt,
struct roc_cpt_rxc_time_cfg *cfg);
int __roc_api roc_cpt_dev_init(struct roc_cpt *roc_cpt);
int __roc_api roc_cpt_dev_fini(struct roc_cpt *roc_cpt);
int __roc_api roc_cpt_eng_grp_add(struct roc_cpt *roc_cpt,

View File

@ -38,6 +38,7 @@ INTERNAL {
roc_cpt_dev_fini;
roc_cpt_dev_init;
roc_cpt_eng_grp_add;
roc_cpt_rxc_time_cfg;
roc_error_msg_get;
roc_idev_cpt_get;
roc_idev_cpt_set;