+++ /dev/null
-From b35eb9128ebeec534eed1cefd6b9b1b7282cf5ba Mon Sep 17 00:00:00 2001
-From: Alex Deucher <alexander.deucher@amd.com>
-Date: Tue, 28 Jan 2025 11:55:22 -0500
-Subject: drm/amdgpu/gfx9: manually control gfxoff for CS on RV
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Alex Deucher <alexander.deucher@amd.com>
-
-commit b35eb9128ebeec534eed1cefd6b9b1b7282cf5ba upstream.
-
-When mesa started using compute queues more often
-we started seeing additional hangs with compute queues.
-Disabling gfxoff seems to mitigate that. Manually
-control gfxoff and gfx pg with command submissions to avoid
-any issues related to gfxoff. KFD already does the same
-thing for these chips.
-
-v2: limit to compute
-v3: limit to APUs
-v4: limit to Raven/PCO
-v5: only update the compute ring_funcs
-v6: Disable GFX PG
-v7: adjust order
-
-Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
-Suggested-by: Błażej Szczygieł <mumei6102@gmail.com>
-Suggested-by: Sergey Kovalenko <seryoga.engineering@gmail.com>
-Link: https://gitlab.freedesktop.org/drm/amd/-/issues/3861
-Link: https://lists.freedesktop.org/archives/amd-gfx/2025-January/119116.html
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Cc: stable@vger.kernel.org # 6.12.x
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 36 ++++++++++++++++++++++++++++++++--
- 1 file changed, 34 insertions(+), 2 deletions(-)
-
---- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
-@@ -7415,6 +7415,38 @@ static void gfx_v9_0_ring_emit_cleaner_s
- amdgpu_ring_write(ring, 0); /* RESERVED field, programmed to zero */
- }
-
-+static void gfx_v9_0_ring_begin_use_compute(struct amdgpu_ring *ring)
-+{
-+ struct amdgpu_device *adev = ring->adev;
-+ struct amdgpu_ip_block *gfx_block =
-+ amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_GFX);
-+
-+ amdgpu_gfx_enforce_isolation_ring_begin_use(ring);
-+
-+ /* Raven and PCO APUs seem to have stability issues
-+ * with compute and gfxoff and gfx pg. Disable gfx pg during
-+ * submission and allow again afterwards.
-+ */
-+ if (gfx_block && amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 1, 0))
-+ gfx_v9_0_set_powergating_state(gfx_block, AMD_PG_STATE_UNGATE);
-+}
-+
-+static void gfx_v9_0_ring_end_use_compute(struct amdgpu_ring *ring)
-+{
-+ struct amdgpu_device *adev = ring->adev;
-+ struct amdgpu_ip_block *gfx_block =
-+ amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_GFX);
-+
-+ /* Raven and PCO APUs seem to have stability issues
-+ * with compute and gfxoff and gfx pg. Disable gfx pg during
-+ * submission and allow again afterwards.
-+ */
-+ if (gfx_block && amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 1, 0))
-+ gfx_v9_0_set_powergating_state(gfx_block, AMD_PG_STATE_GATE);
-+
-+ amdgpu_gfx_enforce_isolation_ring_end_use(ring);
-+}
-+
- static const struct amd_ip_funcs gfx_v9_0_ip_funcs = {
- .name = "gfx_v9_0",
- .early_init = gfx_v9_0_early_init,
-@@ -7591,8 +7623,8 @@ static const struct amdgpu_ring_funcs gf
- .emit_wave_limit = gfx_v9_0_emit_wave_limit,
- .reset = gfx_v9_0_reset_kcq,
- .emit_cleaner_shader = gfx_v9_0_ring_emit_cleaner_shader,
-- .begin_use = amdgpu_gfx_enforce_isolation_ring_begin_use,
-- .end_use = amdgpu_gfx_enforce_isolation_ring_end_use,
-+ .begin_use = gfx_v9_0_ring_begin_use_compute,
-+ .end_use = gfx_v9_0_ring_end_use_compute,
- };
-
- static const struct amdgpu_ring_funcs gfx_v9_0_ring_funcs_kiq = {
batman-adv-fix-panic-during-interface-removal.patch
batman-adv-ignore-neighbor-throughput-metrics-in-error-case.patch
batman-adv-drop-unmanaged-elp-metric-worker.patch
-drm-amdgpu-gfx9-manually-control-gfxoff-for-cs-on-rv.patch
drm-amdgpu-bump-version-for-rv-pco-compute-fix.patch
drm-amdgpu-avoid-buffer-overflow-attach-in-smu_sys_set_pp_table.patch
kvm-x86-reject-hyper-v-s-send_ipi-hypercalls-if-local-apic-isn-t-in-kernel.patch
+++ /dev/null
-From b35eb9128ebeec534eed1cefd6b9b1b7282cf5ba Mon Sep 17 00:00:00 2001
-From: Alex Deucher <alexander.deucher@amd.com>
-Date: Tue, 28 Jan 2025 11:55:22 -0500
-Subject: drm/amdgpu/gfx9: manually control gfxoff for CS on RV
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Alex Deucher <alexander.deucher@amd.com>
-
-commit b35eb9128ebeec534eed1cefd6b9b1b7282cf5ba upstream.
-
-When mesa started using compute queues more often
-we started seeing additional hangs with compute queues.
-Disabling gfxoff seems to mitigate that. Manually
-control gfxoff and gfx pg with command submissions to avoid
-any issues related to gfxoff. KFD already does the same
-thing for these chips.
-
-v2: limit to compute
-v3: limit to APUs
-v4: limit to Raven/PCO
-v5: only update the compute ring_funcs
-v6: Disable GFX PG
-v7: adjust order
-
-Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
-Suggested-by: Błażej Szczygieł <mumei6102@gmail.com>
-Suggested-by: Sergey Kovalenko <seryoga.engineering@gmail.com>
-Link: https://gitlab.freedesktop.org/drm/amd/-/issues/3861
-Link: https://lists.freedesktop.org/archives/amd-gfx/2025-January/119116.html
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Cc: stable@vger.kernel.org # 6.12.x
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 36 ++++++++++++++++++++++++++++++++--
- 1 file changed, 34 insertions(+), 2 deletions(-)
-
---- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
-@@ -7439,6 +7439,38 @@ static void gfx_v9_0_ring_emit_cleaner_s
- amdgpu_ring_write(ring, 0); /* RESERVED field, programmed to zero */
- }
-
-+static void gfx_v9_0_ring_begin_use_compute(struct amdgpu_ring *ring)
-+{
-+ struct amdgpu_device *adev = ring->adev;
-+ struct amdgpu_ip_block *gfx_block =
-+ amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_GFX);
-+
-+ amdgpu_gfx_enforce_isolation_ring_begin_use(ring);
-+
-+ /* Raven and PCO APUs seem to have stability issues
-+ * with compute and gfxoff and gfx pg. Disable gfx pg during
-+ * submission and allow again afterwards.
-+ */
-+ if (gfx_block && amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 1, 0))
-+ gfx_v9_0_set_powergating_state(gfx_block, AMD_PG_STATE_UNGATE);
-+}
-+
-+static void gfx_v9_0_ring_end_use_compute(struct amdgpu_ring *ring)
-+{
-+ struct amdgpu_device *adev = ring->adev;
-+ struct amdgpu_ip_block *gfx_block =
-+ amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_GFX);
-+
-+ /* Raven and PCO APUs seem to have stability issues
-+ * with compute and gfxoff and gfx pg. Disable gfx pg during
-+ * submission and allow again afterwards.
-+ */
-+ if (gfx_block && amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 1, 0))
-+ gfx_v9_0_set_powergating_state(gfx_block, AMD_PG_STATE_GATE);
-+
-+ amdgpu_gfx_enforce_isolation_ring_end_use(ring);
-+}
-+
- static const struct amd_ip_funcs gfx_v9_0_ip_funcs = {
- .name = "gfx_v9_0",
- .early_init = gfx_v9_0_early_init,
-@@ -7615,8 +7647,8 @@ static const struct amdgpu_ring_funcs gf
- .emit_wave_limit = gfx_v9_0_emit_wave_limit,
- .reset = gfx_v9_0_reset_kcq,
- .emit_cleaner_shader = gfx_v9_0_ring_emit_cleaner_shader,
-- .begin_use = amdgpu_gfx_enforce_isolation_ring_begin_use,
-- .end_use = amdgpu_gfx_enforce_isolation_ring_end_use,
-+ .begin_use = gfx_v9_0_ring_begin_use_compute,
-+ .end_use = gfx_v9_0_ring_end_use_compute,
- };
-
- static const struct amdgpu_ring_funcs gfx_v9_0_ring_funcs_kiq = {
batman-adv-drop-unmanaged-elp-metric-worker.patch
batman-adv-fix-incorrect-offset-in-batadv_tt_tvlv_ogm_handler_v1.patch
drm-xe-carve-out-wopcm-portion-from-the-stolen-memory.patch
-drm-amdgpu-gfx9-manually-control-gfxoff-for-cs-on-rv.patch
drm-amdgpu-bump-version-for-rv-pco-compute-fix.patch
drm-amdgpu-avoid-buffer-overflow-attach-in-smu_sys_set_pp_table.patch
kvm-x86-reject-hyper-v-s-send_ipi-hypercalls-if-local-apic-isn-t-in-kernel.patch