Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Oct 2008 17:18:41 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        Tobias Kirschstein <lev@nupfel.de>,  Tobias Grosser <grosser@fim.uni-passau.de>
Cc:        freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: again config problem with new snd_hda driver
Message-ID:  <4901D941.10603@FreeBSD.org>
In-Reply-To: <4901C98E.80002@FreeBSD.org>
References:  <20081023203221.677be8aa@lain>	<4900CAF8.3010204@FreeBSD.org> <20081024140228.29c25156@lain> <4901C98E.80002@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------040100010104030007090507
Content-Type: text/plain; charset=KOI8-R
Content-Transfer-Encoding: 7bit

Alexander Motin wrote:
> Tobias Kirschstein wrote:
>>>> from dmesg:
>>>> -----------
>>>> hdac0: <Intel 82801G High Definition Audio Controller> mem
>>>> 0xee240000-0xee243fff irq 17 at device 27.0 on pci0 hdac0: HDA
>>>> Driver Revision: 20081013_0113 hdac0: [ITHREAD]
>>>> hdac0: HDA Codec #0: Analog Devices AD1981HD
>>>> hdac0: HDA Codec #1: Conexant (Unknown)
>>>> pcm0: <HDA Analog Devices AD1981HD PCM #0> at cad 0 nid 1 on hdac0
>>> To understand current driver behavior I need to see verbose kernel
>>> boot messages. Read them yourself and send them to me.
>> rebooted now and here are the verbose boot messages for you :)
> 
> Try please attached patch. It disables several unsupported signal paths
> inside the codec to help widget parser to manage it. There is actually
> two options in a patch:
>  1) To disable playback mixer so you will not hear what you are
> recording. But this situation is predictable.
>  2) To use that mixer for playback. You may get system beeper working,
> but it is hard to predict what will happen to recording.
> 
> Test please and send me verbose logs from both cases if you can.

I am sorry, I have made mistake there. Could you test new one.

-- 
Alexander Motin

--------------040100010104030007090507
Content-Type: text/plain;
 name="hda.AD1981HD.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="hda.AD1981HD.patch"

diff -ruNp hda.HEAD/hdac.c hda/hdac.c
--- hda.HEAD/hdac.c	2008-10-23 21:30:06.000000000 +0300
+++ hda/hdac.c	2008-10-24 15:55:36.000000000 +0300
@@ -4510,6 +4510,36 @@ hdac_vendor_patch_parse(struct hdac_devi
 				    ~HDA_QUIRK_EAPDINV;
 		}
 		break;
+	case HDA_CODEC_AD1981HD:
+		/* Disable recording from mono mix. */
+		w = hdac_widget_get(devinfo, 21);
+		if (w != NULL)
+			w->connsenable[3] = 0;
+		/* Disable rear front mic mixer. */
+		w = hdac_widget_get(devinfo, 31);
+		if (w != NULL)
+			w->enable = 0;
+#if 1
+		/* Disable playback mixer, use bypass. */
+		w = hdac_widget_get(devinfo, 14);
+		if (w != NULL)
+			w->enable = 0;
+#else
+		/* Disable bypass, use playback mixer. */
+		w = hdac_widget_get(devinfo, 5);
+		if (w != NULL)
+			w->connsenable[0] = 0;
+		w = hdac_widget_get(devinfo, 6);
+		if (w != NULL)
+			w->connsenable[0] = 0;
+		w = hdac_widget_get(devinfo, 9);
+		if (w != NULL)
+			w->connsenable[0] = 0;
+		w = hdac_widget_get(devinfo, 24);
+		if (w != NULL)
+			w->connsenable[0] = 0;
+#endif
+		break;
 	}
 }
 

--------------040100010104030007090507--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4901D941.10603>