On 11/2/22 00:04, Nicolas Chautru wrote:
From: Hernan Vargas <hernan.var...@intel.com>

Enable properly the PMon for ACC100.
Previous commit was missing actual implementation
and using incorrect register values.

Fixes: b4bd57b74c8 ("baseband/acc100: configure PMON control registers")

Signed-off-by: Hernan Vargas <hernan.var...@intel.com>
---
  drivers/baseband/acc/acc100_pmd.h     | 6 ++++--
  drivers/baseband/acc/rte_acc100_pmd.c | 5 +++++
  2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/baseband/acc/acc100_pmd.h 
b/drivers/baseband/acc/acc100_pmd.h
index 8c0aec5ed8..a48298650c 100644
--- a/drivers/baseband/acc/acc100_pmd.h
+++ b/drivers/baseband/acc/acc100_pmd.h
@@ -146,8 +146,8 @@ static const struct acc100_registry_addr pf_reg_addr = {
        .depth_log1_offset = HWPfQmgrGrpDepthLog21Vf,
        .qman_group_func = HWPfQmgrGrpFunction0,
        .ddr_range = HWPfDmaVfDdrBaseRw,
-       .pmon_ctrl_a = HWVfPmACntrlRegVf,
-       .pmon_ctrl_b = HWVfPmBCntrlRegVf,
+       .pmon_ctrl_a = HWPfPermonACntrlRegVf,
+       .pmon_ctrl_b = HWPfPermonBCntrlRegVf,
  };
/* Structure holding registry addresses for VF */
@@ -177,6 +177,8 @@ static const struct acc100_registry_addr vf_reg_addr = {
        .depth_log1_offset = HWVfQmgrGrpDepthLog21Vf,
        .qman_group_func = HWVfQmgrGrpFunction0Vf,
        .ddr_range = HWVfDmaDdrBaseRangeRoVf,
+       .pmon_ctrl_a = HWVfPmACntrlRegVf,
+       .pmon_ctrl_b = HWVfPmBCntrlRegVf,
  };
#endif /* _RTE_ACC100_PMD_H_ */
diff --git a/drivers/baseband/acc/rte_acc100_pmd.c 
b/drivers/baseband/acc/rte_acc100_pmd.c
index b6e500c6bc..2999a6a81a 100644
--- a/drivers/baseband/acc/rte_acc100_pmd.c
+++ b/drivers/baseband/acc/rte_acc100_pmd.c
@@ -479,6 +479,11 @@ acc100_setup_queues(struct rte_bbdev *dev, uint16_t 
num_queues, int socket_id)
        /* Read the populated cfg from ACC100 registers */
        fetch_acc100_config(dev);
+ for (value = 0; value <= 2; value++) {
+               acc_reg_write(d, reg_addr->pmon_ctrl_a, value);
+               acc_reg_write(d, reg_addr->pmon_ctrl_b, value);
+       }
+
        /* Release AXI from PF */
        if (d->pf_device)
                acc_reg_write(d, HWPfDmaAxiControl, 1);

Reviewed-by: Maxime Coquelin <maxime.coque...@redhat.com>

Thanks,
Maxime

Reply via email to