Following up here - Brad Smith (cc'ed) suggested a patch off-list to
register ALC257 as part of the Azalia codecs.

I applied this patch, and susequently it did not work. I did some
resarch into how Linux's ALSA handles this chip, and it seems that it
treats it the same as an ALC 269.

The suggested patch comprises of:

--- azalia_codec.c.orig Tue Oct 20 20:26:20 2020
+++ azalia_codec.c      Tue Oct 20 20:02:58 2020
@@ -83,6 +83,10 @@
                this->name = "Realtek ALC221";
                this->qrks |= AZ_QRK_WID_CDIN_1C | AZ_QRK_WID_BEEP_1D;
                break;
+    case 0x10ec0257:
+               this->name = "Realtek ALC257";
+       this->qrks |= AZ_QRK_WID_CDIN_1C | AZ_QRK_WID_BEEP_1D;
+               break;
        case 0x10ec0260:
                this->name = "Realtek ALC260";
                if (this->subid == 0x008f1025)


This configures the device in the same way as the ALC269 further down in
the same driver.

I compiled my kernel with AZALIA_DEBUG enabled, and it now appears that
the codec gets attached - but alas, still no sound through the speakers.

My suspicion is that we need to set one of the AZ_QRK_GPIO_UNMUTE_*
flags, but I'm not familiar with this code and I can't quite interpret
the output properly yet.

I also tried the variation where we simply don't set any of the quirk
flags - same result.

Any further ideas greatly appreciated.

AZALIA_DEBUG output from kernel with patch applied:

azalia0 at pci6 dev 0 function 1 "ATI Renoir HD Audio" rev 0x00: msi
azalia_reset: resetting
azalia_reset: reset counter = 5000
azalia_reset: reset counter = 5000
azalia0: host: High Definition Audio rev. 1.0
azalia0: host: 4 output, 0 input, and 0 bidi streams
azalia0: found a codec at #0
azalia_init_corb: CORB allocation succeeded.
azalia_init_corb: CORBWP=0; size=256
azalia_init_rirb: RIRB allocation succeeded.
azalia_init_rirb: RIRBRP=0, size=256
azalia0: codec[0] vid 0x1002aa01, subid 0x508217aa, rev. 7.0, HDA version 1.0
azalia0: nidstart=1 #functions=1
azalia_codec_init: FTYPE result = 0x00000001
azalia_codec_init: There are 12 widgets in the audio function.
        encodings=1<PCM>
        PCM formats=20070<16bit,48kHz,44.1kHz,32kHz>
        inamp: mute=0 size=0 steps=0 offset=0
        outamp: mute=0 size=0 steps=0 offset=0
        gpio: wake=0 unsol=0 gpis=0 gpos=0 gpios=0
azalia0: dac02 wcap=221<DIGITAL,STRIPE,STEREO>
azalia0: unknown03 wcap=400381<DIGITAL,CONNLIST,UNSOL,STEREO>
        cap=94<OUTPUT,PRESENCE>
        [15/00] color=unknown device=digital-out conn=jack conntype=digital
        location=spec1 chassis=internal special=hdmi
        connections=0x2; selected=0x2
azalia0: dac04 wcap=221<DIGITAL,STRIPE,STEREO>
azalia0: unknown05 wcap=400381<DIGITAL,CONNLIST,UNSOL,STEREO>
        cap=94<OUTPUT,PRESENCE>
        [15/00] color=unknown device=digital-out conn=jack conntype=digital
        location=spec1 chassis=internal special=hdmi
        connections=0x4; selected=0x4
azalia0: dac06 wcap=221<DIGITAL,STRIPE,STEREO>
azalia0: unknown07 wcap=400381<DIGITAL,CONNLIST,UNSOL,STEREO>
        cap=94<OUTPUT,PRESENCE>
        [15/00] color=unknown device=digital-out conn=jack conntype=digital
        location=spec1 chassis=internal special=hdmi
        connections=0x6; selected=0x6
azalia0: dac08 wcap=221<DIGITAL,STRIPE,STEREO>
azalia0: unknown09 wcap=400381<DIGITAL,CONNLIST,UNSOL,STEREO>
        cap=94<OUTPUT,PRESENCE>
        [15/00] color=unknown device=digital-out conn=none conntype=digital
        location=spec1 chassis=internal special=hdmi
        connections=0x8; selected=0x8
azalia0: dac0a wcap=221<DIGITAL,STRIPE,STEREO>
azalia0: unknown0b wcap=400381<DIGITAL,CONNLIST,UNSOL,STEREO>
        cap=94<OUTPUT,PRESENCE>
        [15/00] color=unknown device=digital-out conn=none conntype=digital
        location=spec1 chassis=internal special=hdmi
        connections=0xa; selected=0xa
azalia0: dac0c wcap=221<DIGITAL,STRIPE,STEREO>
azalia0: unknown0d wcap=400381<DIGITAL,CONNLIST,UNSOL,STEREO>
        cap=94<OUTPUT,PRESENCE>
        [15/00] color=unknown device=digital-out conn=none conntype=digital
        location=spec1 chassis=internal special=hdmi
        connections=0xc; selected=0xc
azalia_codec_sort_pins: analog out pins:
azalia_codec_sort_pins: digital out pins: 0x03->0x02 0x05->0x04 0x07->0x06
azalia_codec_sort_pins: analog in pins:
azalia_codec_sort_pins: digital in pins:
azalia0: dacgroup[0]: 02 04 06
azalia0: no supported codecs
azalia_pci_detach
azalia_pci_detach: delete streams
azalia_pci_detach: delete codecs
azalia_pci_detach: delete CORB and RIRB
azalia_pci_detach: disable interrupts
azalia_pci_detach: clear interrupts
azalia_pci_detach: delete PCI resources
ccp0 at pci6 dev 0 function 2 "AMD 17h/1xh Crypto" rev 0x00
xhci1 at pci6 dev 0 function 3 "AMD 17h/6xh xHCI" rev 0x00: msi, xHCI 1.10
usb1 at xhci1: USB revision 3.0
uhub1 at usb1 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 
addr 1
xhci2 at pci6 dev 0 function 4 "AMD 17h/6xh xHCI" rev 0x00: msi, xHCI 1.10
usb2 at xhci2: USB revision 3.0
uhub2 at usb2 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 
addr 1
"AMD 17h/1xh I2S Audio" rev 0x01 at pci6 dev 0 function 5 not configured
azalia1 at pci6 dev 0 function 6 "AMD 17h/1xh HD Audio" rev 0x00: apic 33 int 12
azalia_reset: resetting
azalia_reset: reset counter = 5000
azalia_reset: reset counter = 4992
azalia1: host: High Definition Audio rev. 1.0
azalia1: host: 4 output, 4 input, and 0 bidi streams
azalia1: found a codec at #0
azalia_init_corb: CORB allocation succeeded.
azalia_init_corb: CORBWP=0; size=256
azalia_init_rirb: RIRB allocation succeeded.
azalia_init_rirb: RIRBRP=0, size=256
azalia1: codec[0] vid 0x10ec0257, subid 0x508217aa, rev. 0.1, HDA version 1.0
azalia1: nidstart=1 #functions=1
azalia_codec_init: FTYPE result = 0x00000101
azalia_codec_init: There are 35 widgets in the audio function.
        encodings=1<PCM>
        PCM formats=e0560<24bit,20bit,16bit,192kHz,96kHz,48kHz,44.1kHz>
        inamp: mute=0 size=0 steps=0 offset=0
        outamp: mute=0 size=0 steps=0 offset=0
        gpio: wake=0 unsol=1 gpis=0 gpos=0 gpios=3
azalia1: dac02 wcap=41d<POWER,FORMATOV,AMPOV,OUTAMP,STEREO>
        encodings=1<PCM>
        PCM formats=e0060<24bit,20bit,16bit,48kHz,44.1kHz>
        outamp: mute=0 size=2 steps=87 offset=87
azalia1: dac03 wcap=41d<POWER,FORMATOV,AMPOV,OUTAMP,STEREO>
        encodings=1<PCM>
        PCM formats=e0060<24bit,20bit,16bit,48kHz,44.1kHz>
        outamp: mute=0 size=2 steps=87 offset=87
azalia1: vendor04 wcap=f00000
azalia1: vendor05 wcap=f00000
azalia1: dac06 wcap=611<POWER,DIGITAL,FORMATOV,STEREO>
        encodings=1<PCM>
        PCM formats=e05e0<24bit,20bit,16bit,192kHz,96kHz,88.2kHz,48kHz,44.1kHz>
azalia1: adc07 wcap=10051b<POWER,CONNLIST,FORMATOV,AMPOV,INAMP,STEREO>
        encodings=1<PCM>
        PCM formats=e0560<24bit,20bit,16bit,192kHz,96kHz,48kHz,44.1kHz>
        inamp: mute=1 size=2 steps=63 offset=23
        connections=0x24; selected=0x24
azalia1: adc08 wcap=10051b<POWER,CONNLIST,FORMATOV,AMPOV,INAMP,STEREO>
        encodings=1<PCM>
        PCM formats=e0560<24bit,20bit,16bit,192kHz,96kHz,48kHz,44.1kHz>
        inamp: mute=1 size=2 steps=63 offset=23
        connections=0x23; selected=0x23
azalia1: adc09 wcap=10051b<POWER,CONNLIST,FORMATOV,AMPOV,INAMP,STEREO>
        encodings=1<PCM>
        PCM formats=e0560<24bit,20bit,16bit,192kHz,96kHz,48kHz,44.1kHz>
        inamp: mute=1 size=2 steps=63 offset=23
        connections=0x22; selected=0x22
azalia1: vendor0a wcap=f00000
azalia1: vendor0b wcap=f00000
azalia1: vendor0c wcap=f00000
azalia1: vendor0d wcap=f00000
azalia1: vendor0e wcap=f00000
azalia1: vendor0f wcap=f00000
azalia1: vendor10 wcap=f00000
azalia1: vendor11 wcap=f00000
azalia1: black12 wcap=40040b<POWER,AMPOV,INAMP,STEREO>
        cap=20<INPUT>
        [15/00] color=black device=spkr conn=none conntype=1/8
        location=rear chassis=external special=none
        inamp: mute=0 size=39 steps=3 offset=0
azalia1: black13 wcap=40040b<POWER,AMPOV,INAMP,STEREO>
        cap=20<INPUT>
        [15/00] color=black device=spkr conn=none conntype=1/8
        location=rear chassis=external special=none
        inamp: mute=0 size=39 steps=3 offset=0
azalia1: unknown14 wcap=40058d<POWER,CONNLIST,UNSOL,AMPOV,OUTAMP,STEREO>
        cap=10014<EAPD,OUTPUT,PRESENCE>
        [01/00] color=unknown device=spkr conn=fixed conntype=analog
        location=n/a chassis=internal special=none
        outamp: mute=1 size=0 steps=0 offset=0
        connections=0x2; selected=0x2
azalia1: vendor15 wcap=f00000
azalia1: vendor16 wcap=f00000
azalia1: vendor17 wcap=f00000
azalia1: black18 wcap=40048b<POWER,UNSOL,AMPOV,INAMP,STEREO>
        cap=3724<VREF100,VREF80,VREFGND,VREF50,VREFHIZ,INPUT,PRESENCE>
        [15/00] color=black device=spkr conn=none conntype=1/8
        location=rear chassis=external special=none
        inamp: mute=0 size=39 steps=3 offset=0
azalia1: black19 wcap=40048b<POWER,UNSOL,AMPOV,INAMP,STEREO>
        cap=3724<VREF100,VREF80,VREFGND,VREF50,VREFHIZ,INPUT,PRESENCE>
        [03/00] color=black device=mic conn=jack conntype=1/8
        location=right chassis=external special=none
        inamp: mute=0 size=39 steps=3 offset=0
azalia1: black1a wcap=40048b<POWER,UNSOL,AMPOV,INAMP,STEREO>
        cap=3724<VREF100,VREF80,VREFGND,VREF50,VREFHIZ,INPUT,PRESENCE>
        [15/00] color=black device=spkr conn=none conntype=1/8
        location=rear chassis=external special=none
        inamp: mute=0 size=39 steps=3 offset=0
azalia1: black1b wcap=40058f<POWER,CONNLIST,UNSOL,AMPOV,OUTAMP,INAMP,STEREO>
        
cap=13734<EAPD,VREF100,VREF80,VREFGND,VREF50,VREFHIZ,INPUT,OUTPUT,PRESENCE>
        [15/00] color=black device=spkr conn=none conntype=1/8
        location=rear chassis=external special=none
        inamp: mute=0 size=39 steps=3 offset=0
        outamp: mute=1 size=0 steps=0 offset=0
        connections=0x2,0x3; selected=0x2
azalia1: vendor1c wcap=f00000
azalia1: black1d wcap=400400<POWER>
        cap=20<INPUT>
        [15/00] color=black device=spkr conn=none conntype=1/8
        location=rear chassis=external special=none
azalia1: black1e wcap=400781<POWER,DIGITAL,CONNLIST,UNSOL,STEREO>
        cap=14<OUTPUT,PRESENCE>
        [15/00] color=black device=spkr conn=none conntype=1/8
        location=rear chassis=external special=none
        connections=0x6; selected=0x6
azalia1: vendor1f wcap=f00000
azalia1: vendor20 wcap=f00040<PROC>
azalia1: black21 wcap=40058d<POWER,CONNLIST,UNSOL,AMPOV,OUTAMP,STEREO>
        cap=1001c<EAPD,OUTPUT,HEADPHONE,PRESENCE>
        [02/00] color=black device=hp conn=jack conntype=1/8
        location=right chassis=external special=none
        outamp: mute=1 size=0 steps=0 offset=0
        connections=0x2,0x3; selected=0x2
azalia1: mix22 wcap=20010b<CONNLIST,AMPOV,INAMP,STEREO>
        inamp: mute=1 size=0 steps=0 offset=0
        connections=0x18,0x19,0x1a,0x1b,0x1d,0x13; selected=0x18
azalia1: mix23 wcap=20010b<CONNLIST,AMPOV,INAMP,STEREO>
        inamp: mute=1 size=0 steps=0 offset=0
        connections=0x18,0x19,0x1a,0x1b,0x1d,0x12; selected=0x18
azalia1: sel24 wcap=300101<CONNLIST,STEREO>
        connections=0x12,0x13; selected=0x12
azalia_codec_sort_pins: analog out pins: 0x21->0x02
azalia_codec_sort_pins: digital out pins:
azalia_codec_sort_pins: analog in pins: 0x19->0x08
azalia_codec_sort_pins: digital in pins:
azalia1: dacgroup[0]: 03 02
azalia1: adcgroup[0]: 08 09
azalia1: codecs: Realtek ALC257

Reply via email to