Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
e6d06e08
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
e6d06e08
编写于
11月 03, 2010
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fix/misc' into topic/misc
上级
c8ddb271
87232dd4
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
45 addition
and
32 deletion
+45
-32
sound/pci/asihpi/hpi6000.c
sound/pci/asihpi/hpi6000.c
+2
-0
sound/pci/asihpi/hpi6205.c
sound/pci/asihpi/hpi6205.c
+2
-0
sound/pci/asihpi/hpicmn.c
sound/pci/asihpi/hpicmn.c
+9
-3
sound/pci/cs46xx/dsp_spos.c
sound/pci/cs46xx/dsp_spos.c
+11
-22
sound/pci/hda/patch_cirrus.c
sound/pci/hda/patch_cirrus.c
+1
-0
sound/pci/lx6464es/lx6464es.c
sound/pci/lx6464es/lx6464es.c
+2
-2
sound/pci/lx6464es/lx6464es.h
sound/pci/lx6464es/lx6464es.h
+1
-1
sound/pci/lx6464es/lx_core.c
sound/pci/lx6464es/lx_core.c
+1
-1
sound/usb/mixer_quirks.c
sound/usb/mixer_quirks.c
+13
-2
sound/usb/pcm.c
sound/usb/pcm.c
+3
-1
未找到文件。
sound/pci/asihpi/hpi6000.c
浏览文件 @
e6d06e08
...
...
@@ -625,6 +625,8 @@ static short create_adapter_obj(struct hpi_adapter_obj *pao,
control_cache_size
,
(
struct
hpi_control_cache_info
*
)
&
phw
->
control_cache
[
0
]
);
if
(
!
phw
->
p_cache
)
pao
->
has_control_cache
=
0
;
}
else
pao
->
has_control_cache
=
0
;
...
...
sound/pci/asihpi/hpi6205.c
浏览文件 @
e6d06e08
...
...
@@ -644,6 +644,8 @@ static u16 create_adapter_obj(struct hpi_adapter_obj *pao,
interface
->
control_cache
.
size_in_bytes
,
(
struct
hpi_control_cache_info
*
)
p_control_cache_virtual
);
if
(
!
phw
->
p_cache
)
err
=
HPI_ERROR_MEMORY_ALLOC
;
}
if
(
!
err
)
{
err
=
hpios_locked_mem_get_phys_addr
(
&
phw
->
...
...
sound/pci/asihpi/hpicmn.c
浏览文件 @
e6d06e08
...
...
@@ -571,14 +571,20 @@ struct hpi_control_cache *hpi_alloc_control_cache(const u32
{
struct
hpi_control_cache
*
p_cache
=
kmalloc
(
sizeof
(
*
p_cache
),
GFP_KERNEL
);
if
(
!
p_cache
)
return
NULL
;
p_cache
->
p_info
=
kmalloc
(
sizeof
(
*
p_cache
->
p_info
)
*
number_of_controls
,
GFP_KERNEL
);
if
(
!
p_cache
->
p_info
)
{
kfree
(
p_cache
);
return
NULL
;
}
p_cache
->
cache_size_in_bytes
=
size_in_bytes
;
p_cache
->
control_count
=
number_of_controls
;
p_cache
->
p_cache
=
(
struct
hpi_control_cache_single
*
)
pDSP_control_buffer
;
p_cache
->
init
=
0
;
p_cache
->
p_info
=
kmalloc
(
sizeof
(
*
p_cache
->
p_info
)
*
p_cache
->
control_count
,
GFP_KERNEL
);
return
p_cache
;
}
...
...
sound/pci/cs46xx/dsp_spos.c
浏览文件 @
e6d06e08
...
...
@@ -225,39 +225,25 @@ struct dsp_spos_instance *cs46xx_dsp_spos_create (struct snd_cs46xx * chip)
{
struct
dsp_spos_instance
*
ins
=
kzalloc
(
sizeof
(
struct
dsp_spos_instance
),
GFP_KERNEL
);
if
(
ins
==
NULL
)
if
(
ins
==
NULL
)
return
NULL
;
/* better to use vmalloc for this big table */
ins
->
symbol_table
.
nsymbols
=
0
;
ins
->
symbol_table
.
symbols
=
vmalloc
(
sizeof
(
struct
dsp_symbol_entry
)
*
DSP_MAX_SYMBOLS
);
ins
->
symbol_table
.
highest_frag_index
=
0
;
if
(
ins
->
symbol_table
.
symbols
==
NULL
)
{
ins
->
code
.
data
=
kmalloc
(
DSP_CODE_BYTE_SIZE
,
GFP_KERNEL
)
;
ins
->
modules
=
kmalloc
(
sizeof
(
struct
dsp_module_desc
)
*
DSP_MAX_MODULES
,
GFP_KERNEL
);
if
(
!
ins
->
symbol_table
.
symbols
||
!
ins
->
code
.
data
||
!
ins
->
modules
)
{
cs46xx_dsp_spos_destroy
(
chip
);
goto
error
;
}
ins
->
symbol_table
.
nsymbols
=
0
;
ins
->
symbol_table
.
highest_frag_index
=
0
;
ins
->
code
.
offset
=
0
;
ins
->
code
.
size
=
0
;
ins
->
code
.
data
=
kmalloc
(
DSP_CODE_BYTE_SIZE
,
GFP_KERNEL
);
if
(
ins
->
code
.
data
==
NULL
)
{
cs46xx_dsp_spos_destroy
(
chip
);
goto
error
;
}
ins
->
nscb
=
0
;
ins
->
ntask
=
0
;
ins
->
nmodules
=
0
;
ins
->
modules
=
kmalloc
(
sizeof
(
struct
dsp_module_desc
)
*
DSP_MAX_MODULES
,
GFP_KERNEL
);
if
(
ins
->
modules
==
NULL
)
{
cs46xx_dsp_spos_destroy
(
chip
);
goto
error
;
}
/* default SPDIF input sample rate
to 48000 khz */
...
...
@@ -271,8 +257,8 @@ struct dsp_spos_instance *cs46xx_dsp_spos_create (struct snd_cs46xx * chip)
/* set left and right validity bits and
default channel status */
ins
->
spdif_csuv_default
=
ins
->
spdif_csuv_stream
=
ins
->
spdif_csuv_default
=
ins
->
spdif_csuv_stream
=
/* byte 0 */
((
unsigned
int
)
_wrap_all_bits
(
(
SNDRV_PCM_DEFAULT_CON_SPDIF
&
0xff
))
<<
24
)
|
/* byte 1 */
((
unsigned
int
)
_wrap_all_bits
(
((
SNDRV_PCM_DEFAULT_CON_SPDIF
>>
8
)
&
0xff
))
<<
16
)
|
/* byte 3 */
(
unsigned
int
)
_wrap_all_bits
(
(
SNDRV_PCM_DEFAULT_CON_SPDIF
>>
24
)
&
0xff
)
|
...
...
@@ -281,6 +267,9 @@ struct dsp_spos_instance *cs46xx_dsp_spos_create (struct snd_cs46xx * chip)
return
ins
;
error:
kfree
(
ins
->
modules
);
kfree
(
ins
->
code
.
data
);
vfree
(
ins
->
symbol_table
.
symbols
);
kfree
(
ins
);
return
NULL
;
}
...
...
sound/pci/hda/patch_cirrus.c
浏览文件 @
e6d06e08
...
...
@@ -1166,6 +1166,7 @@ static const char *cs420x_models[CS420X_MODELS] = {
static
struct
snd_pci_quirk
cs420x_cfg_tbl
[]
=
{
SND_PCI_QUIRK
(
0x10de
,
0x0ac0
,
"MacBookPro 5,3"
,
CS420X_MBP53
),
SND_PCI_QUIRK
(
0x10de
,
0x0d94
,
"MacBookAir 3,1(2)"
,
CS420X_MBP55
),
SND_PCI_QUIRK
(
0x10de
,
0xcb79
,
"MacBookPro 5,5"
,
CS420X_MBP55
),
SND_PCI_QUIRK
(
0x10de
,
0xcb89
,
"MacBookPro 7,1"
,
CS420X_MBP55
),
SND_PCI_QUIRK
(
0x8086
,
0x7270
,
"IMac 27 Inch"
,
CS420X_IMAC27
),
...
...
sound/pci/lx6464es/lx6464es.c
浏览文件 @
e6d06e08
...
...
@@ -425,7 +425,7 @@ static int lx_pcm_hw_free(struct snd_pcm_substream *substream)
static
void
lx_trigger_start
(
struct
lx6464es
*
chip
,
struct
lx_stream
*
lx_stream
)
{
struct
snd_pcm_substream
*
substream
=
lx_stream
->
stream
;
const
int
is_capture
=
lx_stream
->
is_capture
;
const
unsigned
int
is_capture
=
lx_stream
->
is_capture
;
int
err
;
...
...
@@ -473,7 +473,7 @@ static void lx_trigger_start(struct lx6464es *chip, struct lx_stream *lx_stream)
static
void
lx_trigger_stop
(
struct
lx6464es
*
chip
,
struct
lx_stream
*
lx_stream
)
{
const
int
is_capture
=
lx_stream
->
is_capture
;
const
unsigned
int
is_capture
=
lx_stream
->
is_capture
;
int
err
;
snd_printd
(
LXP
"stopping: stopping stream
\n
"
);
...
...
sound/pci/lx6464es/lx6464es.h
浏览文件 @
e6d06e08
...
...
@@ -60,7 +60,7 @@ struct lx_stream {
snd_pcm_uframes_t
frame_pos
;
enum
lx_stream_status
status
;
/* free, open, running, draining
* pause */
int
is_capture
:
1
;
unsigned
int
is_capture
:
1
;
};
...
...
sound/pci/lx6464es/lx_core.c
浏览文件 @
e6d06e08
...
...
@@ -1152,7 +1152,7 @@ static int lx_interrupt_request_new_buffer(struct lx6464es *chip,
struct
lx_stream
*
lx_stream
)
{
struct
snd_pcm_substream
*
substream
=
lx_stream
->
stream
;
int
is_capture
=
lx_stream
->
is_capture
;
const
unsigned
int
is_capture
=
lx_stream
->
is_capture
;
int
err
;
unsigned
long
flags
;
...
...
sound/usb/mixer_quirks.c
浏览文件 @
e6d06e08
...
...
@@ -60,7 +60,7 @@ static const struct rc_config {
{
USB_ID
(
0x041e
,
0x3000
),
0
,
1
,
2
,
1
,
18
,
0x0013
},
/* Extigy */
{
USB_ID
(
0x041e
,
0x3020
),
2
,
1
,
6
,
6
,
18
,
0x0013
},
/* Audigy 2 NX */
{
USB_ID
(
0x041e
,
0x3040
),
2
,
2
,
6
,
6
,
2
,
0x6e91
},
/* Live! 24-bit */
{
USB_ID
(
0x041e
,
0x3042
),
0
,
1
,
1
,
1
,
1
,
0x000d
},
/* Usb X-Fi */
{
USB_ID
(
0x041e
,
0x3042
),
0
,
1
,
1
,
1
,
1
,
0x000d
},
/* Usb X-Fi
S51
*/
{
USB_ID
(
0x041e
,
0x3048
),
2
,
2
,
6
,
6
,
2
,
0x6e91
},
/* Toshiba SB0500 */
};
...
...
@@ -183,7 +183,13 @@ static int snd_audigy2nx_led_put(struct snd_kcontrol *kcontrol, struct snd_ctl_e
if
(
value
>
1
)
return
-
EINVAL
;
changed
=
value
!=
mixer
->
audigy2nx_leds
[
index
];
err
=
snd_usb_ctl_msg
(
mixer
->
chip
->
dev
,
if
(
mixer
->
chip
->
usb_id
==
USB_ID
(
0x041e
,
0x3042
))
err
=
snd_usb_ctl_msg
(
mixer
->
chip
->
dev
,
usb_sndctrlpipe
(
mixer
->
chip
->
dev
,
0
),
0x24
,
USB_DIR_OUT
|
USB_TYPE_VENDOR
|
USB_RECIP_OTHER
,
!
value
,
0
,
NULL
,
0
,
100
);
else
err
=
snd_usb_ctl_msg
(
mixer
->
chip
->
dev
,
usb_sndctrlpipe
(
mixer
->
chip
->
dev
,
0
),
0x24
,
USB_DIR_OUT
|
USB_TYPE_VENDOR
|
USB_RECIP_OTHER
,
value
,
index
+
2
,
NULL
,
0
,
100
);
...
...
@@ -225,8 +231,12 @@ static int snd_audigy2nx_controls_create(struct usb_mixer_interface *mixer)
int
i
,
err
;
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
snd_audigy2nx_controls
);
++
i
)
{
/* USB X-Fi S51 doesn't have a CMSS LED */
if
((
mixer
->
chip
->
usb_id
==
USB_ID
(
0x041e
,
0x3042
))
&&
i
==
0
)
continue
;
if
(
i
>
1
&&
/* Live24ext has 2 LEDs only */
(
mixer
->
chip
->
usb_id
==
USB_ID
(
0x041e
,
0x3040
)
||
mixer
->
chip
->
usb_id
==
USB_ID
(
0x041e
,
0x3042
)
||
mixer
->
chip
->
usb_id
==
USB_ID
(
0x041e
,
0x3048
)))
break
;
err
=
snd_ctl_add
(
mixer
->
chip
->
card
,
...
...
@@ -365,6 +375,7 @@ int snd_usb_mixer_apply_create_quirk(struct usb_mixer_interface *mixer)
if
(
mixer
->
chip
->
usb_id
==
USB_ID
(
0x041e
,
0x3020
)
||
mixer
->
chip
->
usb_id
==
USB_ID
(
0x041e
,
0x3040
)
||
mixer
->
chip
->
usb_id
==
USB_ID
(
0x041e
,
0x3042
)
||
mixer
->
chip
->
usb_id
==
USB_ID
(
0x041e
,
0x3048
))
{
if
((
err
=
snd_audigy2nx_controls_create
(
mixer
))
<
0
)
return
err
;
...
...
sound/usb/pcm.c
浏览文件 @
e6d06e08
...
...
@@ -676,8 +676,10 @@ static int snd_usb_pcm_check_knot(struct snd_pcm_runtime *runtime,
if
(
!
needs_knot
)
return
0
;
subs
->
rate_list
.
count
=
count
;
subs
->
rate_list
.
list
=
kmalloc
(
sizeof
(
int
)
*
count
,
GFP_KERNEL
);
if
(
!
subs
->
rate_list
.
list
)
return
-
ENOMEM
;
subs
->
rate_list
.
count
=
count
;
subs
->
rate_list
.
mask
=
0
;
count
=
0
;
list_for_each_entry
(
fp
,
&
subs
->
fmt_list
,
list
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录