]> 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:58:17 +0000 (18:58 +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 70c1399f738defc91de1cb4ffb2b92dd4b134817..baafbb5c032af5958f79dba2f7b107bc2770108f 100644 (file)
@@ -1462,17 +1462,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 f154c24499c8a42b8230623c693cd34812571e66..a67b6b20b677cdef86d6e875e3d56ab22b796d1f 100644 (file)
@@ -1511,17 +1511,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 a7fcb135827f8bf02d2d3f25a4375e5ef3a66f97..1036b7a3739032d5e97e5516622fdeb469a9a991 100644 (file)
@@ -1394,17 +1394,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 77ac3f114d241117fb9cf2f070e8d316b2691c97..0b30b3ed9d4b9618fe52f8a594144423841f0f72 100644 (file)
@@ -1443,17 +1443,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;
 }