Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
77623f62
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
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看板
提交
77623f62
编写于
12月 20, 2009
作者:
J
Jaroslav Kysela
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fix/hda' of
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
into fixes
上级
f7489027
2fef62c8
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
338 addition
and
31 deletion
+338
-31
sound/pci/hda/hda_intel.c
sound/pci/hda/hda_intel.c
+3
-0
sound/pci/hda/patch_analog.c
sound/pci/hda/patch_analog.c
+8
-0
sound/pci/hda/patch_conexant.c
sound/pci/hda/patch_conexant.c
+37
-6
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+290
-25
未找到文件。
sound/pci/hda/hda_intel.c
浏览文件 @
77623f62
...
...
@@ -2713,6 +2713,9 @@ static struct pci_device_id azx_ids[] = {
{
PCI_DEVICE
(
0x10de
,
0x0ac1
),
.
driver_data
=
AZX_DRIVER_NVIDIA
},
{
PCI_DEVICE
(
0x10de
,
0x0ac2
),
.
driver_data
=
AZX_DRIVER_NVIDIA
},
{
PCI_DEVICE
(
0x10de
,
0x0ac3
),
.
driver_data
=
AZX_DRIVER_NVIDIA
},
{
PCI_DEVICE
(
0x10de
,
0x0be2
),
.
driver_data
=
AZX_DRIVER_NVIDIA
},
{
PCI_DEVICE
(
0x10de
,
0x0be3
),
.
driver_data
=
AZX_DRIVER_NVIDIA
},
{
PCI_DEVICE
(
0x10de
,
0x0be4
),
.
driver_data
=
AZX_DRIVER_NVIDIA
},
{
PCI_DEVICE
(
0x10de
,
0x0d94
),
.
driver_data
=
AZX_DRIVER_NVIDIA
},
{
PCI_DEVICE
(
0x10de
,
0x0d95
),
.
driver_data
=
AZX_DRIVER_NVIDIA
},
{
PCI_DEVICE
(
0x10de
,
0x0d96
),
.
driver_data
=
AZX_DRIVER_NVIDIA
},
...
...
sound/pci/hda/patch_analog.c
浏览文件 @
77623f62
...
...
@@ -1789,6 +1789,14 @@ static int patch_ad1981(struct hda_codec *codec)
codec
->
patch_ops
.
init
=
ad1981_hp_init
;
codec
->
patch_ops
.
unsol_event
=
ad1981_hp_unsol_event
;
/* set the upper-limit for mixer amp to 0dB for avoiding the
* possible damage by overloading
*/
snd_hda_override_amp_caps
(
codec
,
0x11
,
HDA_INPUT
,
(
0x17
<<
AC_AMPCAP_OFFSET_SHIFT
)
|
(
0x17
<<
AC_AMPCAP_NUM_STEPS_SHIFT
)
|
(
0x05
<<
AC_AMPCAP_STEP_SIZE_SHIFT
)
|
(
1
<<
AC_AMPCAP_MUTE_SHIFT
));
break
;
case
AD1981_THINKPAD
:
spec
->
mixers
[
0
]
=
ad1981_thinkpad_mixers
;
...
...
sound/pci/hda/patch_conexant.c
浏览文件 @
77623f62
...
...
@@ -29,6 +29,7 @@
#include "hda_codec.h"
#include "hda_local.h"
#include "hda_beep.h"
#define CXT_PIN_DIR_IN 0x00
#define CXT_PIN_DIR_OUT 0x01
...
...
@@ -111,6 +112,7 @@ struct conexant_spec {
unsigned
int
dell_automute
;
unsigned
int
port_d_mode
;
unsigned
char
ext_mic_bias
;
unsigned
int
dell_vostro
;
};
static
int
conexant_playback_pcm_open
(
struct
hda_pcm_stream
*
hinfo
,
...
...
@@ -476,6 +478,7 @@ static void conexant_free(struct hda_codec *codec)
snd_array_free
(
&
spec
->
jacks
);
}
#endif
snd_hda_detach_beep_device
(
codec
);
kfree
(
codec
->
spec
);
}
...
...
@@ -2109,9 +2112,12 @@ static int cxt5066_mic_boost_mux_enum_get(struct snd_kcontrol *kcontrol,
{
struct
hda_codec
*
codec
=
snd_kcontrol_chip
(
kcontrol
);
int
val
;
hda_nid_t
nid
=
kcontrol
->
private_value
&
0xff
;
int
inout
=
(
kcontrol
->
private_value
&
0x100
)
?
AC_AMP_GET_INPUT
:
AC_AMP_GET_OUTPUT
;
val
=
snd_hda_codec_read
(
codec
,
0x17
,
0
,
AC_VERB_GET_AMP_GAIN_MUTE
,
AC_AMP_GET_OUTPUT
);
val
=
snd_hda_codec_read
(
codec
,
nid
,
0
,
AC_VERB_GET_AMP_GAIN_MUTE
,
inout
);
ucontrol
->
value
.
enumerated
.
item
[
0
]
=
val
&
AC_AMP_GAIN
;
return
0
;
...
...
@@ -2123,6 +2129,9 @@ static int cxt5066_mic_boost_mux_enum_put(struct snd_kcontrol *kcontrol,
struct
hda_codec
*
codec
=
snd_kcontrol_chip
(
kcontrol
);
const
struct
hda_input_mux
*
imux
=
&
cxt5066_analog_mic_boost
;
unsigned
int
idx
;
hda_nid_t
nid
=
kcontrol
->
private_value
&
0xff
;
int
inout
=
(
kcontrol
->
private_value
&
0x100
)
?
AC_AMP_SET_INPUT
:
AC_AMP_SET_OUTPUT
;
if
(
!
imux
->
num_items
)
return
0
;
...
...
@@ -2130,9 +2139,9 @@ static int cxt5066_mic_boost_mux_enum_put(struct snd_kcontrol *kcontrol,
if
(
idx
>=
imux
->
num_items
)
idx
=
imux
->
num_items
-
1
;
snd_hda_codec_write_cache
(
codec
,
0x17
,
0
,
snd_hda_codec_write_cache
(
codec
,
nid
,
0
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AC_AMP_SET_RIGHT
|
AC_AMP_SET_LEFT
|
AC_AMP_SET_OUTPUT
|
AC_AMP_SET_RIGHT
|
AC_AMP_SET_LEFT
|
inout
|
imux
->
items
[
idx
].
index
);
return
1
;
...
...
@@ -2201,10 +2210,11 @@ static struct snd_kcontrol_new cxt5066_mixers[] = {
{
.
iface
=
SNDRV_CTL_ELEM_IFACE_MIXER
,
.
name
=
"
Analog
Mic Boost Capture Enum"
,
.
name
=
"
Ext
Mic Boost Capture Enum"
,
.
info
=
cxt5066_mic_boost_mux_enum_info
,
.
get
=
cxt5066_mic_boost_mux_enum_get
,
.
put
=
cxt5066_mic_boost_mux_enum_put
,
.
private_value
=
0x17
,
},
HDA_BIND_VOL
(
"Capture Volume"
,
&
cxt5066_bind_capture_vol_others
),
...
...
@@ -2212,6 +2222,19 @@ static struct snd_kcontrol_new cxt5066_mixers[] = {
{}
};
static
struct
snd_kcontrol_new
cxt5066_vostro_mixers
[]
=
{
{
.
iface
=
SNDRV_CTL_ELEM_IFACE_MIXER
,
.
name
=
"Int Mic Boost Capture Enum"
,
.
info
=
cxt5066_mic_boost_mux_enum_info
,
.
get
=
cxt5066_mic_boost_mux_enum_get
,
.
put
=
cxt5066_mic_boost_mux_enum_put
,
.
private_value
=
0x23
|
0x100
,
},
HDA_CODEC_VOLUME_MONO
(
"Beep Playback Volume"
,
0x13
,
1
,
0x0
,
HDA_OUTPUT
),
{}
};
static
struct
hda_verb
cxt5066_init_verbs
[]
=
{
{
0x1a
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_VREF80
},
/* Port B */
{
0x1b
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_VREF80
},
/* Port C */
...
...
@@ -2397,11 +2420,16 @@ static struct hda_verb cxt5066_init_verbs_portd_lo[] = {
/* initialize jack-sensing, too */
static
int
cxt5066_init
(
struct
hda_codec
*
codec
)
{
struct
conexant_spec
*
spec
=
codec
->
spec
;
snd_printdd
(
"CXT5066: init
\n
"
);
conexant_init
(
codec
);
if
(
codec
->
patch_ops
.
unsol_event
)
{
cxt5066_hp_automute
(
codec
);
cxt5066_automic
(
codec
);
if
(
spec
->
dell_vostro
)
cxt5066_vostro_automic
(
codec
);
else
cxt5066_automic
(
codec
);
}
return
0
;
}
...
...
@@ -2500,7 +2528,10 @@ static int patch_cxt5066(struct hda_codec *codec)
spec
->
init_verbs
[
0
]
=
cxt5066_init_verbs_vostro
;
spec
->
mixers
[
spec
->
num_mixers
++
]
=
cxt5066_mixer_master_olpc
;
spec
->
mixers
[
spec
->
num_mixers
++
]
=
cxt5066_mixers
;
spec
->
mixers
[
spec
->
num_mixers
++
]
=
cxt5066_vostro_mixers
;
spec
->
port_d_mode
=
0
;
spec
->
dell_vostro
=
1
;
snd_hda_attach_beep_device
(
codec
,
0x13
);
/* no S/PDIF out */
spec
->
multiout
.
dig_out_nid
=
0
;
...
...
sound/pci/hda/patch_realtek.c
浏览文件 @
77623f62
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录