ALSA: hda/intel: increase default bdl_pos_adj for Nvidia controllers

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>
Link: https://patch.msgid.link/20260225-nvidia-audio-fix-v1-1-b1383c37ec49@posteo.net
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Panagiotis Foliadis 2026-02-25 14:53:43 +00:00 committed by Takashi Iwai
parent 4e9113c533
commit e9fb2028f1

View file

@ -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;
}