Commit e9fb2028 authored by Panagiotis Foliadis's avatar Panagiotis Foliadis Committed by Takashi Iwai
Browse files

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: default avatarCharalampos Mitrodimas <charmitro@posteo.net>
Signed-off-by: default avatarPanagiotis Foliadis <pfoliadis@posteo.net>
Link: https://patch.msgid.link/20260225-nvidia-audio-fix-v1-1-b1383c37ec49@posteo.net


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 4e9113c5
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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;
	}