Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
d2192121
Commit
d2192121
authored
May 26, 2010
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix/hda' into for-linus
parents
4daf7a0c
9ef04066
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
47 deletions
+48
-47
sound/pci/hda/hda_intel.c
sound/pci/hda/hda_intel.c
+7
-2
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+40
-44
sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c
+1
-1
No files found.
sound/pci/hda/hda_intel.c
View file @
d2192121
...
...
@@ -1097,6 +1097,7 @@ static irqreturn_t azx_interrupt(int irq, void *dev_id)
struct
azx
*
chip
=
dev_id
;
struct
azx_dev
*
azx_dev
;
u32
status
;
u8
sd_status
;
int
i
,
ok
;
spin_lock
(
&
chip
->
reg_lock
);
...
...
@@ -1110,8 +1111,10 @@ static irqreturn_t azx_interrupt(int irq, void *dev_id)
for
(
i
=
0
;
i
<
chip
->
num_streams
;
i
++
)
{
azx_dev
=
&
chip
->
azx_dev
[
i
];
if
(
status
&
azx_dev
->
sd_int_sta_mask
)
{
sd_status
=
azx_sd_readb
(
azx_dev
,
SD_STS
);
azx_sd_writeb
(
azx_dev
,
SD_STS
,
SD_INT_MASK
);
if
(
!
azx_dev
->
substream
||
!
azx_dev
->
running
)
if
(
!
azx_dev
->
substream
||
!
azx_dev
->
running
||
!
(
sd_status
&
SD_INT_COMPLETE
))
continue
;
/* check whether this IRQ is really acceptable */
ok
=
azx_position_ok
(
chip
,
azx_dev
);
...
...
@@ -2279,12 +2282,14 @@ static int azx_dev_free(struct snd_device *device)
* white/black-listing for position_fix
*/
static
struct
snd_pci_quirk
position_fix_list
[]
__devinitdata
=
{
SND_PCI_QUIRK
(
0x1025
,
0x009f
,
"Acer Aspire 5110"
,
POS_FIX_LPIB
),
SND_PCI_QUIRK
(
0x1028
,
0x01cc
,
"Dell D820"
,
POS_FIX_LPIB
),
SND_PCI_QUIRK
(
0x1028
,
0x01de
,
"Dell Precision 390"
,
POS_FIX_LPIB
),
SND_PCI_QUIRK
(
0x1028
,
0x01f6
,
"Dell Latitude 131L"
,
POS_FIX_LPIB
),
SND_PCI_QUIRK
(
0x103c
,
0x306d
,
"HP dv3"
,
POS_FIX_LPIB
),
SND_PCI_QUIRK
(
0x1106
,
0x3288
,
"ASUS M2V-MX SE"
,
POS_FIX_LPIB
),
SND_PCI_QUIRK
(
0x1043
,
0x813d
,
"ASUS P5AD2"
,
POS_FIX_LPIB
),
SND_PCI_QUIRK
(
0x1106
,
0x3288
,
"ASUS M2V-MX SE"
,
POS_FIX_LPIB
),
SND_PCI_QUIRK
(
0x1179
,
0xff10
,
"Toshiba A100-259"
,
POS_FIX_LPIB
),
SND_PCI_QUIRK
(
0x1458
,
0xa022
,
"ga-ma770-ud3"
,
POS_FIX_LPIB
),
SND_PCI_QUIRK
(
0x1462
,
0x1002
,
"MSI Wind U115"
,
POS_FIX_LPIB
),
SND_PCI_QUIRK
(
0x1565
,
0x820f
,
"Biostar Microtech"
,
POS_FIX_LPIB
),
...
...
sound/pci/hda/patch_realtek.c
View file @
d2192121
...
...
@@ -7025,6 +7025,14 @@ static struct hda_input_mux alc889A_mb31_capture_source = {
},
};
static
struct
hda_input_mux
alc889A_imac91_capture_source
=
{
.
num_items
=
2
,
.
items
=
{
{
"Mic"
,
0x01
},
{
"Line"
,
0x2
},
/* Not sure! */
},
};
/*
* 2ch mode
*/
...
...
@@ -7486,15 +7494,8 @@ static struct snd_kcontrol_new alc885_macmini3_mixer[] = {
};
static
struct
snd_kcontrol_new
alc885_imac91_mixer
[]
=
{
HDA_CODEC_VOLUME
(
"Line-Out Playback Volume"
,
0x0c
,
0x00
,
HDA_OUTPUT
),
HDA_BIND_MUTE
(
"Line-Out Playback Switch"
,
0x0c
,
0x02
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"Speaker Playback Switch"
,
0x14
,
0x00
,
HDA_OUTPUT
),
HDA_CODEC_VOLUME
(
"Speaker Playback Volume"
,
0x0d
,
0x00
,
HDA_OUTPUT
),
HDA_CODEC_VOLUME
(
"Line Playback Volume"
,
0x0b
,
0x02
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"Line Playback Switch"
,
0x0b
,
0x02
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"Mic Playback Volume"
,
0x0b
,
0x00
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"Mic Playback Switch"
,
0x0b
,
0x00
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"Mic Boost"
,
0x18
,
0x00
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"Speaker Playback Volume"
,
0x0c
,
0x00
,
HDA_OUTPUT
),
HDA_BIND_MUTE
(
"Speaker Playback Switch"
,
0x0c
,
0x02
,
HDA_INPUT
),
{
}
/* end */
};
...
...
@@ -7995,61 +7996,56 @@ static struct hda_verb alc885_mbp3_init_verbs[] = {
/* iMac 9,1 */
static
struct
hda_verb
alc885_imac91_init_verbs
[]
=
{
/* Line-Out mixer: unmute input/output amp left and right (volume = 0) */
{
0x0c
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_OUT_ZERO
},
{
0x0c
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
0
)},
{
0x0c
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
1
)},
/* Rear mixer */
{
0x0d
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_OUT_ZERO
},
{
0x0d
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
0
)},
{
0x0d
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
1
)},
/* HP Pin: output 0 (0x0c) */
/* Internal Speaker Pin (0x0c) */
{
0x18
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
(
PIN_OUT
|
AC_PINCTL_VREF_50
)
},
{
0x18
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_OUT_UNMUTE
},
{
0x18
,
AC_VERB_SET_CONNECT_SEL
,
0x00
},
{
0x1a
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
(
PIN_OUT
|
AC_PINCTL_VREF_50
)
},
{
0x1a
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_OUT_UNMUTE
},
{
0x1a
,
AC_VERB_SET_CONNECT_SEL
,
0x00
},
/* HP Pin: Rear */
{
0x14
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_HP
},
{
0x14
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_OUT_UNMUTE
},
{
0x14
,
AC_VERB_SET_CONNECT_SEL
,
0x00
},
{
0x14
,
AC_VERB_SET_UNSOLICITED_ENABLE
,
ALC880_HP_EVENT
|
AC_USRSP_EN
},
/*
Internal Speakers: output 0 (0x0d)
*/
{
0x15
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_OUT
},
{
0x14
,
AC_VERB_SET_UNSOLICITED_ENABLE
,
(
ALC880_HP_EVENT
|
AC_USRSP_EN
)
},
/*
Line in Rear
*/
{
0x15
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
AC_PINCTL_VREF_50
},
{
0x15
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_OUT_MUTE
},
{
0x15
,
AC_VERB_SET_CONNECT_SEL
,
0x00
},
/* 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
},
/* Front Mic pin: input vref at 80% */
{
0x19
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_VREF80
},
{
0x19
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_OUT_MUTE
},
/* Line In pin: use output 1 when in LineOut mode */
{
0x1a
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_IN
},
{
0x1a
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_OUT_MUTE
},
{
0x1a
,
AC_VERB_SET_CONNECT_SEL
,
0x01
},
/* FIXME: use matrix-type input source selection */
/* Mixer elements: 0x18, 19, 1a, 1b, 1c, 1d, 14, 15, 16, 17, 0b */
/* Input mixer1: unmute Mic, F-Mic, Line, CD inputs */
/* Rear mixer */
{
0x0d
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_OUT_ZERO
},
{
0x0d
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
0
)},
{
0x0d
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
1
)},
/* Line-Out mixer: unmute input/output amp left and right (volume = 0) */
{
0x0c
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_OUT_ZERO
},
{
0x0c
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
0
)},
{
0x0c
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
1
)},
/* 0x24 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In */
{
0x24
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_UNMUTE
(
0
)},
{
0x24
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
3
)},
{
0x24
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
2
)},
{
0x24
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
4
)},
/*
Input mixer2
*/
/*
0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
*/
{
0x23
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_UNMUTE
(
0
)},
{
0x23
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
3
)},
{
0x23
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
2
)},
{
0x23
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
4
)},
/*
Input mixer3
*/
/*
0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
*/
{
0x22
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_UNMUTE
(
0
)},
{
0x22
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
3
)},
{
0x22
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
2
)},
{
0x22
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
4
)},
/*
ADC1: mute amp left and right
*/
/*
0x07 [Audio Input] wcaps 0x10011b: Stereo Amp-In
*/
{
0x07
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
0
)},
{
0x07
,
AC_VERB_SET_CONNECT_SEL
,
0x00
},
/*
ADC2: mute amp left and right
*/
/*
0x08 [Audio Input] wcaps 0x10011b: Stereo Amp-In
*/
{
0x08
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
0
)},
{
0x08
,
AC_VERB_SET_CONNECT_SEL
,
0x00
},
/*
ADC3: mute amp left and right
*/
/*
0x09 [Audio Input] wcaps 0x10011b: Stereo Amp-In
*/
{
0x09
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
0
)},
{
0x09
,
AC_VERB_SET_CONNECT_SEL
,
0x00
},
{
}
};
...
...
@@ -8118,7 +8114,7 @@ static void alc885_imac91_setup(struct hda_codec *codec)
struct
alc_spec
*
spec
=
codec
->
spec
;
spec
->
autocfg
.
hp_pins
[
0
]
=
0x14
;
spec
->
autocfg
.
speaker_pins
[
0
]
=
0x1
5
;
spec
->
autocfg
.
speaker_pins
[
0
]
=
0x1
8
;
spec
->
autocfg
.
speaker_pins
[
1
]
=
0x1a
;
}
...
...
@@ -9627,14 +9623,14 @@ static struct alc_config_preset alc882_presets[] = {
.
init_hook
=
alc885_imac24_init_hook
,
},
[
ALC885_IMAC91
]
=
{
.
mixers
=
{
alc885_imac91_mixer
,
alc882_chmode_mixer
},
.
mixers
=
{
alc885_imac91_mixer
},
.
init_verbs
=
{
alc885_imac91_init_verbs
,
alc880_gpio1_init_verbs
},
.
num_dacs
=
ARRAY_SIZE
(
alc882_dac_nids
),
.
dac_nids
=
alc882_dac_nids
,
.
channel_mode
=
alc885_mb
p_4
ch_modes
,
.
num_channel_mode
=
ARRAY_SIZE
(
alc885_mb
p_4
ch_modes
),
.
input_mux
=
&
alc88
2
_capture_source
,
.
channel_mode
=
alc885_mb
a21_
ch_modes
,
.
num_channel_mode
=
ARRAY_SIZE
(
alc885_mb
a21_
ch_modes
),
.
input_mux
=
&
alc88
9A_imac91
_capture_source
,
.
dig_out_nid
=
ALC882_DIGOUT_NID
,
.
dig_in_nid
=
ALC882_DIGIN_NID
,
.
unsol_event
=
alc_automute_amp_unsol_event
,
...
...
sound/pci/hda/patch_sigmatel.c
View file @
d2192121
...
...
@@ -2078,12 +2078,12 @@ static struct snd_pci_quirk stac927x_cfg_tbl[] = {
SND_PCI_QUIRK_MASK
(
PCI_VENDOR_ID_INTEL
,
0xff00
,
0x2000
,
"Intel D965"
,
STAC_D965_3ST
),
/* Dell 3 stack systems */
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x01f7
,
"Dell XPS M1730"
,
STAC_DELL_3ST
),
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x01dd
,
"Dell Dimension E520"
,
STAC_DELL_3ST
),
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x01ed
,
"Dell "
,
STAC_DELL_3ST
),
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x01f4
,
"Dell "
,
STAC_DELL_3ST
),
/* Dell 3 stack systems with verb table in BIOS */
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x01f3
,
"Dell Inspiron 1420"
,
STAC_DELL_BIOS
),
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x01f7
,
"Dell XPS M1730"
,
STAC_DELL_BIOS
),
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x0227
,
"Dell Vostro 1400 "
,
STAC_DELL_BIOS
),
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x022e
,
"Dell "
,
STAC_DELL_BIOS
),
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x022f
,
"Dell Inspiron 1525"
,
STAC_DELL_BIOS
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment