From: Rakesh Kudurumalla <rkuduruma...@marvell.com> Add support for ethdev private data dump callback for debugging purposes.
Signed-off-by: Rakesh Kudurumalla <rkuduruma...@marvell.com> --- drivers/net/cnxk/cnxk_ethdev.c | 1 + drivers/net/cnxk/cnxk_ethdev.h | 1 + drivers/net/cnxk/cnxk_ethdev_ops.c | 29 +++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c index 89f8cc107d..48d6bedb89 100644 --- a/drivers/net/cnxk/cnxk_ethdev.c +++ b/drivers/net/cnxk/cnxk_ethdev.c @@ -1682,6 +1682,7 @@ struct eth_dev_ops cnxk_eth_dev_ops = { .set_queue_rate_limit = cnxk_nix_tm_set_queue_rate_limit, .tm_ops_get = cnxk_nix_tm_ops_get, .mtr_ops_get = cnxk_nix_mtr_ops_get, + .eth_dev_priv_dump = cnxk_nix_eth_dev_priv_dump, }; static int diff --git a/drivers/net/cnxk/cnxk_ethdev.h b/drivers/net/cnxk/cnxk_ethdev.h index bed0e0eada..c09e9bff8e 100644 --- a/drivers/net/cnxk/cnxk_ethdev.h +++ b/drivers/net/cnxk/cnxk_ethdev.h @@ -585,6 +585,7 @@ int cnxk_nix_rss_hash_update(struct rte_eth_dev *eth_dev, struct rte_eth_rss_conf *rss_conf); int cnxk_nix_rss_hash_conf_get(struct rte_eth_dev *eth_dev, struct rte_eth_rss_conf *rss_conf); +int cnxk_nix_eth_dev_priv_dump(struct rte_eth_dev *eth_dev, FILE *file); /* Link */ void cnxk_nix_toggle_flag_link_cfg(struct cnxk_eth_dev *dev, bool set); diff --git a/drivers/net/cnxk/cnxk_ethdev_ops.c b/drivers/net/cnxk/cnxk_ethdev_ops.c index 64beabdd12..0a8b36342a 100644 --- a/drivers/net/cnxk/cnxk_ethdev_ops.c +++ b/drivers/net/cnxk/cnxk_ethdev_ops.c @@ -931,6 +931,35 @@ cnxk_nix_reta_query(struct rte_eth_dev *eth_dev, return rc; } +int +cnxk_nix_eth_dev_priv_dump(struct rte_eth_dev *eth_dev, FILE *file) +{ + struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev); + struct roc_nix *roc_nix = &dev->nix; + int i; + + roc_nix_dump(roc_nix, file); + + for (i = 0; i < eth_dev->data->nb_rx_queues; i++) + roc_nix_rq_dump(&dev->rqs[i], file); + + for (i = 0; i < eth_dev->data->nb_rx_queues; i++) + roc_nix_cq_dump(&dev->cqs[i], file); + + for (i = 0; i < eth_dev->data->nb_tx_queues; i++) + roc_nix_sq_dump(&dev->sqs[i], file); + + roc_nix_queues_ctx_dump(roc_nix, file); + + roc_nix_tm_dump(roc_nix, file); + + roc_nix_inl_dev_dump(NULL, file); + + roc_nix_inl_outb_cpt_lfs_dump(roc_nix, file); + + return 0; +} + int cnxk_nix_rss_hash_update(struct rte_eth_dev *eth_dev, struct rte_eth_rss_conf *rss_conf) -- 2.25.1