[PATCH] ALSA: hda/intel: increase default bdl_pos_adj for Nvidia controllers

Panagiotis Foliadis posted 1 patch 1 month, 1 week ago
There is a newer version of this series
sound/hda/controllers/intel.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] ALSA: hda/intel: increase default bdl_pos_adj for Nvidia controllers
Posted by Panagiotis Foliadis 1 month, 1 week ago
The default bdl_pos_adj of 32 for Nvidia HDA controllers is
insufficient on GA102 (and likely other recent Nvidia GPUs) after S3
suspend/resume. The controller's DMA timing degrades after resume,
causing premature IRQ detection in azx_position_ok() which results in
silent HDMI/DP audio output despite userspace reporting a valid
playback state and correct ELD data.

Increase bdl_pos_adj to 64 for AZX_DRIVER_NVIDIA, matching the value
already used by Intel Apollo Lake for the same class of timing issue.

Cc: stable@vger.kernel.org
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221069
Suggested-by: Charalampos Mitrodimas <charmitro@posteo.net>
Signed-off-by: Panagiotis Foliadis <pfoliadis@posteo.net>
---
 sound/hda/controllers/intel.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sound/hda/controllers/intel.c b/sound/hda/controllers/intel.c
index 6fddf400c4a3d67042e421b81ac3a13607a24bcd..3f434994c18db64019d3b4cfff8a7cc8764b5f26 100644
--- a/sound/hda/controllers/intel.c
+++ b/sound/hda/controllers/intel.c
@@ -1751,6 +1751,8 @@ static int default_bdl_pos_adj(struct azx *chip)
 		return 1;
 	case AZX_DRIVER_ZHAOXINHDMI:
 		return 128;
+	case AZX_DRIVER_NVIDIA:
+		return 64;
 	default:
 		return 32;
 	}

---
base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
change-id: 20260223-nvidia-audio-fix-76f75db4e7c2

Best regards,
-- 
Panagiotis Foliadis <pfoliadis@posteo.net>
Re: [PATCH] ALSA: hda/intel: increase default bdl_pos_adj for Nvidia controllers
Posted by Takashi Iwai 1 month, 1 week ago
On Wed, 25 Feb 2026 15:53:43 +0100,
Panagiotis Foliadis wrote:
> 
> The default bdl_pos_adj of 32 for Nvidia HDA controllers is
> insufficient on GA102 (and likely other recent Nvidia GPUs) after S3
> suspend/resume. The controller's DMA timing degrades after resume,
> causing premature IRQ detection in azx_position_ok() which results in
> silent HDMI/DP audio output despite userspace reporting a valid
> playback state and correct ELD data.
> 
> Increase bdl_pos_adj to 64 for AZX_DRIVER_NVIDIA, matching the value
> already used by Intel Apollo Lake for the same class of timing issue.
> 
> Cc: stable@vger.kernel.org
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221069
> Suggested-by: Charalampos Mitrodimas <charmitro@posteo.net>
> Signed-off-by: Panagiotis Foliadis <pfoliadis@posteo.net>

Thanks, applied now.


Takashi