Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Rimas Kudelis <rq@akl.lt>
To: Takashi Iwai <tiwai@suse.de>
Cc: ALSA devel <alsa-devel@lists.sourceforge.net>
Subject: Re: Any missing patches?
Date: Tue, 21 Mar 2006 23:02:24 +0200	[thread overview]
Message-ID: <442069E0.4050409@akl.lt> (raw)
In-Reply-To: <s5hpskg83uo.wl%tiwai@suse.de>


[-- Attachment #1.1: Type: text/plain, Size: 305 bytes --]

Hi,

this patch cleans up the mixer interface by removing
unpractical/non-working features. Applies for ALC260 "acer" model in
hda-intel module. It also adds/changes a few comments in the source.

The patch is tested and works with an Acer Travelmate 4061NLMi.

Rimas Kudelis <rq@akl.lt>





[-- Attachment #1.2: patch_realtek.c.diff --]
[-- Type: text/plain, Size: 4971 bytes --]

--- alsa-kernel/pci/hda/patch_realtek.c.orig	2006-03-12 18:19:50.000000000 +0200
+++ alsa-kernel/pci/hda/patch_realtek.c	2006-03-21 21:11:29.000000000 +0200
@@ -2738,16 +2738,14 @@
 	},
 };
 
-/* Acer TravelMate(/Extensa/Aspire) notebooks have similar configutation to
- * the Fujitsu S702x, but jacks are marked differently. We won't allow
- * retasking the Headphone jack, so it won't be available here.
+/* Capture sources suitable for Acer TravelMate 4060, Aspire 1640 and similar
+ * laptops.
  */
 static struct hda_input_mux alc260_acer_capture_source = {
-	.num_items = 3,
+	.num_items = 2,
 	.items = {
 		{ "Mic", 0x0 },
 		{ "Line", 0x2 },
-		{ "CD", 0x4 },
 	},
 };
 
@@ -2830,16 +2828,18 @@
 static struct snd_kcontrol_new alc260_acer_mixer[] = {
 	HDA_CODEC_VOLUME("Master Playback Volume", 0x08, 0x0, HDA_OUTPUT),
 	HDA_BIND_MUTE("Master Playback Switch", 0x08, 2, HDA_INPUT),
-	HDA_CODEC_VOLUME("CD Playback Volume", 0x07, 0x04, HDA_INPUT),
-	HDA_CODEC_MUTE("CD Playback Switch", 0x07, 0x04, HDA_INPUT),
 	HDA_CODEC_VOLUME("Mic Playback Volume", 0x07, 0x0, HDA_INPUT),
 	HDA_CODEC_MUTE("Mic Playback Switch", 0x07, 0x0, HDA_INPUT),
-	ALC_PIN_MODE("Mic Jack Mode", 0x12, ALC_PIN_DIR_IN),
+	/* Mic jack works as output too, actually, but it only outputs both stereo
+	 * channels mixed to left channel then. Furthermore, the same pin is
+	 * connected to the internal microphone. So, let's forget it.
+	 */
 	HDA_CODEC_VOLUME("Line Playback Volume", 0x07, 0x02, HDA_INPUT),
 	HDA_CODEC_MUTE("Line Playback Switch", 0x07, 0x02, HDA_INPUT),
+	/* Line jack doesn't actually preamplify the mic even if set to one of the
+	 * Mic modes. However, it doesn't seem like these can be disabled ATM.
+	 */
 	ALC_PIN_MODE("Line Jack Mode", 0x14, ALC_PIN_DIR_INOUT),
-	HDA_CODEC_VOLUME("Beep Playback Volume", 0x07, 0x05, HDA_INPUT),
-	HDA_CODEC_MUTE("Beep Playback Switch", 0x07, 0x05, HDA_INPUT),
 	{ } /* end */
 };
 
