Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
ea35929b
cloud-kernel
项目概览
openanolis
/
cloud-kernel
接近 2 年 前同步成功
通知
169
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ea35929b
编写于
7月 06, 2009
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ALSA: hda - Force to initialize input mixer setup for CS420x
Signed-off-by:
N
Takashi Iwai
<
tiwai@suse.de
>
上级
21a4dc43
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
5 deletion
+7
-5
sound/pci/hda/patch_cirrus.c
sound/pci/hda/patch_cirrus.c
+7
-5
未找到文件。
sound/pci/hda/patch_cirrus.c
浏览文件 @
ea35929b
...
...
@@ -572,12 +572,13 @@ static struct snd_kcontrol_new cs_capture_ctls[] = {
HDA_BIND_VOL
(
"Capture Volume"
,
0
),
};
static
int
change_cur_input
(
struct
hda_codec
*
codec
,
unsigned
int
idx
)
static
int
change_cur_input
(
struct
hda_codec
*
codec
,
unsigned
int
idx
,
int
force
)
{
struct
cs_spec
*
spec
=
codec
->
spec
;
struct
auto_pin_cfg
*
cfg
=
&
spec
->
autocfg
;
if
(
spec
->
cur_input
==
idx
)
if
(
spec
->
cur_input
==
idx
&&
!
force
)
return
0
;
if
(
spec
->
cur_adc
&&
spec
->
cur_adc
!=
spec
->
adc_nid
[
idx
])
{
/* stream is running, let's swap the current ADC */
...
...
@@ -630,7 +631,7 @@ static int cs_capture_source_put(struct snd_kcontrol *kcontrol,
if
(
idx
>=
spec
->
num_inputs
)
return
-
EINVAL
;
idx
=
spec
->
input_idx
[
idx
];
return
change_cur_input
(
codec
,
idx
);
return
change_cur_input
(
codec
,
idx
,
0
);
}
static
struct
snd_kcontrol_new
cs_capture_source
=
{
...
...
@@ -773,11 +774,11 @@ static void cs_automic(struct hda_codec *codec)
present
=
snd_hda_codec_read
(
codec
,
nid
,
0
,
AC_VERB_GET_PIN_SENSE
,
0
);
if
(
present
&
AC_PINSENSE_PRESENCE
)
change_cur_input
(
codec
,
spec
->
automic_idx
);
change_cur_input
(
codec
,
spec
->
automic_idx
,
0
);
else
{
unsigned
int
imic
=
(
spec
->
automic_idx
==
AUTO_PIN_MIC
)
?
AUTO_PIN_FRONT_MIC
:
AUTO_PIN_MIC
;
change_cur_input
(
codec
,
imic
);
change_cur_input
(
codec
,
imic
,
0
);
}
}
...
...
@@ -857,6 +858,7 @@ static void init_input(struct hda_codec *codec)
AC_VERB_SET_UNSOLICITED_ENABLE
,
AC_USRSP_EN
|
MIC_EVENT
);
}
change_cur_input
(
codec
,
spec
->
cur_input
,
1
);
if
(
spec
->
mic_detect
)
cs_automic
(
codec
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录