On Fri, Nov 04, 2022 at 09:10:52AM -0500, John Browning wrote: > Hi, > I noticed I did not have sound on my new thinkpad which has a newer > Intel 500 HDA chipset. > > bsd$ doas pcidump -vvv 0:31:3 > 0:31:3: Intel 500 Series HD Audio > 0x0000: Vendor ID: 8086, Product ID: 43c8 > 0x0004: Command: 0006, Status: 0010 > 0x0008: Class: 04 Multimedia, Subclass: 01 Audio, > Interface: 00, Revision: 11 > 0x000c: BIST: 00, Header Type: 00, Latency Timer: 00, > Cache Line Size: 00 > 0x0010: BAR mem 64bit addr: 0x000000603d1c0000/0x00004000 > 0x0018: BAR empty (00000000) > 0x001c: BAR empty (00000000) > 0x0020: BAR mem 64bit addr: 0x000000603d000000/0x00100000 > 0x0028: Cardbus CIS: 00000000 > 0x002c: Subsystem Vendor ID: 17aa Product ID: 22e4 > 0x0030: Expansion ROM Base Address: 00000000 > 0x0038: 00000000 > 0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00 > 0x0050: Capability 0x01: Power Management > State: D0 > 0x0080: Capability 0x09: Vendor Specific > 0x0060: Capability 0x05: Message Signalled Interrupts (MSI) > Enabled: yes > > > Looking at src/sys/dev/pci/azalia.c I noticed making the change in the > below diff corrects the issue with a new kernel build. It seems the > pci subsystem match inclusion may not be needed, but hopefully someone > smarter than I can figure that out (or help me figure that out).
When the subclass is not hd-audio, we match with azalia_pci_devices[]. Which model thinkpad is this? Index: sys/dev/pci/azalia.c =================================================================== RCS file: /cvs/src/sys/dev/pci/azalia.c,v retrieving revision 1.280 diff -u -p -r1.280 azalia.c --- sys/dev/pci/azalia.c 26 Oct 2022 20:19:08 -0000 1.280 +++ sys/dev/pci/azalia.c 4 Nov 2022 14:10:59 -0000 @@ -488,6 +488,7 @@ const struct pci_matchid azalia_pci_devi { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_300SERIES_U_HDA }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_400SERIES_CAVS }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_400SERIES_LP_HDA }, + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_500SERIES_HDA }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_500SERIES_LP_HDA }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_600SERIES_LP_HDA }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_GLK_HDA },