Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
ef47bf38
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ef47bf38
编写于
12月 01, 2009
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fix/misc' into topic/misc
上级
306ecee9
8ee763b9
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
64 addition
and
21 deletion
+64
-21
sound/arm/aaci.c
sound/arm/aaci.c
+5
-1
sound/pci/hda/patch_conexant.c
sound/pci/hda/patch_conexant.c
+12
-3
sound/pci/hda/patch_nvhdmi.c
sound/pci/hda/patch_nvhdmi.c
+2
-0
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+10
-7
sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c
+2
-0
sound/pci/ice1712/ice1712.h
sound/pci/ice1712/ice1712.h
+2
-2
sound/soc/codecs/tlv320aic23.c
sound/soc/codecs/tlv320aic23.c
+2
-3
sound/soc/omap/omap3evm.c
sound/soc/omap/omap3evm.c
+1
-1
sound/soc/omap/omap3pandora.c
sound/soc/omap/omap3pandora.c
+2
-1
sound/soc/soc-dapm.c
sound/soc/soc-dapm.c
+17
-3
sound/usb/usbmixer.c
sound/usb/usbmixer.c
+9
-0
未找到文件。
sound/arm/aaci.c
浏览文件 @
ef47bf38
...
...
@@ -501,6 +501,10 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
int
err
;
aaci_pcm_hw_free
(
substream
);
if
(
aacirun
->
pcm_open
)
{
snd_ac97_pcm_close
(
aacirun
->
pcm
);
aacirun
->
pcm_open
=
0
;
}
err
=
devdma_hw_alloc
(
NULL
,
substream
,
params_buffer_bytes
(
params
));
...
...
@@ -514,7 +518,7 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
else
err
=
snd_ac97_pcm_open
(
aacirun
->
pcm
,
params_rate
(
params
),
params_channels
(
params
),
aacirun
->
pcm
->
r
[
1
].
slots
);
aacirun
->
pcm
->
r
[
0
].
slots
);
if
(
err
)
goto
out
;
...
...
sound/pci/hda/patch_conexant.c
浏览文件 @
ef47bf38
...
...
@@ -110,6 +110,7 @@ struct conexant_spec {
unsigned
int
dell_automute
;
unsigned
int
port_d_mode
;
unsigned
char
ext_mic_bias
;
};
static
int
conexant_playback_pcm_open
(
struct
hda_pcm_stream
*
hinfo
,
...
...
@@ -1927,6 +1928,11 @@ static hda_nid_t cxt5066_adc_nids[3] = { 0x14, 0x15, 0x16 };
static
hda_nid_t
cxt5066_capsrc_nids
[
1
]
=
{
0x17
};
#define CXT5066_SPDIF_OUT 0x21
/* OLPC's microphone port is DC coupled for use with external sensors,
* therefore we use a 50% mic bias in order to center the input signal with
* the DC input range of the codec. */
#define CXT5066_OLPC_EXT_MIC_BIAS PIN_VREF50
static
struct
hda_channel_mode
cxt5066_modes
[
1
]
=
{
{
2
,
NULL
},
};
...
...
@@ -1980,9 +1986,10 @@ static int cxt5066_hp_master_sw_put(struct snd_kcontrol *kcontrol,
/* toggle input of built-in and mic jack appropriately */
static
void
cxt5066_automic
(
struct
hda_codec
*
codec
)
{
static
struct
hda_verb
ext_mic_present
[]
=
{
struct
conexant_spec
*
spec
=
codec
->
spec
;
struct
hda_verb
ext_mic_present
[]
=
{
/* enable external mic, port B */
{
0x1a
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_VREF80
},
{
0x1a
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
spec
->
ext_mic_bias
},
/* switch to external mic input */
{
0x17
,
AC_VERB_SET_CONNECT_SEL
,
0
},
...
...
@@ -2235,7 +2242,7 @@ static struct hda_verb cxt5066_init_verbs_olpc[] = {
{
0x19
,
AC_VERB_SET_CONNECT_SEL
,
0x00
},
/* DAC1 */
/* Port B: external microphone */
{
0x1a
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_VREF80
},
{
0x1a
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
CXT5066_OLPC_EXT_MIC_BIAS
},
/* Port C: internal microphone */
{
0x1b
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_VREF80
},
...
...
@@ -2353,6 +2360,7 @@ static int patch_cxt5066(struct hda_codec *codec)
spec
->
input_mux
=
&
cxt5066_capture_source
;
spec
->
port_d_mode
=
PIN_HP
;
spec
->
ext_mic_bias
=
PIN_VREF80
;
spec
->
num_init_verbs
=
1
;
spec
->
init_verbs
[
0
]
=
cxt5066_init_verbs
;
...
...
@@ -2384,6 +2392,7 @@ static int patch_cxt5066(struct hda_codec *codec)
spec
->
mixers
[
spec
->
num_mixers
++
]
=
cxt5066_mixer_master_olpc
;
spec
->
mixers
[
spec
->
num_mixers
++
]
=
cxt5066_mixers
;
spec
->
port_d_mode
=
0
;
spec
->
ext_mic_bias
=
CXT5066_OLPC_EXT_MIC_BIAS
;
/* no S/PDIF out */
spec
->
multiout
.
dig_out_nid
=
0
;
...
...
sound/pci/hda/patch_nvhdmi.c
浏览文件 @
ef47bf38
...
...
@@ -397,6 +397,7 @@ static int patch_nvhdmi_2ch(struct hda_codec *codec)
static
struct
hda_codec_preset
snd_hda_preset_nvhdmi
[]
=
{
{
.
id
=
0x10de0002
,
.
name
=
"MCP78 HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0003
,
.
name
=
"MCP78 HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0005
,
.
name
=
"MCP78 HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0006
,
.
name
=
"MCP78 HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0007
,
.
name
=
"MCP7A HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0067
,
.
name
=
"MCP67 HDMI"
,
.
patch
=
patch_nvhdmi_2ch
},
...
...
@@ -406,6 +407,7 @@ static struct hda_codec_preset snd_hda_preset_nvhdmi[] = {
MODULE_ALIAS
(
"snd-hda-codec-id:10de0002"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0003"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0005"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0006"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0007"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0067"
);
...
...
sound/pci/hda/patch_realtek.c
浏览文件 @
ef47bf38
...
...
@@ -4684,9 +4684,9 @@ static int alc880_parse_auto_config(struct hda_codec *codec)
spec->multiout.dig_out_nid = dig_nid;
else {
spec->multiout.slave_dig_outs = spec->slave_dig_outs;
spec->slave_dig_outs[i - 1] = dig_nid;
if (i == ARRAY_SIZE(spec->slave_dig_outs) - 1)
if (i >= ARRAY_SIZE(spec->slave_dig_outs) - 1)
break;
spec->slave_dig_outs[i - 1] = dig_nid;
}
}
if (spec->autocfg.dig_in_pin)
...
...
@@ -6249,7 +6249,7 @@ static struct snd_pci_quirk alc260_cfg_tbl[] = {
SND_PCI_QUIRK(0x1025, 0x008f, "Acer", ALC260_ACER),
SND_PCI_QUIRK(0x1509, 0x4540, "Favorit 100XS", ALC260_FAVORIT100),
SND_PCI_QUIRK(0x103c, 0x2808, "HP d5700", ALC260_HP_3013),
SND_PCI_QUIRK(0x103c, 0x280a, "HP d5750", ALC260_
HP_3013),
SND_PCI_QUIRK(0x103c, 0x280a, "HP d5750", ALC260_
AUTO), /* no quirk */
SND_PCI_QUIRK(0x103c, 0x3010, "HP", ALC260_HP_3013),
SND_PCI_QUIRK(0x103c, 0x3011, "HP", ALC260_HP_3013),
SND_PCI_QUIRK(0x103c, 0x3012, "HP", ALC260_HP_DC7600),
...
...
@@ -8911,10 +8911,11 @@ static struct snd_pci_quirk alc882_ssid_cfg_tbl[] = {
SND_PCI_QUIRK(0x106b, 0x3800, "MacbookPro 4,1", ALC885_MBP3),
SND_PCI_QUIRK(0x106b, 0x3e00, "iMac 24 Aluminum", ALC885_IMAC24),
SND_PCI_QUIRK(0x106b, 0x3f00, "Macbook 5,1", ALC885_MB5),
/* FIXME: HP jack sense seems not working for MBP 5,1
, so apparently
* no perfect solution yet
/* FIXME: HP jack sense seems not working for MBP 5,1
or 5,2,
*
so apparently
no perfect solution yet
*/
SND_PCI_QUIRK(0x106b, 0x4000, "MacbookPro 5,1", ALC885_MB5),
SND_PCI_QUIRK(0x106b, 0x4600, "MacbookPro 5,2", ALC885_MB5),
{} /* terminator */
};
...
...
@@ -9813,9 +9814,9 @@ static int alc882_parse_auto_config(struct hda_codec *codec)
spec->multiout.dig_out_nid = dig_nid;
else {
spec->multiout.slave_dig_outs = spec->slave_dig_outs;
spec->slave_dig_outs[i - 1] = dig_nid;
if (i == ARRAY_SIZE(spec->slave_dig_outs) - 1)
if (i >= ARRAY_SIZE(spec->slave_dig_outs) - 1)
break;
spec->slave_dig_outs[i - 1] = dig_nid;
}
}
if (spec->autocfg.dig_in_pin)
...
...
@@ -11460,6 +11461,8 @@ static struct snd_pci_quirk alc262_cfg_tbl[] = {
SND_PCI_QUIRK(0x104d, 0x820f, "Sony ASSAMD", ALC262_SONY_ASSAMD),
SND_PCI_QUIRK(0x104d, 0x9016, "Sony VAIO", ALC262_AUTO), /* dig-only */
SND_PCI_QUIRK(0x104d, 0x9025, "Sony VAIO Z21MN", ALC262_TOSHIBA_S06),
SND_PCI_QUIRK(0x104d, 0x9035, "Sony VAIO VGN-FW170J", ALC262_AUTO),
SND_PCI_QUIRK(0x104d, 0x9047, "Sony VAIO Type G", ALC262_AUTO),
SND_PCI_QUIRK_MASK(0x104d, 0xff00, 0x9000, "Sony VAIO",
ALC262_SONY_ASSAMD),
SND_PCI_QUIRK(0x1179, 0x0001, "Toshiba dynabook SS RX1",
...
...
sound/pci/hda/patch_sigmatel.c
浏览文件 @
ef47bf38
...
...
@@ -1590,6 +1590,8 @@ static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = {
"Dell Studio 17"
,
STAC_DELL_M6_DMIC
),
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x02be
,
"Dell Studio 1555"
,
STAC_DELL_M6_DMIC
),
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x02bd
,
"Dell Studio 1557"
,
STAC_DELL_M6_DMIC
),
{}
/* terminator */
};
...
...
sound/pci/ice1712/ice1712.h
浏览文件 @
ef47bf38
...
...
@@ -382,8 +382,8 @@ struct snd_ice1712 {
#ifdef CONFIG_PM
int
(
*
pm_suspend
)(
struct
snd_ice1712
*
);
int
(
*
pm_resume
)(
struct
snd_ice1712
*
);
int
pm_suspend_enabled
:
1
;
int
pm_saved_is_spdif_master
:
1
;
unsigned
int
pm_suspend_enabled
:
1
;
unsigned
int
pm_saved_is_spdif_master
:
1
;
unsigned
int
pm_saved_spdif_ctrl
;
unsigned
char
pm_saved_spdif_cfg
;
unsigned
int
pm_saved_route
;
...
...
sound/soc/codecs/tlv320aic23.c
浏览文件 @
ef47bf38
...
...
@@ -265,8 +265,8 @@ static const int bosr_usb_divisor_table[] = {
#define UPPER_GROUP ((1<<8) | (1<<9) | (1<<10) | (1<<11) | (1<<15))
static
const
unsigned
short
sr_valid_mask
[]
=
{
LOWER_GROUP
|
UPPER_GROUP
,
/* Normal, bosr - 0*/
LOWER_GROUP
|
UPPER_GROUP
,
/* Normal, bosr - 1*/
LOWER_GROUP
,
/* Usb, bosr - 0*/
LOWER_GROUP
|
UPPER_GROUP
,
/* Normal, bosr - 1*/
UPPER_GROUP
,
/* Usb, bosr - 1*/
};
/*
...
...
@@ -625,11 +625,10 @@ static int tlv320aic23_resume(struct platform_device *pdev)
{
struct
snd_soc_device
*
socdev
=
platform_get_drvdata
(
pdev
);
struct
snd_soc_codec
*
codec
=
socdev
->
card
->
codec
;
int
i
;
u16
reg
;
/* Sync reg_cache with the hardware */
for
(
reg
=
0
;
reg
<
ARRAY_SIZE
(
tlv320aic23_reg
);
i
++
)
{
for
(
reg
=
0
;
reg
<
TLV320AIC23_RESET
;
reg
++
)
{
u16
val
=
tlv320aic23_read_reg_cache
(
codec
,
reg
);
tlv320aic23_write
(
codec
,
reg
,
val
);
}
...
...
sound/soc/omap/omap3evm.c
浏览文件 @
ef47bf38
...
...
@@ -144,4 +144,4 @@ module_exit(omap3evm_soc_exit);
MODULE_AUTHOR
(
"Anuj Aggarwal <anuj.aggarwal@ti.com>"
);
MODULE_DESCRIPTION
(
"ALSA SoC OMAP3 EVM"
);
MODULE_LICENSE
(
"GPLv2"
);
MODULE_LICENSE
(
"GPL
v2"
);
sound/soc/omap/omap3pandora.c
浏览文件 @
ef47bf38
...
...
@@ -134,7 +134,7 @@ static int omap3pandora_hp_event(struct snd_soc_dapm_widget *w,
* |P| <--- TWL4030 <--------- Line In and MICs
*/
static
const
struct
snd_soc_dapm_widget
omap3pandora_out_dapm_widgets
[]
=
{
SND_SOC_DAPM_DAC
(
"PCM DAC"
,
"Playback"
,
SND_SOC_NOPM
,
0
,
0
),
SND_SOC_DAPM_DAC
(
"PCM DAC"
,
"
HiFi
Playback"
,
SND_SOC_NOPM
,
0
,
0
),
SND_SOC_DAPM_PGA_E
(
"Headphone Amplifier"
,
SND_SOC_NOPM
,
0
,
0
,
NULL
,
0
,
omap3pandora_hp_event
,
SND_SOC_DAPM_POST_PMU
|
SND_SOC_DAPM_PRE_PMD
),
...
...
@@ -181,6 +181,7 @@ static int omap3pandora_out_init(struct snd_soc_codec *codec)
snd_soc_dapm_nc_pin
(
codec
,
"CARKITR"
);
snd_soc_dapm_nc_pin
(
codec
,
"HFL"
);
snd_soc_dapm_nc_pin
(
codec
,
"HFR"
);
snd_soc_dapm_nc_pin
(
codec
,
"VIBRA"
);
ret
=
snd_soc_dapm_new_controls
(
codec
,
omap3pandora_out_dapm_widgets
,
ARRAY_SIZE
(
omap3pandora_out_dapm_widgets
));
...
...
sound/soc/soc-dapm.c
浏览文件 @
ef47bf38
...
...
@@ -973,9 +973,19 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
if
(
!
w
->
power_check
)
continue
;
power
=
w
->
power_check
(
w
);
if
(
power
)
sys_power
=
1
;
/* If we're suspending then pull down all the
* power. */
switch
(
event
)
{
case
SND_SOC_DAPM_STREAM_SUSPEND
:
power
=
0
;
break
;
default:
power
=
w
->
power_check
(
w
);
if
(
power
)
sys_power
=
1
;
break
;
}
if
(
w
->
power
==
power
)
continue
;
...
...
@@ -999,8 +1009,12 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
case
SND_SOC_DAPM_STREAM_RESUME
:
sys_power
=
1
;
break
;
case
SND_SOC_DAPM_STREAM_SUSPEND
:
sys_power
=
0
;
break
;
case
SND_SOC_DAPM_STREAM_NOP
:
sys_power
=
codec
->
bias_level
!=
SND_SOC_BIAS_STANDBY
;
break
;
default:
break
;
}
...
...
sound/usb/usbmixer.c
浏览文件 @
ef47bf38
...
...
@@ -1071,6 +1071,15 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, unsig
channels
=
(
ftr
[
0
]
-
7
)
/
csize
-
1
;
master_bits
=
snd_usb_combine_bytes
(
ftr
+
6
,
csize
);
/* master configuration quirks */
switch
(
state
->
chip
->
usb_id
)
{
case
USB_ID
(
0x08bb
,
0x2702
):
snd_printk
(
KERN_INFO
"usbmixer: master volume quirk for PCM2702 chip
\n
"
);
/* disable non-functional volume control */
master_bits
&=
~
(
1
<<
(
USB_FEATURE_VOLUME
-
1
));
break
;
}
if
(
channels
>
0
)
first_ch_bits
=
snd_usb_combine_bytes
(
ftr
+
6
+
csize
,
csize
);
else
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录