linux_dsm_epyc7002/sound/pci
Justin P. Mattock b7cccc52fe ALSA: hda - iMac9,1 sound fixes
First issue:
With the original patch, I've noticed by unmuting the mic
(and even having it muted), there is a distorted("Noise")
coming from the internal speakers, even when the headphones are plugged in.
What my finding's revealed is:

	/* Mic (rear) pin: input vref at 80% */
	{0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
	{0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},

From the original patch. Looking at codec#0 0x18/0x1a is listed as:

Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000373c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x90100141: [Fixed] Speaker at Int N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0x4, Sequence = 0x1
    Misc = NO_PRESENCE
  Pin-ctls: 0x41: OUT VREF_50
  Unsolicited: tag=00, enabled=0
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26

seems this Node is listed as: [Fixed] Speaker while 0x15

Node 0x15 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000373c: IN OUT HP Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x018b3020: [Jack] Line In at Ext Rear
    Conn = Comb, Color = Blue
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x01: VREF_50
  Unsolicited: tag=00, enabled=0
  Connection: 5
     0x0c 0x0d* 0x0e 0x0f 0x26

is [Jack] Line In at Ext Rear.
(looking at the other apple products as examples
I came up with the fix below).

Second issue:
alc885_mbp_4ch_modes
The original patch does a good job with the
HP pin automute function, but from what I noticed is I would have to manually
change the channel form 2 to 4 after plugging the headphones in.
And not to mention having odd moments to where I was jamming out
with the headphones on, then later realized I had sound blasting out
of the speakers as well. My findings revealed that changing
alc885_mbp_4ch_modes to alc885_mba21_ch_modes and setting
-	spec->autocfg.speaker_pins[0] = 0x15;
+	spec->autocfg.speaker_pins[0] = 0x18;
gets the automute function when the headphones plugged in working
flawlessly(and the no need to manually change the channel number
afterwards).

Third issue:
alc885_imac91_mixer
There probably doesnt need to be anything changed with this
(esspecially if your one to like lots of sliders),but my findings
revealed that mac osx only has a master on the top right,
another switch on itunes, and then a slider for the mic.

So the changes I did below try and mimic osx as much as possible
(only thing I had an issue with is just having one mute switch
on the master, instead of having two(still investigating)).

fourth issue:
alc882_capture_source
I endeded up creating alc889A_imac91_capture_source()
only  because looking at alc882_capture_source I see
that the mic is set to 0x1 while this works, I also noticed
that adding 0x1 and 0x01 and testing that 0x1 somehow
stops working, and 0x01 works(so I figured 0x01 was more
of the alpha of the numbers(still need to figure out
where that valuse is)). In any case the microphone
does work with the original, and with the below patch, but both
still record not as clean(lots of "Noise", which I would like to
look into too).
Note: using alsamixer -Va reveals the capture switches.

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-25 08:44:59 +02:00
..
ac97 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ali5451 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
asihpi ALSA: sound/pci/asihpi: Use kzalloc 2010-05-17 08:12:44 +02:00
au88x0 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
aw2 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ca0106 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cs46xx ALSA: info - Check file position validity in common layer 2010-04-13 12:01:14 +02:00
cs5535audio include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ctxfi include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
echoaudio Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-04-07 08:42:25 -07:00
emu10k1 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-05-20 09:41:44 -07:00
hda ALSA: hda - iMac9,1 sound fixes 2010-05-25 08:44:59 +02:00
ice1712 Merge branch 'topic/core-cleanup' into for-linus 2010-05-20 11:58:57 +02:00
korg1212 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
lx6464es include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mixart ALSA: info - Implement common llseek for binary mode 2010-04-13 12:01:20 +02:00
nm256 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
oxygen ALSA: virtuoso: fix Xonar D1/DX front panel microphone 2010-05-12 10:28:36 +02:00
pcxhr sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
riptide ALSA: riptide: clean up while loop 2010-03-03 22:41:42 +01:00
rme9652 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
trident sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
vx222 sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
ymfpci sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
ad1889.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
ad1889.h [ALSA] ad1889: add AD1889 driver 2005-09-12 10:40:17 +02:00
ak4531_codec.c ALSA: Fix missing KERN_* prefix to printk in sound/pci 2009-02-05 16:11:31 +01:00
als300.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
als4000.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
atiixp_modem.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
atiixp.c Merge branch 'fix/misc' into topic/misc 2010-02-17 14:24:46 +01:00
azt3328.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
azt3328.h ALSA: azt3328: fix previous breakage, improve suspend, cleanups 2009-07-15 12:03:26 +02:00
bt87x.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
cmipci.c ALSA: cmipci: work around invalid PCM pointer 2010-03-24 08:02:11 +01:00
cs4281.c ALSA: info - Check file position validity in common layer 2010-04-13 12:01:14 +02:00
cs5530.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ens1370.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
ens1371.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
es1938.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
es1968.c ALSA: es1968: Clear interrupts before enabling them 2010-05-08 11:51:06 +02:00
fm801.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
intel8x0.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
intel8x0m.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
Kconfig ALSA: snd-es1968: Make hardware volume buttons an input device (rev2) 2010-04-23 17:09:59 +02:00
maestro3.c ALSA: maestro3: Clear interrupts before enabling them 2010-05-08 11:51:13 +02:00
Makefile ALSA: Add support of AudioScience ASI boards 2010-04-22 07:21:53 +02:00
rme32.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rme96.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sis7019.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sis7019.h trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments. 2009-06-12 18:01:46 +02:00
sonicvibes.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
via82xx_modem.c sound: use DEFINE_PCI_DEVICE_TABLE 2010-02-09 11:08:33 +01:00
via82xx.c Merge branch 'topic/misc' into for-linus 2010-03-01 12:38:49 +01:00