Hi Chintan!

On Mon, 2024-08-26 at 15:55 +0530, Chintan Vankar wrote:
> From: Vignesh Raghavendra <[email protected]>
> 
> Expectation of k3_ringacc_ring_reset_raw() is to reset the ring to
> requested size and not to 0. Fix this.
> 
> Signed-off-by: Vignesh Raghavendra <[email protected]>
> Signed-off-by: Siddharth Vadapalli <[email protected]>
> Signed-off-by: Chintan Vankar <[email protected]>

Thanks for quick rework!
Reviewed-by: Alexander Sverdlin <[email protected]>

> ---
> 
> Link to v5:
> https://lore.kernel.org/r/[email protected]/
> 
> Changes from v5 to v6:
> - Updated function "k3_ringacc_ring_reset_raw" to reset only ring
>   size field in ring configuration register as pointed out by Alexander
>   Sverdlin.
> 
>  drivers/soc/ti/k3-navss-ringacc-u-boot.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/soc/ti/k3-navss-ringacc-u-boot.c 
> b/drivers/soc/ti/k3-navss-ringacc-u-boot.c
> index f958239c2af..2799f214c77 100644
> --- a/drivers/soc/ti/k3-navss-ringacc-u-boot.c
> +++ b/drivers/soc/ti/k3-navss-ringacc-u-boot.c
> @@ -25,9 +25,16 @@ struct k3_nav_ring_cfg_regs {
>  #define KNAV_RINGACC_CFG_RING_SIZE_ELSIZE_MASK               GENMASK(26, 24)
>  #define KNAV_RINGACC_CFG_RING_SIZE_ELSIZE_SHIFT              (24)
>  
> +#define KNAV_RINGACC_CFG_RING_SIZE_MASK                      GENMASK(19, 0)
> +
>  static void k3_ringacc_ring_reset_raw(struct k3_nav_ring *ring)
>  {
> -     writel(0, &ring->cfg->size);
> +     u32 reg;
> +
> +     reg = readl(&ring->cfg->size);
> +     reg &= ~KNAV_RINGACC_CFG_RING_SIZE_MASK;
> +     reg |= ring->size;
> +     writel(reg, &ring->cfg->size);
>  }
>  
>  static void k3_ringacc_ring_reconfig_qmode_raw(struct k3_nav_ring *ring, 
> enum k3_nav_ring_mode mode)

-- 
Alexander Sverdlin
Siemens AG
www.siemens.com

Reply via email to