Tuesday, May 31, 2022

Re: Gemini Lake HD Audio (azalia?) not working on StarLabs StarLite MK IV

On Wed, Jun 01, 2022 at 03:03:44AM +0100, Chris Narkiewicz wrote:
> Hi,
>
> I have a StarLabs StarLite mk iv laptop with Gemini Lake CPU and audio
> device is "not configured".
>
> Relevant pcidump -vv output:
> 0:14:0: Intel Gemini Lake HD Audio
> 0x0000: Vendor ID: 8086, Product ID: 3198
> 0x0004: Command: 0006, Status: 0010
> 0x0008: Class: 04 Multimedia, Subclass: 01 Audio,
> Interface: 00, Revision: 06
> 0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
> Cache Line Size: 10
> 0x0010: BAR mem 64bit addr: 0x000000009111c000/0x00004000
> 0x0018: BAR empty (00000000)
> 0x001c: BAR empty (00000000)
> 0x0020: BAR mem 64bit addr: 0x0000000091000000/0x00100000
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 8086 Product ID: 7270
> 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: no
> 0x0070: Capability 0x10: PCI Express
> Max Payload Size: 128 / 128 bytes
> Max Read Request Size: 512 bytes
> 0x0100: Enhanced Capability 0x00: Unknown
>
> Relevant dmesg output:
> cpu0: Intel(R) Pentium(R) Silver N5030 CPU @ 1.10GHz, 2800.01 MHz, 06-7a-08
> "Intel Gemini Lake HD Audio" rev 0x06 at pci0 dev 14 function 0 not configured
>
> Digging into the /sys source code, I found that it should be handled by azalia driver:
>
> # grep -r PCI_PRODUCT_INTEL_GLK_HDA .
> ./dev/pci/azalia.c: case PCI_PRODUCT_INTEL_GLK_HDA:
> ./dev/pci/pcidevs.h:#define PCI_PRODUCT_INTEL_GLK_HDA 0x3198 /* Gemini Lake HD Audio */
> ./dev/pci/pcidevs_data.h: PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_GLK_HDA,
>
>
> I'm wondering why it could not be configured and how to dig into this?

Your device is subclass audio not subclass hd audio. Try this:

Index: sys/dev/pci/azalia.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/azalia.c,v
retrieving revision 1.272
diff -u -p -r1.272 azalia.c
--- sys/dev/pci/azalia.c 1 Apr 2022 22:37:21 -0000 1.272
+++ sys/dev/pci/azalia.c 1 Jun 2022 02:21:41 -0000
@@ -498,6 +498,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_500SERIES_LP_HDA },
+ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_GLK_HDA },
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_JSL_HDA },
};

No comments:

Post a Comment