On Mon, 2025-09-01 at 11:13 +0100, Tvrtko Ursulin wrote:
> 
> Hi,
> 
> On 01/09/2025 11:00, Timur Kristóf wrote:
> > Technically not necessary, but clear the extra dwords too,
> > so that the command processors don't read uninitialized memory.
> > 
> > Fixes: c8c1a1d2ef04 ("drm/amdgpu: define and add extra dword for
> > jpeg ring")
> > Signed-off-by: Timur Kristóf <[email protected]>
> > ---
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 5 +++++
> >   1 file changed, 5 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
> > index 7670f5d82b9e..6a55a85744a9 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
> > @@ -474,6 +474,11 @@ static inline void
> > amdgpu_ring_clear_ring(struct amdgpu_ring *ring)
> >     while (i <= ring->buf_mask)
> >             ring->ring[i++] = ring->funcs->nop;
> >   
> > +   /* Technically not necessary, but clear the extra dwords
> > too,
> > +    * so that the command processors don't read uninitialized
> > memory.
> > +    */
> > +   for (i = 0; i < ring->funcs->extra_dw; i++)
> > +           ring->ring[ring->ring_size / 4 + i] = ring->funcs-
> > >nop;
> 
> Should I resend this maybe?


Hi Tvrtko,

The patch you commented on is going to be dropped.

However, your patch makes good sense, so I can include it in the next
version of this series if that's OK.

@Christian - does that sound alright to you?


> 
> commit 11b0b5d942fe46bfb01f021cdb0616c8385d5ea8
> Author: Tvrtko Ursulin <[email protected]>
> Date:   Thu Dec 26 16:12:37 2024 +0000
> 
>      drm/amdgpu: Use memset32 for ring clearing
> 
>      Use memset32 instead of open coding it, just because it is
>      a tiny bit nicer.
> 
>      Signed-off-by: Tvrtko Ursulin <[email protected]>
>      Cc: Christian König <[email protected]>
>      Cc: Sunil Khatri <[email protected]>
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
> index dee5a1b4e572..96bfc0c23413 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
> @@ -369,10 +369,7 @@ static inline void 
> amdgpu_ring_set_preempt_cond_exec(struct amdgpu_ring *ring,
> 
>   static inline void amdgpu_ring_clear_ring(struct amdgpu_ring *ring)
>   {
> -       int i = 0;
> -       while (i <= ring->buf_mask)
> -               ring->ring[i++] = ring->funcs->nop;
> -
> +       memset32(ring->ring, ring->funcs->nop, ring->buf_mask + 1);
>   }
> 
>   static inline void amdgpu_ring_write(struct amdgpu_ring *ring,
> uint32_t v)
> 
> Looks like with two loops it would made even more sense to
> consolidate.
> 
> Regards,
> 
> Tvrtko
> 
> >   }
> >   
> >   static inline void amdgpu_ring_write(struct amdgpu_ring *ring,
> > uint32_t v)
> 

Reply via email to