Hi,

This patch removes noises in speaker (or headphone) when rebooting
(tested on only one Conexant CX20724 chip)

Index: azalia.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/azalia.c,v
retrieving revision 1.235
diff -u -p -r1.235 azalia.c
--- azalia.c    11 Apr 2017 14:43:49 -0000      1.235
+++ azalia.c    28 Jun 2017 13:44:26 -0000
@@ -697,12 +697,25 @@ azalia_shutdown(void *v)
 {
        azalia_t *az = (azalia_t *)v;
        uint32_t gctl;
+       codec_t *codec;
+       int i;
 
        /* disable unsolicited response */
        gctl = AZ_READ_4(az, GCTL);
        AZ_WRITE_4(az, GCTL, gctl & ~(HDA_GCTL_UNSOL));
 
        timeout_del(&az->unsol_to);
+
+       /* power off all codecs */
+       for (i = 0; i < az->ncodecs; i++) {
+               codec = &az->codecs[i];
+               if (codec->audiofunc < 0)
+                       continue;
+               azalia_comresp(codec, codec->audiofunc,
+                              CORB_SET_POWER_STATE, CORB_PS_D3, NULL);
+               DELAY(100);
+               azalia_codec_delete(codec);
+       }
 
        /* halt CORB/RIRB */
        azalia_halt_corb(az);

-- 
Manuel Giraud

Reply via email to