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