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:
parent
0a2879b2e8
commit
147b98e661
@ -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)
|
||||
{
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user