On Fri, Sep 8, 2023 at 4:40 PM Timmy Tsai <timmtsai@xxxxxxx> wrote: > > During jpeg init, CPU writes to frame buffer which can be cached by HDP, > occasionally causing invalid header to be sent to MMSCH. Perform HDP flush > after writing to frame buffer before continuing with jpeg init sequence. > > Signed-off-by: Timmy Tsai <timmtsai@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.c b/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.c > index 3eb3dcd56..02b8eca91 100644 > --- a/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.c > @@ -468,6 +468,9 @@ static int jpeg_v4_0_start_sriov(struct amdgpu_device *adev) > table_loc = (uint32_t *)table->cpu_addr; > memcpy((void *)table_loc, &header, size); > > + /* Perform HDP flush before writing to MMSCH registers */ > + amdgpu_device_flush_hdp(adev, NULL); > + > /* message MMSCH (in VCN[0]) to initialize this client > * 1, write to mmsch_vf_ctx_addr_lo/hi register with GPU mc addr > * of memory descriptor location > -- > 2.34.1 >