Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gsplhtlxg
clone-Linux
提交
7dc85076
C
clone-Linux
项目概览
gsplhtlxg
/
clone-Linux
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
clone-Linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7dc85076
编写于
10月 13, 2008
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge branches 'topic/asoc' and 'topic/hda' into for-linus
上级
a7e54e6d
687cb98e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
36 addition
and
14 deletion
+36
-14
sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c
+36
-14
未找到文件。
sound/pci/hda/patch_sigmatel.c
浏览文件 @
7dc85076
...
...
@@ -322,8 +322,8 @@ static hda_nid_t stac92hd71bxx_mux_nids[2] = {
0x1a
,
0x1b
};
static
hda_nid_t
stac92hd71bxx_dmux_nids
[
1
]
=
{
0x1c
,
static
hda_nid_t
stac92hd71bxx_dmux_nids
[
2
]
=
{
0x1c
,
0x1d
,
};
static
hda_nid_t
stac92hd71bxx_smux_nids
[
2
]
=
{
...
...
@@ -861,20 +861,18 @@ static struct hda_verb stac92hd71bxx_core_init[] = {
{
0x28
,
AC_VERB_SET_VOLUME_KNOB_CONTROL
,
0xff
},
/* connect headphone jack to dac1 */
{
0x0a
,
AC_VERB_SET_CONNECT_SEL
,
0x01
},
{
0x0f
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_OUT
},
/* Speaker */
/* unmute right and left channels for nodes 0x0a, 0xd, 0x0f */
{
0x0a
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_UNMUTE
(
0
)},
{
0x0d
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_UNMUTE
(
0
)},
{
0x0f
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_UNMUTE
(
0
)},
};
#define HD_DISABLE_PORTF
3
#define HD_DISABLE_PORTF
2
static
struct
hda_verb
stac92hd71bxx_analog_core_init
[]
=
{
/* start of config #1 */
/* connect port 0f to audio mixer */
{
0x0f
,
AC_VERB_SET_CONNECT_SEL
,
0x2
},
{
0x0f
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_OUT
},
/* Speaker */
/* unmute right and left channels for node 0x0f */
{
0x0f
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_UNMUTE
(
0
)},
/* start of config #2 */
...
...
@@ -883,10 +881,6 @@ static struct hda_verb stac92hd71bxx_analog_core_init[] = {
{
0x28
,
AC_VERB_SET_VOLUME_KNOB_CONTROL
,
0xff
},
/* connect headphone jack to dac1 */
{
0x0a
,
AC_VERB_SET_CONNECT_SEL
,
0x01
},
/* connect port 0d to audio mixer */
{
0x0d
,
AC_VERB_SET_CONNECT_SEL
,
0x2
},
/* unmute dac0 input in audio mixer */
{
0x17
,
AC_VERB_SET_AMP_GAIN_MUTE
,
0x701f
},
/* unmute right and left channels for nodes 0x0a, 0xd */
{
0x0a
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_UNMUTE
(
0
)},
{
0x0d
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_UNMUTE
(
0
)},
...
...
@@ -1107,6 +1101,7 @@ static struct snd_kcontrol_new stac92hd83xxx_mixer[] = {
static
struct
snd_kcontrol_new
stac92hd71bxx_analog_mixer
[]
=
{
STAC_INPUT_SOURCE
(
2
),
STAC_ANALOG_LOOPBACK
(
0xFA0
,
0x7A0
,
2
),
HDA_CODEC_VOLUME_IDX
(
"Capture Volume"
,
0x0
,
0x1c
,
0x0
,
HDA_OUTPUT
),
HDA_CODEC_MUTE_IDX
(
"Capture Switch"
,
0x0
,
0x1c
,
0x0
,
HDA_OUTPUT
),
...
...
@@ -1119,8 +1114,17 @@ static struct snd_kcontrol_new stac92hd71bxx_analog_mixer[] = {
HDA_CODEC_MUTE("PC Beep Switch", 0x17, 0x2, HDA_INPUT),
*/
HDA_CODEC_MUTE
(
"Analog Loopback 1"
,
0x17
,
0x3
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"Analog Loopback 2"
,
0x17
,
0x4
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"Import0 Mux Capture Switch"
,
0x17
,
0x0
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"Import0 Mux Capture Volume"
,
0x17
,
0x0
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"Import1 Mux Capture Switch"
,
0x17
,
0x1
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"Import1 Mux Capture Volume"
,
0x17
,
0x1
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"DAC0 Capture Switch"
,
0x17
,
0x3
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"DAC0 Capture Volume"
,
0x17
,
0x3
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"DAC1 Capture Switch"
,
0x17
,
0x4
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"DAC1 Capture Volume"
,
0x17
,
0x4
,
HDA_INPUT
),
{
}
/* end */
};
...
...
@@ -1649,7 +1653,7 @@ static struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = {
static
unsigned
int
ref92hd71bxx_pin_configs
[
11
]
=
{
0x02214030
,
0x02a19040
,
0x01a19020
,
0x01014010
,
0x0181302e
,
0x01
1
14010
,
0x01019020
,
0x90a000f0
,
0x0181302e
,
0x01
0
14010
,
0x01019020
,
0x90a000f0
,
0x90a000f0
,
0x01452050
,
0x01452050
,
};
...
...
@@ -3000,7 +3004,7 @@ static int stac92xx_auto_create_mono_output_ctls(struct hda_codec *codec)
/* labels for amp mux outputs */
static
const
char
*
stac92xx_amp_labels
[
3
]
=
{
"Front Microphone"
,
"Microphone"
,
"Line In"
"Front Microphone"
,
"Microphone"
,
"Line In"
,
};
/* create amp out controls mux on capable codecs */
...
...
@@ -4327,6 +4331,16 @@ static struct hda_codec_ops stac92hd71bxx_patch_ops = {
#endif
};
static
struct
hda_input_mux
stac92hd71bxx_dmux
=
{
.
num_items
=
4
,
.
items
=
{
{
"Analog Inputs"
,
0x00
},
{
"Mixer"
,
0x01
},
{
"Digital Mic 1"
,
0x02
},
{
"Digital Mic 2"
,
0x03
},
}
};
static
int
patch_stac92hd71bxx
(
struct
hda_codec
*
codec
)
{
struct
sigmatel_spec
*
spec
;
...
...
@@ -4341,6 +4355,8 @@ static int patch_stac92hd71bxx(struct hda_codec *codec)
spec
->
num_pins
=
ARRAY_SIZE
(
stac92hd71bxx_pin_nids
);
spec
->
num_pwrs
=
ARRAY_SIZE
(
stac92hd71bxx_pwr_nids
);
spec
->
pin_nids
=
stac92hd71bxx_pin_nids
;
memcpy
(
&
spec
->
private_dimux
,
&
stac92hd71bxx_dmux
,
sizeof
(
stac92hd71bxx_dmux
));
spec
->
board_config
=
snd_hda_check_board_config
(
codec
,
STAC_92HD71BXX_MODELS
,
stac92hd71bxx_models
,
...
...
@@ -4392,6 +4408,7 @@ static int patch_stac92hd71bxx(struct hda_codec *codec)
/* no output amps */
spec
->
num_pwrs
=
0
;
spec
->
mixer
=
stac92hd71bxx_analog_mixer
;
spec
->
dinput_mux
=
&
spec
->
private_dimux
;
/* disable VSW */
spec
->
init
=
&
stac92hd71bxx_analog_core_init
[
HD_DISABLE_PORTF
];
...
...
@@ -4409,12 +4426,13 @@ static int patch_stac92hd71bxx(struct hda_codec *codec)
spec
->
num_pwrs
=
0
;
/* fallthru */
default:
spec
->
dinput_mux
=
&
spec
->
private_dimux
;
spec
->
mixer
=
stac92hd71bxx_analog_mixer
;
spec
->
init
=
stac92hd71bxx_analog_core_init
;
codec
->
slave_dig_outs
=
stac92hd71bxx_slave_dig_outs
;
}
spec
->
aloopback_mask
=
0x
2
0
;
spec
->
aloopback_mask
=
0x
5
0
;
spec
->
aloopback_shift
=
0
;
if
(
spec
->
board_config
>
STAC_92HD71BXX_REF
)
{
...
...
@@ -4456,6 +4474,10 @@ static int patch_stac92hd71bxx(struct hda_codec *codec)
spec
->
multiout
.
num_dacs
=
1
;
spec
->
multiout
.
hp_nid
=
0x11
;
spec
->
multiout
.
dac_nids
=
stac92hd71bxx_dac_nids
;
if
(
spec
->
dinput_mux
)
spec
->
private_dimux
.
num_items
+=
spec
->
num_dmics
-
(
ARRAY_SIZE
(
stac92hd71bxx_dmic_nids
)
-
1
);
err
=
stac92xx_parse_auto_config
(
codec
,
0x21
,
0x23
);
if
(
!
err
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录