@@ -3128,18 +3128,18 @@
  * similar laptops (adapted from Fujitsu init verbs).
  */
 static struct hda_verb alc260_acer_init_verbs[] = {
-	/* On TravelMate laptops, GPIO 0 enables the internal speaker and
-	 * the headphone jack.  Turn this on and rely on the standard mute
-	 * methods whenever the user wants to turn these outputs off.
+	/* On TravelMate 4060, Aspire 1640 and similar laptops, GPIO 0 enables the
+	 * internal speaker and the headphone jack. Turn this on and rely on the
+	 * standard mute methods whenever the user wants to turn these outputs off.
 	 */
 	{0x01, AC_VERB_SET_GPIO_MASK, 0x01},
 	{0x01, AC_VERB_SET_GPIO_DIRECTION, 0x01},
 	{0x01, AC_VERB_SET_GPIO_DATA, 0x01},
-	/* Internal speaker/Headphone jack is connected to Line-out pin */
+	/* Internal speaker and Headphone jack are connected to line-out pin */
 	{0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
-	/* Internal microphone/Mic jack is connected to Mic1 pin */
+	/* Internal microphone and Mic jack are connected to mic1 pin */
 	{0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF50},
-	/* Line In jack is connected to Line1 pin */
+	/* Line In jack is connected to line1 pin */
 	{0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},
 	/* Ensure all other unused pins are disabled and muted. */
 	{0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, 0},
@@ -3154,7 +3154,7 @@
 	{0x03, AC_VERB_SET_DIGI_CONVERT_1, 0},
 	{0x06, AC_VERB_SET_DIGI_CONVERT_1, 0},
 
-	/* Ensure Mic1 and Line1 pin widgets take input from the OUT1 sum 
+	/* Ensure mic1 and line1 pin widgets take input from the OUT1 sum 
 	 * bus when acting as outputs.
 	 */
 	{0x0b, AC_VERB_SET_CONNECT_SEL, 0},
@@ -3173,10 +3173,10 @@
 
 	/* Unmute Line-out pin widget amp left and right (no equiv mixer ctrl) */
 	{0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
-	/* Unmute Mic1 and Line1 pin widget input buffers since they start as
+	/* Unmute mic1 and line1 pin widget input buffers since they start as
 	 * inputs. If the pin mode is changed by the user the pin mode control
 	 * will take care of enabling the pin's input/output buffers as needed.
-	 * Therefore there's no need to enable the input buffer at this
+	 * Therefore there's no need to enable the output buffer at this
 	 * stage.
 	 */
 	{0x12, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
@@ -3184,13 +3184,14 @@
 
 	/* Mute capture amp left and right */
 	{0x04, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
-	/* Set ADC connection select to match default mixer setting - mic
+	/* Set ADC connection select to match default mixer setting - Mic
 	 * (on mic1 pin)
 	 */
 	{0x04, AC_VERB_SET_CONNECT_SEL, 0x00},
 
 	/* Do similar with the second ADC: mute capture input amp and
-	 * set ADC connection to line (on line1 pin)
+	 * set ADC connection to Line (on line1 pin)
+	 * FIXME: the connection is still set to Mic for some reason
 	 */
 	{0x05, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
 	{0x05, AC_VERB_SET_CONNECT_SEL, 0x02},

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 254 bytes --]

  parent reply	other threads:[~2006-03-21 21:02 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-20 18:45 Any missing patches? Takashi Iwai
2006-03-20 20:18 ` Juergen Kreileder
2006-03-20 20:27   ` Takashi Iwai
2006-03-20 21:15     ` Juergen Kreileder
2006-03-21 10:52       ` Takashi Iwai
2006-03-20 20:26 ` Juergen Kreileder
2006-03-20 20:35   ` Takashi Iwai
2006-03-21 11:07   ` Takashi Iwai
2006-03-21  9:15 ` RE : " Thibault LE MEUR
2006-03-21 11:06   ` Takashi Iwai
2006-03-21 10:18 ` Rimas Kudelis
2006-03-21 10:54   ` Takashi Iwai
2006-03-21 11:30     ` Rimas Kudelis
2006-03-21 11:39       ` Takashi Iwai
2006-03-21 21:02     ` Rimas Kudelis [this message]
2006-03-21 22:06       ` Lee Revell
2006-03-22 11:02         ` Takashi Iwai
2006-03-22  1:37 ` Lee Revell
2006-03-22  4:15   ` Lee Revell
2006-03-22 18:32 ` Lee Revell
2006-03-22 20:16   ` Takashi Iwai
2006-04-05  3:58 ` [PATCH] asihpi unbalanced spinlocks Eliot Blennerhassett
2006-04-06 19:31   ` Takashi Iwai
     [not found] <20060321223803.318AD16C42@sc8-sf-spam2.sourceforge.net>
2006-03-22  2:37 ` Any missing patches? Jonathan Woithe
2006-03-22 10:56   ` Takashi Iwai
2006-03-22 23:08     ` Jonathan Woithe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=442069E0.4050409@akl.lt \
    --to=rq@akl.lt \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox