]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amdgpu: drop hw access in non-DC audio fini
authorAlex Deucher <alexander.deucher@amd.com>
Wed, 6 Aug 2025 14:47:50 +0000 (10:47 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Sep 2025 16:45:21 +0000 (18:45 +0200)
commit 71403f58b4bb6c13b71c05505593a355f697fd94 upstream.

We already disable the audio pins in hw_fini so
there is no need to do it again in sw_fini.

Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4481
Cc: oushixiong <oushixiong1025@163.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 5eeb16ca727f11278b2917fd4311a7d7efb0bbd6)
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c

index 5963cbe0d455c23e98de71a498d1748a0b83992d..72fc5eaa251fe21d0c2acd74f4e080bfc4851a51 100644 (file)
@@ -1463,17 +1463,12 @@ static int dce_v10_0_audio_init(struct amdgpu_device *adev)
 
 static void dce_v10_0_audio_fini(struct amdgpu_device *adev)
 {
-       int i;
-
        if (!amdgpu_audio)
                return;
 
        if (!adev->mode_info.audio.enabled)
                return;
 
-       for (i = 0; i < adev->mode_info.audio.num_pins; i++)
-               dce_v10_0_audio_enable(adev, &adev->mode_info.audio.pin[i], false);
-
        adev->mode_info.audio.enabled = false;
 }
 
index 1954472c8e8f678452d1cdef0d254373dea80ad6..7c97054557dc48a0459beb713c7cbd3f3d9d5a49 100644 (file)
@@ -1505,17 +1505,12 @@ static int dce_v11_0_audio_init(struct amdgpu_device *adev)
 
 static void dce_v11_0_audio_fini(struct amdgpu_device *adev)
 {
-       int i;
-
        if (!amdgpu_audio)
                return;
 
        if (!adev->mode_info.audio.enabled)
                return;
 
-       for (i = 0; i < adev->mode_info.audio.num_pins; i++)
-               dce_v11_0_audio_enable(adev, &adev->mode_info.audio.pin[i], false);
-
        adev->mode_info.audio.enabled = false;
 }
 
index 3a44753a80d108e5a2f468586907ae75b6d763b0..f81a10379ed44c2decdb66a77bd9b3a189469eeb 100644 (file)
@@ -1375,17 +1375,12 @@ static int dce_v6_0_audio_init(struct amdgpu_device *adev)
 
 static void dce_v6_0_audio_fini(struct amdgpu_device *adev)
 {
-       int i;
-
        if (!amdgpu_audio)
                return;
 
        if (!adev->mode_info.audio.enabled)
                return;
 
-       for (i = 0; i < adev->mode_info.audio.num_pins; i++)
-               dce_v6_0_audio_enable(adev, &adev->mode_info.audio.pin[i], false);
-
        adev->mode_info.audio.enabled = false;
 }
 
index 3603e5f13077568db62e930ae3dfdbcb88db5b8e..aa21354ca122bd83a5f27807d69048b1f39662f0 100644 (file)
@@ -1426,17 +1426,12 @@ static int dce_v8_0_audio_init(struct amdgpu_device *adev)
 
 static void dce_v8_0_audio_fini(struct amdgpu_device *adev)
 {
-       int i;
-
        if (!amdgpu_audio)
                return;
 
        if (!adev->mode_info.audio.enabled)
                return;
 
-       for (i = 0; i < adev->mode_info.audio.num_pins; i++)
-               dce_v8_0_audio_enable(adev, &adev->mode_info.audio.pin[i], false);
-
        adev->mode_info.audio.enabled = false;
 }