Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
546861f1
Commit
546861f1
authored
Jun 30, 2009
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix/hda' into topic/hda
parents
a983b9e5
1d955ebd
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
8 deletions
+38
-8
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+38
-8
No files found.
sound/pci/hda/patch_realtek.c
View file @
546861f1
...
...
@@ -945,12 +945,13 @@ static void alc_fix_pll_init(struct hda_codec *codec, hda_nid_t nid,
static
void
alc_automute_pin
(
struct
hda_codec
*
codec
)
{
struct
alc_spec
*
spec
=
codec
->
spec
;
unsigned
int
present
;
unsigned
int
present
,
pincap
;
unsigned
int
nid
=
spec
->
autocfg
.
hp_pins
[
0
];
int
i
;
/* need to execute and sync at first */
snd_hda_codec_read
(
codec
,
nid
,
0
,
AC_VERB_SET_PIN_SENSE
,
0
);
pincap
=
snd_hda_query_pin_caps
(
codec
,
nid
);
if
(
pincap
&
AC_PINCAP_TRIG_REQ
)
/* need trigger? */
snd_hda_codec_read
(
codec
,
nid
,
0
,
AC_VERB_SET_PIN_SENSE
,
0
);
present
=
snd_hda_codec_read
(
codec
,
nid
,
0
,
AC_VERB_GET_PIN_SENSE
,
0
);
spec
->
jack_present
=
(
present
&
AC_PINSENSE_PRESENCE
)
!=
0
;
...
...
@@ -1392,7 +1393,7 @@ static struct hda_verb alc888_fujitsu_xa3530_verbs[] = {
static
void
alc_automute_amp
(
struct
hda_codec
*
codec
)
{
struct
alc_spec
*
spec
=
codec
->
spec
;
unsigned
int
val
,
mute
;
unsigned
int
val
,
mute
,
pincap
;
hda_nid_t
nid
;
int
i
;
...
...
@@ -1401,6 +1402,10 @@ static void alc_automute_amp(struct hda_codec *codec)
nid
=
spec
->
autocfg
.
hp_pins
[
i
];
if
(
!
nid
)
break
;
pincap
=
snd_hda_query_pin_caps
(
codec
,
nid
);
if
(
pincap
&
AC_PINCAP_TRIG_REQ
)
/* need trigger? */
snd_hda_codec_read
(
codec
,
nid
,
0
,
AC_VERB_SET_PIN_SENSE
,
0
);
val
=
snd_hda_codec_read
(
codec
,
nid
,
0
,
AC_VERB_GET_PIN_SENSE
,
0
);
if
(
val
&
AC_PINSENSE_PRESENCE
)
{
...
...
@@ -1471,6 +1476,10 @@ static struct hda_verb alc888_acer_aspire_4930g_verbs[] = {
static
struct
hda_verb
alc888_acer_aspire_6530g_verbs
[]
=
{
/* Bias voltage on for external mic port */
{
0x18
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_IN
|
PIN_VREF80
},
/* Front Mic: set to PIN_IN (empty by default) */
{
0x12
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_IN
},
/* Unselect Front Mic by default in input mixer 3 */
{
0x22
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_MUTE
(
0xb
)},
/* Enable unsolicited event for HP jack */
{
0x15
,
AC_VERB_SET_UNSOLICITED_ENABLE
,
ALC880_HP_EVENT
|
AC_USRSP_EN
},
/* Enable speaker output */
...
...
@@ -1560,18 +1569,22 @@ static struct hda_input_mux alc888_2_capture_sources[2] = {
static
struct
hda_input_mux
alc888_acer_aspire_6530_sources
[
2
]
=
{
/* Interal mic only available on one ADC */
{
.
num_items
=
3
,
.
num_items
=
5
,
.
items
=
{
{
"Ext Mic"
,
0x0
},
{
"Line In"
,
0x2
},
{
"CD"
,
0x4
},
{
"Input Mix"
,
0xa
},
{
"Int Mic"
,
0xb
},
},
},
{
.
num_items
=
2
,
.
num_items
=
4
,
.
items
=
{
{
"Ext Mic"
,
0x0
},
{
"Line In"
,
0x2
},
{
"CD"
,
0x4
},
{
"Input Mix"
,
0xa
},
},
}
};
...
...
@@ -1639,6 +1652,17 @@ static void alc888_acer_aspire_4930g_init_hook(struct hda_codec *codec)
alc_automute_amp
(
codec
);
}
static
void
alc888_acer_aspire_6530g_init_hook
(
struct
hda_codec
*
codec
)
{
struct
alc_spec
*
spec
=
codec
->
spec
;
spec
->
autocfg
.
hp_pins
[
0
]
=
0x15
;
spec
->
autocfg
.
speaker_pins
[
0
]
=
0x14
;
spec
->
autocfg
.
speaker_pins
[
1
]
=
0x16
;
spec
->
autocfg
.
speaker_pins
[
2
]
=
0x17
;
alc_automute_amp
(
codec
);
}
static
void
alc889_acer_aspire_8930g_init_hook
(
struct
hda_codec
*
codec
)
{
struct
alc_spec
*
spec
=
codec
->
spec
;
...
...
@@ -8189,6 +8213,8 @@ static struct snd_kcontrol_new alc888_acer_aspire_6530_mixer[] = {
HDA_BIND_MUTE
(
"Front Playback Switch"
,
0x0c
,
2
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"LFE Playback Volume"
,
0x0f
,
0x0
,
HDA_OUTPUT
),
HDA_BIND_MUTE
(
"LFE Playback Switch"
,
0x0f
,
2
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"Line Playback Volume"
,
0x0b
,
0x02
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"Line Playback Switch"
,
0x0b
,
0x02
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"CD Playback Volume"
,
0x0b
,
0x04
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"CD Playback Switch"
,
0x0b
,
0x04
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"Mic Playback Volume"
,
0x0b
,
0x0
,
HDA_INPUT
),
...
...
@@ -9064,7 +9090,7 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = {
SND_PCI_QUIRK
(
0x1025
,
0x0157
,
"Acer X3200"
,
ALC883_AUTO
),
SND_PCI_QUIRK
(
0x1025
,
0x0158
,
"Acer AX1700-U3700A"
,
ALC883_AUTO
),
SND_PCI_QUIRK
(
0x1025
,
0x015e
,
"Acer Aspire 6930G"
,
ALC888_ACER_ASPIRE_
49
30G
),
ALC888_ACER_ASPIRE_
65
30G
),
SND_PCI_QUIRK
(
0x1025
,
0x0166
,
"Acer Aspire 6530G"
,
ALC888_ACER_ASPIRE_6530G
),
/* default Acer -- disabled as it causes more problems.
...
...
@@ -9317,7 +9343,7 @@ static struct alc_config_preset alc883_presets[] = {
ARRAY_SIZE
(
alc888_2_capture_sources
),
.
input_mux
=
alc888_acer_aspire_6530_sources
,
.
unsol_event
=
alc_automute_amp_unsol_event
,
.
init_hook
=
alc888_acer_aspire_
49
30g_init_hook
,
.
init_hook
=
alc888_acer_aspire_
65
30g_init_hook
,
},
[
ALC888_ACER_ASPIRE_8930G
]
=
{
.
mixers
=
{
alc888_base_mixer
,
...
...
@@ -12437,6 +12463,8 @@ static int alc268_parse_auto_config(struct hda_codec *codec)
if
(
err
<
0
)
return
err
;
alc_ssid_check
(
codec
,
0x15
,
0x1b
,
0x14
);
return
1
;
}
...
...
@@ -13345,6 +13373,8 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
if
(
!
spec
->
cap_mixer
&&
!
spec
->
no_analog
)
set_capture_mixer
(
spec
);
alc_ssid_check
(
codec
,
0x15
,
0x1b
,
0x14
);
return
1
;
}
...
...
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