]> 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:56:27 +0000 (18:56 +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 584cd5277f927296486a6816ef5e46d011fa549f..e2dd7d4361cf314093016c15f2f9865d7d2c225f 100644 (file)
@@ -1459,17 +1459,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 c14b70350a51aeb12f476d66ed6cde6701e89c19..7ce89654e12b42dca5b588ffc4a934c3af2bd677 100644 (file)
@@ -1508,17 +1508,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 7f85ba5b726f6860e2ae80506b231145b196e5c0..c3d05ab7b12ff11f4303c8874a56c7b3c616f739 100644 (file)
@@ -1377,17 +1377,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 f2b3cb5ed6bec2a074742729055d19ec1f1822e1..ce2300c3c36b408427d3262bbba38c211c6a3c34 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;
 }