]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/amdgpu: Add empty HDP flush function to JPEG v4.0.3
authorLijo Lazar <lijo.lazar@amd.com>
Mon, 11 Dec 2023 05:15:38 +0000 (10:45 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Jul 2024 21:30:23 +0000 (17:30 -0400)
JPEG v4.0.3 doesn't support HDP flush when RRMT is enabled. Instead,
mmsch fw will do the flush.

This change is necessary for JPEG v4.0.3, no need for backward compatibility

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Jane Jian <Jane.Jian@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 585e3fdb36f59c5cfed0ae06c852dc1df22b1d60)

drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c

index 04d8966423decf1879fd46e950a4724a09cfc6be..30a143ab592db866e6c14a85287ad896200024e0 100644 (file)
@@ -621,6 +621,13 @@ static uint64_t jpeg_v4_0_3_dec_ring_get_wptr(struct amdgpu_ring *ring)
                        ring->pipe ? (0x40 * ring->pipe - 0xc80) : 0);
 }
 
+static void jpeg_v4_0_3_ring_emit_hdp_flush(struct amdgpu_ring *ring)
+{
+       /* JPEG engine access for HDP flush doesn't work when RRMT is enabled.
+        * This is a workaround to avoid any HDP flush through JPEG ring.
+        */
+}
+
 /**
  * jpeg_v4_0_3_dec_ring_set_wptr - set write pointer
  *
@@ -1072,6 +1079,7 @@ static const struct amdgpu_ring_funcs jpeg_v4_0_3_dec_ring_vm_funcs = {
        .emit_ib = jpeg_v4_0_3_dec_ring_emit_ib,
        .emit_fence = jpeg_v4_0_3_dec_ring_emit_fence,
        .emit_vm_flush = jpeg_v4_0_3_dec_ring_emit_vm_flush,
+       .emit_hdp_flush = jpeg_v4_0_3_ring_emit_hdp_flush,
        .test_ring = amdgpu_jpeg_dec_ring_test_ring,
        .test_ib = amdgpu_jpeg_dec_ring_test_ib,
        .insert_nop = jpeg_v4_0_3_dec_ring_nop,