Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
05e20542
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看板
提交
05e20542
编写于
6月 10, 2011
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fix/asoc' into for-linus
上级
7ab1fc0a
33195500
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
47 addition
and
31 deletion
+47
-31
sound/soc/atmel/atmel_ssc_dai.c
sound/soc/atmel/atmel_ssc_dai.c
+3
-2
sound/soc/blackfin/bf5xx-ad1836.c
sound/soc/blackfin/bf5xx-ad1836.c
+2
-2
sound/soc/codecs/ad1836.c
sound/soc/codecs/ad1836.c
+7
-7
sound/soc/codecs/ad1836.h
sound/soc/codecs/ad1836.h
+6
-0
sound/soc/codecs/wm8804.c
sound/soc/codecs/wm8804.c
+7
-2
sound/soc/codecs/wm8915.c
sound/soc/codecs/wm8915.c
+2
-1
sound/soc/codecs/wm8962.c
sound/soc/codecs/wm8962.c
+2
-2
sound/soc/fsl/fsl_dma.c
sound/soc/fsl/fsl_dma.c
+5
-4
sound/soc/samsung/i2s.c
sound/soc/samsung/i2s.c
+2
-2
sound/soc/soc-cache.c
sound/soc/soc-cache.c
+3
-0
sound/soc/soc-dapm.c
sound/soc/soc-dapm.c
+8
-9
未找到文件。
sound/soc/atmel/atmel_ssc_dai.c
浏览文件 @
05e20542
...
...
@@ -848,9 +848,10 @@ int atmel_ssc_set_audio(int ssc_id)
if
(
IS_ERR
(
ssc
))
pr_warn
(
"Unable to parent ASoC SSC DAI on SSC: %ld
\n
"
,
PTR_ERR
(
ssc
));
else
else
{
ssc_pdev
->
dev
.
parent
=
&
(
ssc
->
pdev
->
dev
);
ssc_free
(
ssc
);
ssc_free
(
ssc
);
}
ret
=
platform_device_add
(
ssc_pdev
);
if
(
ret
<
0
)
...
...
sound/soc/blackfin/bf5xx-ad1836.c
浏览文件 @
05e20542
...
...
@@ -75,7 +75,7 @@ static struct snd_soc_dai_link bf5xx_ad1836_dai[] = {
.
cpu_dai_name
=
"bfin-tdm.0"
,
.
codec_dai_name
=
"ad1836-hifi"
,
.
platform_name
=
"bfin-tdm-pcm-audio"
,
.
codec_name
=
"
ad1836.0
"
,
.
codec_name
=
"
spi0.4
"
,
.
ops
=
&
bf5xx_ad1836_ops
,
},
{
...
...
@@ -84,7 +84,7 @@ static struct snd_soc_dai_link bf5xx_ad1836_dai[] = {
.
cpu_dai_name
=
"bfin-tdm.1"
,
.
codec_dai_name
=
"ad1836-hifi"
,
.
platform_name
=
"bfin-tdm-pcm-audio"
,
.
codec_name
=
"
ad1836.0
"
,
.
codec_name
=
"
spi0.4
"
,
.
ops
=
&
bf5xx_ad1836_ops
,
},
};
...
...
sound/soc/codecs/ad1836.c
浏览文件 @
05e20542
...
...
@@ -145,22 +145,22 @@ static int ad1836_hw_params(struct snd_pcm_substream *substream,
/* bit size */
switch
(
params_format
(
params
))
{
case
SNDRV_PCM_FORMAT_S16_LE
:
word_len
=
3
;
word_len
=
AD1836_WORD_LEN_16
;
break
;
case
SNDRV_PCM_FORMAT_S20_3LE
:
word_len
=
1
;
word_len
=
AD1836_WORD_LEN_20
;
break
;
case
SNDRV_PCM_FORMAT_S24_LE
:
case
SNDRV_PCM_FORMAT_S32_LE
:
word_len
=
0
;
word_len
=
AD1836_WORD_LEN_24
;
break
;
}
snd_soc_update_bits
(
codec
,
AD1836_DAC_CTRL1
,
AD1836_DAC_WORD_LEN_MASK
,
word_len
);
snd_soc_update_bits
(
codec
,
AD1836_DAC_CTRL1
,
AD1836_DAC_WORD_LEN_MASK
,
word_len
<<
AD1836_DAC_WORD_LEN_OFFSET
);
snd_soc_update_bits
(
codec
,
AD1836_ADC_CTRL2
,
AD1836_ADC_WORD_LEN_MASK
,
word_len
);
snd_soc_update_bits
(
codec
,
AD1836_ADC_CTRL2
,
AD1836_ADC_WORD_LEN_MASK
,
word_len
<<
AD1836_ADC_WORD_OFFSET
);
return
0
;
}
...
...
sound/soc/codecs/ad1836.h
浏览文件 @
05e20542
...
...
@@ -25,6 +25,7 @@
#define AD1836_DAC_SERFMT_PCK256 (0x4 << 5)
#define AD1836_DAC_SERFMT_PCK128 (0x5 << 5)
#define AD1836_DAC_WORD_LEN_MASK 0x18
#define AD1836_DAC_WORD_LEN_OFFSET 3
#define AD1836_DAC_CTRL2 1
#define AD1836_DACL1_MUTE 0
...
...
@@ -51,6 +52,7 @@
#define AD1836_ADCL2_MUTE 2
#define AD1836_ADCR2_MUTE 3
#define AD1836_ADC_WORD_LEN_MASK 0x30
#define AD1836_ADC_WORD_OFFSET 5
#define AD1836_ADC_SERFMT_MASK (7 << 6)
#define AD1836_ADC_SERFMT_PCK256 (0x4 << 6)
#define AD1836_ADC_SERFMT_PCK128 (0x5 << 6)
...
...
@@ -60,4 +62,8 @@
#define AD1836_NUM_REGS 16
#define AD1836_WORD_LEN_24 0x0
#define AD1836_WORD_LEN_20 0x1
#define AD1836_WORD_LEN_16 0x2
#endif
sound/soc/codecs/wm8804.c
浏览文件 @
05e20542
...
...
@@ -680,20 +680,25 @@ static struct snd_soc_dai_ops wm8804_dai_ops = {
#define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
SNDRV_PCM_FMTBIT_S24_LE)
#define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \
SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | \
SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000)
static
struct
snd_soc_dai_driver
wm8804_dai
=
{
.
name
=
"wm8804-spdif"
,
.
playback
=
{
.
stream_name
=
"Playback"
,
.
channels_min
=
2
,
.
channels_max
=
2
,
.
rates
=
SNDRV_PCM_RATE_8000_192000
,
.
rates
=
WM8804_RATES
,
.
formats
=
WM8804_FORMATS
,
},
.
capture
=
{
.
stream_name
=
"Capture"
,
.
channels_min
=
2
,
.
channels_max
=
2
,
.
rates
=
SNDRV_PCM_RATE_8000_192000
,
.
rates
=
WM8804_RATES
,
.
formats
=
WM8804_FORMATS
,
},
.
ops
=
&
wm8804_dai_ops
,
...
...
sound/soc/codecs/wm8915.c
浏览文件 @
05e20542
...
...
@@ -1839,7 +1839,7 @@ static int wm8915_set_sysclk(struct snd_soc_dai *dai,
int
old
;
/* Disable SYSCLK while we reconfigure */
old
=
snd_soc_read
(
codec
,
WM8915_AIF_CLOCKING_1
);
old
=
snd_soc_read
(
codec
,
WM8915_AIF_CLOCKING_1
)
&
WM8915_SYSCLK_ENA
;
snd_soc_update_bits
(
codec
,
WM8915_AIF_CLOCKING_1
,
WM8915_SYSCLK_ENA
,
0
);
...
...
@@ -2038,6 +2038,7 @@ static int wm8915_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
break
;
case
WM8915_FLL_MCLK2
:
reg
=
1
;
break
;
case
WM8915_FLL_DACLRCLK1
:
reg
=
2
;
break
;
...
...
sound/soc/codecs/wm8962.c
浏览文件 @
05e20542
...
...
@@ -1999,12 +1999,12 @@ static int wm8962_put_hp_sw(struct snd_kcontrol *kcontrol,
return
0
;
/* If the left PGA is enabled hit that VU bit... */
if
(
reg_cache
[
WM8962_PWR_MGMT_2
]
&
WM8962_HPOUTL_PGA_ENA
)
if
(
snd_soc_read
(
codec
,
WM8962_PWR_MGMT_2
)
&
WM8962_HPOUTL_PGA_ENA
)
return
snd_soc_write
(
codec
,
WM8962_HPOUTL_VOLUME
,
reg_cache
[
WM8962_HPOUTL_VOLUME
]);
/* ...otherwise the right. The VU is stereo. */
if
(
reg_cache
[
WM8962_PWR_MGMT_2
]
&
WM8962_HPOUTR_PGA_ENA
)
if
(
snd_soc_read
(
codec
,
WM8962_PWR_MGMT_2
)
&
WM8962_HPOUTR_PGA_ENA
)
return
snd_soc_write
(
codec
,
WM8962_HPOUTR_VOLUME
,
reg_cache
[
WM8962_HPOUTR_VOLUME
]);
...
...
sound/soc/fsl/fsl_dma.c
浏览文件 @
05e20542
...
...
@@ -310,7 +310,7 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai,
* should allocate a DMA buffer only for the streams that are valid.
*/
if
(
dai
->
driver
->
playback
.
channels_min
)
{
if
(
pcm
->
streams
[
0
].
substream
)
{
ret
=
snd_dma_alloc_pages
(
SNDRV_DMA_TYPE_DEV
,
card
->
dev
,
fsl_dma_hardware
.
buffer_bytes_max
,
&
pcm
->
streams
[
0
].
substream
->
dma_buffer
);
...
...
@@ -320,13 +320,13 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai,
}
}
if
(
dai
->
driver
->
capture
.
channels_min
)
{
if
(
pcm
->
streams
[
1
].
substream
)
{
ret
=
snd_dma_alloc_pages
(
SNDRV_DMA_TYPE_DEV
,
card
->
dev
,
fsl_dma_hardware
.
buffer_bytes_max
,
&
pcm
->
streams
[
1
].
substream
->
dma_buffer
);
if
(
ret
)
{
snd_dma_free_pages
(
&
pcm
->
streams
[
0
].
substream
->
dma_buffer
);
dev_err
(
card
->
dev
,
"can't alloc capture dma buffer
\n
"
);
snd_dma_free_pages
(
&
pcm
->
streams
[
0
].
substream
->
dma_buffer
);
return
ret
;
}
}
...
...
@@ -449,7 +449,8 @@ static int fsl_dma_open(struct snd_pcm_substream *substream)
dma_private
->
ld_buf_phys
=
ld_buf_phys
;
dma_private
->
dma_buf_phys
=
substream
->
dma_buffer
.
addr
;
ret
=
request_irq
(
dma_private
->
irq
,
fsl_dma_isr
,
0
,
"DMA"
,
dma_private
);
ret
=
request_irq
(
dma_private
->
irq
,
fsl_dma_isr
,
0
,
"fsldma-audio"
,
dma_private
);
if
(
ret
)
{
dev_err
(
dev
,
"can't register ISR for IRQ %u (ret=%i)
\n
"
,
dma_private
->
irq
,
ret
);
...
...
sound/soc/samsung/i2s.c
浏览文件 @
05e20542
...
...
@@ -191,7 +191,7 @@ static inline bool tx_active(struct i2s_dai *i2s)
if
(
!
i2s
)
return
false
;
active
=
readl
(
i2s
->
addr
+
I2S
MOD
);
active
=
readl
(
i2s
->
addr
+
I2S
CON
);
if
(
is_secondary
(
i2s
))
active
&=
CON_TXSDMA_ACTIVE
;
...
...
@@ -223,7 +223,7 @@ static inline bool rx_active(struct i2s_dai *i2s)
if
(
!
i2s
)
return
false
;
active
=
readl
(
i2s
->
addr
+
I2S
MOD
)
&
CON_RXDMA_ACTIVE
;
active
=
readl
(
i2s
->
addr
+
I2S
CON
)
&
CON_RXDMA_ACTIVE
;
return
active
?
true
:
false
;
}
...
...
sound/soc/soc-cache.c
浏览文件 @
05e20542
...
...
@@ -466,6 +466,9 @@ static bool snd_soc_set_cache_val(void *base, unsigned int idx,
static
unsigned
int
snd_soc_get_cache_val
(
const
void
*
base
,
unsigned
int
idx
,
unsigned
int
word_size
)
{
if
(
!
base
)
return
-
1
;
switch
(
word_size
)
{
case
1
:
{
const
u8
*
cache
=
base
;
...
...
sound/soc/soc-dapm.c
浏览文件 @
05e20542
...
...
@@ -350,9 +350,9 @@ static int dapm_is_shared_kcontrol(struct snd_soc_dapm_context *dapm,
}
/* create new dapm mixer control */
static
int
dapm_new_mixer
(
struct
snd_soc_dapm_context
*
dapm
,
struct
snd_soc_dapm_widget
*
w
)
static
int
dapm_new_mixer
(
struct
snd_soc_dapm_widget
*
w
)
{
struct
snd_soc_dapm_context
*
dapm
=
w
->
dapm
;
int
i
,
ret
=
0
;
size_t
name_len
,
prefix_len
;
struct
snd_soc_dapm_path
*
path
;
...
...
@@ -450,9 +450,9 @@ static int dapm_new_mixer(struct snd_soc_dapm_context *dapm,
}
/* create new dapm mux control */
static
int
dapm_new_mux
(
struct
snd_soc_dapm_context
*
dapm
,
struct
snd_soc_dapm_widget
*
w
)
static
int
dapm_new_mux
(
struct
snd_soc_dapm_widget
*
w
)
{
struct
snd_soc_dapm_context
*
dapm
=
w
->
dapm
;
struct
snd_soc_dapm_path
*
path
=
NULL
;
struct
snd_kcontrol
*
kcontrol
;
struct
snd_card
*
card
=
dapm
->
card
->
snd_card
;
...
...
@@ -535,8 +535,7 @@ static int dapm_new_mux(struct snd_soc_dapm_context *dapm,
}
/* create new dapm volume control */
static
int
dapm_new_pga
(
struct
snd_soc_dapm_context
*
dapm
,
struct
snd_soc_dapm_widget
*
w
)
static
int
dapm_new_pga
(
struct
snd_soc_dapm_widget
*
w
)
{
if
(
w
->
num_kcontrols
)
dev_err
(
w
->
dapm
->
dev
,
...
...
@@ -1826,13 +1825,13 @@ int snd_soc_dapm_new_widgets(struct snd_soc_dapm_context *dapm)
case
snd_soc_dapm_mixer
:
case
snd_soc_dapm_mixer_named_ctl
:
w
->
power_check
=
dapm_generic_check_power
;
dapm_new_mixer
(
dapm
,
w
);
dapm_new_mixer
(
w
);
break
;
case
snd_soc_dapm_mux
:
case
snd_soc_dapm_virt_mux
:
case
snd_soc_dapm_value_mux
:
w
->
power_check
=
dapm_generic_check_power
;
dapm_new_mux
(
dapm
,
w
);
dapm_new_mux
(
w
);
break
;
case
snd_soc_dapm_adc
:
case
snd_soc_dapm_aif_out
:
...
...
@@ -1845,7 +1844,7 @@ int snd_soc_dapm_new_widgets(struct snd_soc_dapm_context *dapm)
case
snd_soc_dapm_pga
:
case
snd_soc_dapm_out_drv
:
w
->
power_check
=
dapm_generic_check_power
;
dapm_new_pga
(
dapm
,
w
);
dapm_new_pga
(
w
);
break
;
case
snd_soc_dapm_input
:
case
snd_soc_dapm_output
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录