Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
057fa65c
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
057fa65c
编写于
9月 12, 2009
作者:
M
malc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
audio: remove lsbindex/popcount in favour of host-utils's ctz32
Signed-off-by:
N
malc
<
av1474@comtv.ru
>
上级
8b438ba3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
5 addition
and
23 deletion
+5
-23
audio/audio.c
audio/audio.c
+0
-17
audio/audio.h
audio/audio.h
+0
-3
audio/ossaudio.c
audio/ossaudio.c
+2
-1
hw/sb16.c
hw/sb16.c
+3
-2
未找到文件。
audio/audio.c
浏览文件 @
057fa65c
...
...
@@ -112,23 +112,6 @@ struct mixeng_volume nominal_volume = {
#endif
};
/* http://www.df.lth.se/~john_e/gems/gem002d.html */
/* http://www.multi-platforms.com/Tips/PopCount.htm */
uint32_t
popcount
(
uint32_t
u
)
{
u
=
((
u
&
0x55555555
)
+
((
u
>>
1
)
&
0x55555555
));
u
=
((
u
&
0x33333333
)
+
((
u
>>
2
)
&
0x33333333
));
u
=
((
u
&
0x0f0f0f0f
)
+
((
u
>>
4
)
&
0x0f0f0f0f
));
u
=
((
u
&
0x00ff00ff
)
+
((
u
>>
8
)
&
0x00ff00ff
));
u
=
(
u
&
0x0000ffff
)
+
(
u
>>
16
);
return
u
;
}
inline
uint32_t
lsbindex
(
uint32_t
u
)
{
return
popcount
((
u
&-
u
)
-
1
);
}
#ifdef AUDIO_IS_FLAWLESS_AND_NO_CHECKS_ARE_REQURIED
#error No its not
#else
...
...
audio/audio.h
浏览文件 @
057fa65c
...
...
@@ -147,9 +147,6 @@ static inline void *advance (void *p, int incr)
return
(
d
+
incr
);
}
uint32_t
popcount
(
uint32_t
u
);
uint32_t
lsbindex
(
uint32_t
u
);
#ifdef __GNUC__
#define audio_MIN(a, b) ( __extension__ ({ \
__typeof (a) ta = a; \
...
...
audio/ossaudio.c
浏览文件 @
057fa65c
...
...
@@ -31,6 +31,7 @@
#include <sys/soundcard.h>
#endif
#include "qemu-common.h"
#include "host-utils.h"
#include "qemu-char.h"
#include "audio.h"
...
...
@@ -273,7 +274,7 @@ static int oss_open (int in, struct oss_params *req,
goto
err
;
}
mmmmssss
=
(
req
->
nfrags
<<
16
)
|
lsbindex
(
req
->
fragsize
);
mmmmssss
=
(
req
->
nfrags
<<
16
)
|
ctz32
(
req
->
fragsize
);
if
(
ioctl
(
fd
,
SNDCTL_DSP_SETFRAGMENT
,
&
mmmmssss
))
{
oss_logerr2
(
errno
,
typ
,
"Failed to set buffer length (%d, %d)
\n
"
,
req
->
nfrags
,
req
->
fragsize
);
...
...
hw/sb16.c
浏览文件 @
057fa65c
...
...
@@ -27,6 +27,7 @@
#include "isa.h"
#include "qdev.h"
#include "qemu-timer.h"
#include "host-utils.h"
#define dolog(...) AUD_log ("sb16", __VA_ARGS__)
...
...
@@ -1092,8 +1093,8 @@ static IO_WRITE_PROTO (mixer_write_datab)
{
int
dma
,
hdma
;
dma
=
lsbindex
(
val
&
0xf
);
hdma
=
lsbindex
(
val
&
0xf0
);
dma
=
ctz32
(
val
&
0xf
);
hdma
=
ctz32
(
val
&
0xf0
);
if
(
dma
!=
s
->
dma
||
hdma
!=
s
->
hdma
)
{
dolog
(
"attempt to change DMA "
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录