[v1,4/6] baseband/acc: fix PMON register values

Message ID 20221101230459.50891-5-nicolas.chautru@intel.com (mailing list archive)
State Accepted, archived
Delegated to: akhil goyal
Headers
Series baseband/acc: fixes on top of RC2 |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Chautru, Nicolas Nov. 1, 2022, 11:04 p.m. UTC
  From: Hernan Vargas <hernan.vargas@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.vargas@intel.com>
---
 drivers/baseband/acc/acc100_pmd.h     | 6 ++++--
 drivers/baseband/acc/rte_acc100_pmd.c | 5 +++++
 2 files changed, 9 insertions(+), 2 deletions(-)
  

Comments

Maxime Coquelin Nov. 2, 2022, 7:01 a.m. UTC | #1
On 11/2/22 00:04, Nicolas Chautru wrote:
> From: Hernan Vargas <hernan.vargas@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.vargas@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.coquelin@redhat.com>

Thanks,
Maxime
  

Patch

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);