Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xiphi1978
linux
提交
c13cb78a
L
linux
项目概览
xiphi1978
/
linux
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c13cb78a
编写于
5月 14, 2009
作者:
M
Mark Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'pxa2xx-i2s' into for-2.6.31
上级
d34c4307
916465a8
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
9 addition
and
16 deletion
+9
-16
sound/soc/pxa/pxa2xx-i2s.c
sound/soc/pxa/pxa2xx-i2s.c
+9
-16
未找到文件。
sound/soc/pxa/pxa2xx-i2s.c
浏览文件 @
c13cb78a
...
...
@@ -106,10 +106,8 @@ static int pxa2xx_i2s_startup(struct snd_pcm_substream *substream,
if
(
IS_ERR
(
clk_i2s
))
return
PTR_ERR
(
clk_i2s
);
if
(
!
cpu_dai
->
active
)
{
SACR0
|=
SACR0_RST
;
if
(
!
cpu_dai
->
active
)
SACR0
=
0
;
}
return
0
;
}
...
...
@@ -178,9 +176,7 @@ static int pxa2xx_i2s_hw_params(struct snd_pcm_substream *substream,
/* is port used by another stream */
if
(
!
(
SACR0
&
SACR0_ENB
))
{
SACR0
=
0
;
SACR1
=
0
;
if
(
pxa_i2s
.
master
)
SACR0
|=
SACR0_BCKD
;
...
...
@@ -226,6 +222,10 @@ static int pxa2xx_i2s_trigger(struct snd_pcm_substream *substream, int cmd,
switch
(
cmd
)
{
case
SNDRV_PCM_TRIGGER_START
:
if
(
substream
->
stream
==
SNDRV_PCM_STREAM_PLAYBACK
)
SACR1
&=
~
SACR1_DRPL
;
else
SACR1
&=
~
SACR1_DREC
;
SACR0
|=
SACR0_ENB
;
break
;
case
SNDRV_PCM_TRIGGER_RESUME
:
...
...
@@ -252,21 +252,16 @@ static void pxa2xx_i2s_shutdown(struct snd_pcm_substream *substream,
SAIMR
&=
~
SAIMR_RFS
;
}
if
(
SACR1
&
(
SACR1_DREC
|
SACR1_DRPL
))
{
if
(
(
SACR1
&
(
SACR1_DREC
|
SACR1_DRPL
))
==
(
SACR1_DREC
|
SACR1_DRPL
))
{
SACR0
&=
~
SACR0_ENB
;
pxa_i2s_wait
();
clk_disable
(
clk_i2s
);
}
clk_put
(
clk_i2s
);
}
#ifdef CONFIG_PM
static
int
pxa2xx_i2s_suspend
(
struct
snd_soc_dai
*
dai
)
{
if
(
!
dai
->
active
)
return
0
;
/* store registers */
pxa_i2s
.
sacr0
=
SACR0
;
pxa_i2s
.
sacr1
=
SACR1
;
...
...
@@ -281,16 +276,14 @@ static int pxa2xx_i2s_suspend(struct snd_soc_dai *dai)
static
int
pxa2xx_i2s_resume
(
struct
snd_soc_dai
*
dai
)
{
if
(
!
dai
->
active
)
return
0
;
pxa_i2s_wait
();
SACR0
=
pxa_i2s
.
sacr0
&
=
~
SACR0_ENB
;
SACR0
=
pxa_i2s
.
sacr0
&
~
SACR0_ENB
;
SACR1
=
pxa_i2s
.
sacr1
;
SAIMR
=
pxa_i2s
.
saimr
;
SADIV
=
pxa_i2s
.
sadiv
;
SACR0
|=
SACR0_ENB
;
SACR0
=
pxa_i2s
.
sacr0
;
return
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录