Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
d0d2c38e
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
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看板
提交
d0d2c38e
编写于
1月 26, 2010
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge remote branch 'alsa/devel' into topic/misc
上级
cf944ee5
e7636925
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
19 addition
and
5 deletion
+19
-5
include/sound/pcm.h
include/sound/pcm.h
+1
-0
sound/core/oss/pcm_oss.c
sound/core/oss/pcm_oss.c
+1
-2
sound/core/pcm_lib.c
sound/core/pcm_lib.c
+5
-2
sound/core/pcm_native.c
sound/core/pcm_native.c
+2
-0
sound/pci/hda/patch_analog.c
sound/pci/hda/patch_analog.c
+10
-1
未找到文件。
include/sound/pcm.h
浏览文件 @
d0d2c38e
...
...
@@ -271,6 +271,7 @@ struct snd_pcm_runtime {
int
overrange
;
snd_pcm_uframes_t
avail_max
;
snd_pcm_uframes_t
hw_ptr_base
;
/* Position at buffer restart */
snd_pcm_uframes_t
hw_ptr_interrupt
;
/* Position at interrupt time */
unsigned
long
hw_ptr_jiffies
;
/* Time when hw_ptr is updated */
snd_pcm_sframes_t
delay
;
/* extra delay; typically FIFO size */
...
...
sound/core/oss/pcm_oss.c
浏览文件 @
d0d2c38e
...
...
@@ -635,8 +635,7 @@ static long snd_pcm_alsa_frames(struct snd_pcm_substream *substream, long bytes)
static
inline
snd_pcm_uframes_t
get_hw_ptr_period
(
struct
snd_pcm_runtime
*
runtime
)
{
snd_pcm_uframes_t
ptr
=
runtime
->
status
->
hw_ptr
;
return
ptr
-
(
ptr
%
runtime
->
period_size
);
return
runtime
->
hw_ptr_interrupt
;
}
/* define extended formats in the recent OSS versions (if any) */
...
...
sound/core/pcm_lib.c
浏览文件 @
d0d2c38e
...
...
@@ -325,8 +325,7 @@ static int snd_pcm_update_hw_ptr0(struct snd_pcm_substream *substream,
if
(
in_interrupt
)
{
/* we know that one period was processed */
/* delta = "expected next hw_ptr" for in_interrupt != 0 */
delta
=
old_hw_ptr
-
(
old_hw_ptr
%
runtime
->
period_size
)
+
runtime
->
period_size
;
delta
=
runtime
->
hw_ptr_interrupt
+
runtime
->
period_size
;
if
(
delta
>
new_hw_ptr
)
{
hw_base
+=
runtime
->
buffer_size
;
if
(
hw_base
>=
runtime
->
boundary
)
...
...
@@ -437,6 +436,10 @@ static int snd_pcm_update_hw_ptr0(struct snd_pcm_substream *substream,
runtime
->
silence_size
>
0
)
snd_pcm_playback_silence
(
substream
,
new_hw_ptr
);
if
(
in_interrupt
)
{
runtime
->
hw_ptr_interrupt
=
new_hw_ptr
-
(
new_hw_ptr
%
runtime
->
period_size
);
}
runtime
->
hw_ptr_base
=
hw_base
;
runtime
->
status
->
hw_ptr
=
new_hw_ptr
;
runtime
->
hw_ptr_jiffies
=
jiffies
;
...
...
sound/core/pcm_native.c
浏览文件 @
d0d2c38e
...
...
@@ -1252,6 +1252,8 @@ static int snd_pcm_do_reset(struct snd_pcm_substream *substream, int state)
if
(
err
<
0
)
return
err
;
runtime
->
hw_ptr_base
=
0
;
runtime
->
hw_ptr_interrupt
=
runtime
->
status
->
hw_ptr
-
runtime
->
status
->
hw_ptr
%
runtime
->
period_size
;
runtime
->
silence_start
=
runtime
->
status
->
hw_ptr
;
runtime
->
silence_filled
=
0
;
return
0
;
...
...
sound/pci/hda/patch_analog.c
浏览文件 @
d0d2c38e
...
...
@@ -2458,6 +2458,12 @@ static struct hda_verb ad1988_spdif_init_verbs[] = {
{
}
};
static
struct
hda_verb
ad1988_spdif_in_init_verbs
[]
=
{
/* unmute SPDIF input pin */
{
0x1c
,
AC_VERB_SET_AMP_GAIN_MUTE
,
AMP_IN_UNMUTE
(
0
)},
{
}
};
/* AD1989 has no ADC -> SPDIF route */
static
struct
hda_verb
ad1989_spdif_init_verbs
[]
=
{
/* SPDIF-1 out pin */
...
...
@@ -3193,8 +3199,11 @@ static int patch_ad1988(struct hda_codec *codec)
ad1988_spdif_init_verbs
;
}
}
if
(
spec
->
dig_in_nid
&&
codec
->
vendor_id
<
0x11d4989a
)
if
(
spec
->
dig_in_nid
&&
codec
->
vendor_id
<
0x11d4989a
)
{
spec
->
mixers
[
spec
->
num_mixers
++
]
=
ad1988_spdif_in_mixers
;
spec
->
init_verbs
[
spec
->
num_init_verbs
++
]
=
ad1988_spdif_in_init_verbs
;
}
codec
->
patch_ops
=
ad198x_patch_ops
;
switch
(
board_config
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录