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
e488fca7
Commit
e488fca7
authored
Jul 03, 2009
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix/hda' into topic/hda
parents
8ab9e0af
aa202455
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
20 deletions
+31
-20
sound/pci/hda/patch_analog.c
sound/pci/hda/patch_analog.c
+26
-1
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+5
-19
No files found.
sound/pci/hda/patch_analog.c
View file @
e488fca7
...
@@ -3746,9 +3746,30 @@ static struct snd_kcontrol_new ad1884a_laptop_mixers[] = {
...
@@ -3746,9 +3746,30 @@ static struct snd_kcontrol_new ad1884a_laptop_mixers[] = {
{
}
/* end */
{
}
/* end */
};
};
static
int
ad1884a_mobile_master_sw_put
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_value
*
ucontrol
)
{
struct
hda_codec
*
codec
=
snd_kcontrol_chip
(
kcontrol
);
int
ret
=
snd_hda_mixer_amp_switch_put
(
kcontrol
,
ucontrol
);
int
mute
=
(
!
ucontrol
->
value
.
integer
.
value
[
0
]
&&
!
ucontrol
->
value
.
integer
.
value
[
1
]);
/* toggle GPIO1 according to the mute state */
snd_hda_codec_write
(
codec
,
0x01
,
0
,
AC_VERB_SET_GPIO_DATA
,
mute
?
0x02
:
0x0
);
return
ret
;
}
static
struct
snd_kcontrol_new
ad1884a_mobile_mixers
[]
=
{
static
struct
snd_kcontrol_new
ad1884a_mobile_mixers
[]
=
{
HDA_CODEC_VOLUME
(
"Master Playback Volume"
,
0x21
,
0x0
,
HDA_OUTPUT
),
HDA_CODEC_VOLUME
(
"Master Playback Volume"
,
0x21
,
0x0
,
HDA_OUTPUT
),
HDA_CODEC_MUTE
(
"Master Playback Switch"
,
0x21
,
0x0
,
HDA_OUTPUT
),
/*HDA_CODEC_MUTE("Master Playback Switch", 0x21, 0x0, HDA_OUTPUT),*/
{
.
iface
=
SNDRV_CTL_ELEM_IFACE_MIXER
,
.
name
=
"Master Playback Switch"
,
.
info
=
snd_hda_mixer_amp_switch_info
,
.
get
=
snd_hda_mixer_amp_switch_get
,
.
put
=
ad1884a_mobile_master_sw_put
,
.
private_value
=
HDA_COMPOSE_AMP_VAL
(
0x21
,
3
,
0
,
HDA_OUTPUT
),
},
HDA_CODEC_VOLUME
(
"PCM Playback Volume"
,
0x20
,
0x5
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"PCM Playback Volume"
,
0x20
,
0x5
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"PCM Playback Switch"
,
0x20
,
0x5
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"PCM Playback Switch"
,
0x20
,
0x5
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"Mic Capture Volume"
,
0x14
,
0x0
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"Mic Capture Volume"
,
0x14
,
0x0
,
HDA_INPUT
),
...
@@ -3869,6 +3890,10 @@ static struct hda_verb ad1884a_mobile_verbs[] = {
...
@@ -3869,6 +3890,10 @@ static struct hda_verb ad1884a_mobile_verbs[] = {
/* unsolicited event for pin-sense */
/* unsolicited event for pin-sense */
{
0x11
,
AC_VERB_SET_UNSOLICITED_ENABLE
,
AC_USRSP_EN
|
AD1884A_HP_EVENT
},
{
0x11
,
AC_VERB_SET_UNSOLICITED_ENABLE
,
AC_USRSP_EN
|
AD1884A_HP_EVENT
},
{
0x14
,
AC_VERB_SET_UNSOLICITED_ENABLE
,
AC_USRSP_EN
|
AD1884A_MIC_EVENT
},
{
0x14
,
AC_VERB_SET_UNSOLICITED_ENABLE
,
AC_USRSP_EN
|
AD1884A_MIC_EVENT
},
/* allow to touch GPIO1 (for mute control) */
{
0x01
,
AC_VERB_SET_GPIO_MASK
,
0x02
},
{
0x01
,
AC_VERB_SET_GPIO_DIRECTION
,
0x02
},
{
0x01
,
AC_VERB_SET_GPIO_DATA
,
0x02
},
/* first muted */
{
}
/* end */
{
}
/* end */
};
};
...
...
sound/pci/hda/patch_realtek.c
View file @
e488fca7
...
@@ -12427,20 +12427,11 @@ static struct snd_kcontrol_new alc269_lifebook_mixer[] = {
...
@@ -12427,20 +12427,11 @@ static struct snd_kcontrol_new alc269_lifebook_mixer[] = {
{
}
{
}
};
};
/* bind volumes of both NID 0x0c and 0x0d */
static
struct
hda_bind_ctls
alc269_epc_bind_vol
=
{
.
ops
=
&
snd_hda_bind_vol
,
.
values
=
{
HDA_COMPOSE_AMP_VAL
(
0x02
,
3
,
0
,
HDA_OUTPUT
),
HDA_COMPOSE_AMP_VAL
(
0x03
,
3
,
0
,
HDA_OUTPUT
),
0
},
};
static
struct
snd_kcontrol_new
alc269_eeepc_mixer
[]
=
{
static
struct
snd_kcontrol_new
alc269_eeepc_mixer
[]
=
{
HDA_CODEC_MUTE
(
"iSpeaker Playback Switch"
,
0x14
,
0x0
,
HDA_OUTPUT
),
HDA_CODEC_MUTE
(
"Speaker Playback Switch"
,
0x14
,
0x0
,
HDA_OUTPUT
),
HDA_BIND_VOL
(
"LineOut Playback Volume"
,
&
alc269_epc_bind_vol
),
HDA_CODEC_MUTE
(
"Speaker Playback Volume"
,
0x02
,
0x0
,
HDA_OUTPUT
),
HDA_CODEC_MUTE
(
"LineOut Playback Switch"
,
0x15
,
0x0
,
HDA_OUTPUT
),
HDA_CODEC_MUTE
(
"Headphone Playback Switch"
,
0x15
,
0x0
,
HDA_OUTPUT
),
HDA_CODEC_MUTE
(
"Headphone Playback Volume"
,
0x03
,
0x0
,
HDA_OUTPUT
),
{
}
/* end */
{
}
/* end */
};
};
...
@@ -12453,12 +12444,7 @@ static struct snd_kcontrol_new alc269_epc_capture_mixer[] = {
...
@@ -12453,12 +12444,7 @@ static struct snd_kcontrol_new alc269_epc_capture_mixer[] = {
};
};
/* FSC amilo */
/* FSC amilo */
static
struct
snd_kcontrol_new
alc269_fujitsu_mixer
[]
=
{
#define alc269_fujitsu_mixer alc269_eeepc_mixer
HDA_CODEC_MUTE
(
"Speaker Playback Switch"
,
0x14
,
0x0
,
HDA_OUTPUT
),
HDA_CODEC_MUTE
(
"Headphone Playback Switch"
,
0x15
,
0x0
,
HDA_OUTPUT
),
HDA_BIND_VOL
(
"PCM Playback Volume"
,
&
alc269_epc_bind_vol
),
{
}
/* end */
};
static
struct
hda_verb
alc269_quanta_fl1_verbs
[]
=
{
static
struct
hda_verb
alc269_quanta_fl1_verbs
[]
=
{
{
0x15
,
AC_VERB_SET_CONNECT_SEL
,
0x01
},
{
0x15
,
AC_VERB_SET_CONNECT_SEL
,
0x01
},
...
...
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