git: c0d9fab3c45b - stable/13 - snd_hda: add 32-bit memory quirk for Creative Sound Blaster Audigy FX

From: Gleb Smirnoff <glebius_at_FreeBSD.org>
Date: Mon, 11 Mar 2024 16:20:18 UTC
The branch stable/13 has been updated by glebius:

URL: https://cgit.FreeBSD.org/src/commit/?id=c0d9fab3c45b3de19ec6c969bbd1d148a9e8a295

commit c0d9fab3c45b3de19ec6c969bbd1d148a9e8a295
Author:     Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2024-02-23 19:30:13 +0000
Commit:     Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2024-03-11 16:20:10 +0000

    snd_hda: add 32-bit memory quirk for Creative Sound Blaster Audigy FX
    
    Despite still being in production the device appeared not able to use
    memory above BUS_SPACE_MAXADDR_32BIT, and if your desktop has a lot of
    memory there is a high chance driver would allocate inaccessible memory.
    
    Submitted by:   wulf
    Reviewed by:    mav
    
    (cherry picked from commit 89189224adb560af6de2bb2e13a2b1831b89101d)
---
 sys/dev/sound/pci/hda/hdac.c | 1 +
 sys/dev/sound/pci/hda/hdac.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c
index 3d2c4001d68d..f5be149ae117 100644
--- a/sys/dev/sound/pci/hda/hdac.c
+++ b/sys/dev/sound/pci/hda/hdac.c
@@ -203,6 +203,7 @@ static const struct {
 	{ HDA_VMWARE,        "VMware",		0, 0 },
 	{ HDA_SIS_966,       "SiS 966/968",	0, 0 },
 	{ HDA_ULI_M5461,     "ULI M5461",	0, 0 },
+	{ HDA_CREATIVE_SB1570,	"Creative SB Audigy FX", 0, HDAC_QUIRK_64BIT },
 	/* Unknown */
 	{ HDA_INTEL_ALL,  "Intel",		0, 0 },
 	{ HDA_NVIDIA_ALL, "NVIDIA",		0, 0 },
diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h
index a1ddd19a518c..bcda5d563524 100644
--- a/sys/dev/sound/pci/hda/hdac.h
+++ b/sys/dev/sound/pci/hda/hdac.h
@@ -192,6 +192,7 @@
 
 /* Creative */
 #define CREATIVE_VENDORID	0x1102
+#define	HDA_CREATIVE_SB1570	HDA_MODEL_CONSTRUCT(CREATIVE, 0x0012)
 #define HDA_CREATIVE_ALL	HDA_MODEL_CONSTRUCT(CREATIVE, 0xffff)
 
 /* VIA */