[PATCH] drm/amdgpu: check RAS irq existence for VCN/JPEG

Zhang, Hawking Hawking.Zhang at amd.com
Wed Jun 21 02:57:46 UTC 2023


[AMD Official Use Only - General]

Reviewed-by: Hawking Zhang <Hawking.Zhang at amd.com>

Regards,
Hawking
-----Original Message-----
From: Zhou1, Tao <Tao.Zhou1 at amd.com>
Sent: Wednesday, June 21, 2023 10:55
To: amd-gfx at lists.freedesktop.org; Yang, Stanley <Stanley.Yang at amd.com>; Zhang, Hawking <Hawking.Zhang at amd.com>; Li, Candice <Candice.Li at amd.com>; Chai, Thomas <YiPeng.Chai at amd.com>
Cc: Zhou1, Tao <Tao.Zhou1 at amd.com>
Subject: [PATCH] drm/amdgpu: check RAS irq existence for VCN/JPEG

No RAS irq is allowed.

Signed-off-by: Tao Zhou <tao.zhou1 at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c | 3 ++-  drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c  | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
index 3add4b4f0667..2ff2897fd1db 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c
@@ -255,7 +255,8 @@ int amdgpu_jpeg_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *

        if (amdgpu_ras_is_supported(adev, ras_block->block)) {
                for (i = 0; i < adev->jpeg.num_jpeg_inst; ++i) {
-                       if (adev->jpeg.harvest_config & (1 << i))
+                       if (adev->jpeg.harvest_config & (1 << i) ||
+                           !adev->jpeg.inst[i].ras_poison_irq.funcs)
                                continue;

                        r = amdgpu_irq_get(adev, &adev->jpeg.inst[i].ras_poison_irq, 0); diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
index 19a3bb5dd29a..d37ebd4402ef 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
@@ -1216,7 +1216,8 @@ int amdgpu_vcn_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *r

        if (amdgpu_ras_is_supported(adev, ras_block->block)) {
                for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
-                       if (adev->vcn.harvest_config & (1 << i))
+                       if (adev->vcn.harvest_config & (1 << i) ||
+                           !adev->vcn.inst[i].ras_poison_irq.funcs)
                                continue;

                        r = amdgpu_irq_get(adev, &adev->vcn.inst[i].ras_poison_irq, 0);
--
2.35.1



More information about the amd-gfx mailing list