]> 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:54:17 +0000 (18:54 +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 288fce7dc0ed178305b443d93fe72906e603bbf6..efc85aa157ddd6370a8e3a8040f4b43032c83f4c 100644 (file)
@@ -1464,17 +1464,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 cbe5250b31cb4e33ac7460a323690df56f955f70..91a7f9a4faeac324605a89f01fc6648b0ac598e3 100644 (file)
@@ -1506,17 +1506,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 b1c44fab074f32806266b054d4aa163816cd9c46..6376a252e3f074c8be69023b6ca25f94ad3330df 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 a22b45c9279227a2a28adf8aabebf2718c4dd1ba..e93931655243e556fb331f923168383910a5546c 100644 (file)
@@ -1427,17 +1427,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;
 }