| From 082c192c0dd03f685514c9ce2eb0a80fd28e2175 Mon Sep 17 00:00:00 2001 |
| From: Kai Vehmanen <kai.vehmanen@linux.intel.com> |
| Date: Wed, 8 Apr 2026 11:45:13 +0300 |
| Subject: ALSA: hda/intel: enforce stricter period-size alignment for Intel NVL |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Kai Vehmanen <kai.vehmanen@linux.intel.com> |
| |
| commit 082c192c0dd03f685514c9ce2eb0a80fd28e2175 upstream. |
| |
| Intel ACE4 based products set more strict constraints on HDA BDLE start |
| address and length alignment. Modify capability flags to drop |
| AZX_DCAPS_NO_ALIGN_BUFSIZE for Intel Nova Lake platforms. |
| |
| Fixes: 7f428282fde3 ("ALSA: hda: controllers: intel: add support for Nova Lake") |
| Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> |
| Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> |
| Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com> |
| Cc: <stable@vger.kernel.org> |
| Link: https://patch.msgid.link/20260408084514.24325-2-peter.ujfalusi@linux.intel.com |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| sound/hda/controllers/intel.c | 7 +++++-- |
| 1 file changed, 5 insertions(+), 2 deletions(-) |
| |
| --- a/sound/hda/controllers/intel.c |
| +++ b/sound/hda/controllers/intel.c |
| @@ -295,6 +295,9 @@ enum { |
| #define AZX_DCAPS_INTEL_LNL \ |
| (AZX_DCAPS_INTEL_SKYLAKE | AZX_DCAPS_PIO_COMMANDS) |
| |
| +#define AZX_DCAPS_INTEL_NVL \ |
| + (AZX_DCAPS_INTEL_LNL & ~AZX_DCAPS_NO_ALIGN_BUFSIZE) |
| + |
| /* quirks for ATI SB / AMD Hudson */ |
| #define AZX_DCAPS_PRESET_ATI_SB \ |
| (AZX_DCAPS_NO_TCSEL | AZX_DCAPS_POSFIX_LPIB |\ |
| @@ -2552,8 +2555,8 @@ static const struct pci_device_id azx_id |
| /* Wildcat Lake */ |
| { PCI_DEVICE_DATA(INTEL, HDA_WCL, AZX_DRIVER_SKL | AZX_DCAPS_INTEL_LNL) }, |
| /* Nova Lake */ |
| - { PCI_DEVICE_DATA(INTEL, HDA_NVL, AZX_DRIVER_SKL | AZX_DCAPS_INTEL_LNL) }, |
| - { PCI_DEVICE_DATA(INTEL, HDA_NVL_S, AZX_DRIVER_SKL | AZX_DCAPS_INTEL_LNL) }, |
| + { PCI_DEVICE_DATA(INTEL, HDA_NVL, AZX_DRIVER_SKL | AZX_DCAPS_INTEL_NVL) }, |
| + { PCI_DEVICE_DATA(INTEL, HDA_NVL_S, AZX_DRIVER_SKL | AZX_DCAPS_INTEL_NVL) }, |
| /* Apollolake (Broxton-P) */ |
| { PCI_DEVICE_DATA(INTEL, HDA_APL, AZX_DRIVER_SKL | AZX_DCAPS_INTEL_BROXTON) }, |
| /* Gemini-Lake */ |