Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
9b88daa5
cloud-kernel
项目概览
openanolis
/
cloud-kernel
接近 2 年 前同步成功
通知
170
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看板
提交
9b88daa5
编写于
2月 09, 2016
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-linus' into for-next
上级
dfabc0ee
397da2d0
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
52 addition
and
47 deletion
+52
-47
sound/core/timer.c
sound/core/timer.c
+20
-20
sound/firewire/digi00x/amdtp-dot.c
sound/firewire/digi00x/amdtp-dot.c
+1
-1
sound/firewire/tascam/tascam-transaction.c
sound/firewire/tascam/tascam-transaction.c
+6
-0
sound/firewire/tascam/tascam.c
sound/firewire/tascam/tascam.c
+9
-3
sound/firewire/tascam/tascam.h
sound/firewire/tascam/tascam.h
+0
-4
sound/pci/hda/hda_generic.c
sound/pci/hda/hda_generic.c
+2
-2
sound/pci/hda/hda_jack.c
sound/pci/hda/hda_jack.c
+1
-1
sound/pci/hda/hda_jack.h
sound/pci/hda/hda_jack.h
+1
-1
sound/pci/hda/patch_ca0132.c
sound/pci/hda/patch_ca0132.c
+4
-1
sound/pci/hda/patch_hdmi.c
sound/pci/hda/patch_hdmi.c
+3
-2
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+2
-9
sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c
+3
-3
未找到文件。
sound/core/timer.c
浏览文件 @
9b88daa5
...
...
@@ -422,7 +422,7 @@ static void snd_timer_notify1(struct snd_timer_instance *ti, int event)
spin_lock_irqsave
(
&
timer
->
lock
,
flags
);
list_for_each_entry
(
ts
,
&
ti
->
slave_active_head
,
active_list
)
if
(
ts
->
ccallback
)
ts
->
ccallback
(
t
i
,
event
+
100
,
&
tstamp
,
resolution
);
ts
->
ccallback
(
t
s
,
event
+
100
,
&
tstamp
,
resolution
);
spin_unlock_irqrestore
(
&
timer
->
lock
,
flags
);
}
...
...
@@ -518,9 +518,13 @@ static int _snd_timer_stop(struct snd_timer_instance *timeri, int event)
spin_unlock_irqrestore
(
&
slave_active_lock
,
flags
);
return
-
EBUSY
;
}
if
(
timeri
->
timer
)
spin_lock
(
&
timeri
->
timer
->
lock
);
timeri
->
flags
&=
~
SNDRV_TIMER_IFLG_RUNNING
;
list_del_init
(
&
timeri
->
ack_list
);
list_del_init
(
&
timeri
->
active_list
);
if
(
timeri
->
timer
)
spin_unlock
(
&
timeri
->
timer
->
lock
);
spin_unlock_irqrestore
(
&
slave_active_lock
,
flags
);
goto
__end
;
}
...
...
@@ -1929,6 +1933,7 @@ static ssize_t snd_timer_user_read(struct file *file, char __user *buffer,
{
struct
snd_timer_user
*
tu
;
long
result
=
0
,
unit
;
int
qhead
;
int
err
=
0
;
tu
=
file
->
private_data
;
...
...
@@ -1940,7 +1945,7 @@ static ssize_t snd_timer_user_read(struct file *file, char __user *buffer,
if
((
file
->
f_flags
&
O_NONBLOCK
)
!=
0
||
result
>
0
)
{
err
=
-
EAGAIN
;
break
;
goto
_error
;
}
set_current_state
(
TASK_INTERRUPTIBLE
);
...
...
@@ -1955,42 +1960,37 @@ static ssize_t snd_timer_user_read(struct file *file, char __user *buffer,
if
(
tu
->
disconnected
)
{
err
=
-
ENODEV
;
break
;
goto
_error
;
}
if
(
signal_pending
(
current
))
{
err
=
-
ERESTARTSYS
;
break
;
goto
_error
;
}
}
qhead
=
tu
->
qhead
++
;
tu
->
qhead
%=
tu
->
queue_size
;
spin_unlock_irq
(
&
tu
->
qlock
);
if
(
err
<
0
)
goto
_error
;
if
(
tu
->
tread
)
{
if
(
copy_to_user
(
buffer
,
&
tu
->
tqueue
[
tu
->
qhead
++
],
sizeof
(
struct
snd_timer_tread
)))
{
if
(
copy_to_user
(
buffer
,
&
tu
->
tqueue
[
qhead
],
sizeof
(
struct
snd_timer_tread
)))
err
=
-
EFAULT
;
goto
_error
;
}
}
else
{
if
(
copy_to_user
(
buffer
,
&
tu
->
queue
[
tu
->
qhead
++
],
sizeof
(
struct
snd_timer_read
)))
{
if
(
copy_to_user
(
buffer
,
&
tu
->
queue
[
qhead
],
sizeof
(
struct
snd_timer_read
)))
err
=
-
EFAULT
;
goto
_error
;
}
}
tu
->
qhead
%=
tu
->
queue_size
;
result
+=
unit
;
buffer
+=
unit
;
spin_lock_irq
(
&
tu
->
qlock
);
tu
->
qused
--
;
if
(
err
<
0
)
goto
_error
;
result
+=
unit
;
buffer
+=
unit
;
}
spin_unlock_irq
(
&
tu
->
qlock
);
_error:
spin_unlock_irq
(
&
tu
->
qlock
);
return
result
>
0
?
result
:
err
;
}
...
...
sound/firewire/digi00x/amdtp-dot.c
浏览文件 @
9b88daa5
...
...
@@ -63,7 +63,7 @@ struct amdtp_dot {
#define BYTE_PER_SAMPLE (4)
#define MAGIC_DOT_BYTE (2)
#define MAGIC_BYTE_OFF(x) (((x) * BYTE_PER_SAMPLE) + MAGIC_DOT_BYTE)
static
const
u8
dot_scrt
(
const
u8
idx
,
const
unsigned
int
off
)
static
u8
dot_scrt
(
const
u8
idx
,
const
unsigned
int
off
)
{
/*
* the length of the added pattern only depends on the lower nibble
...
...
sound/firewire/tascam/tascam-transaction.c
浏览文件 @
9b88daa5
...
...
@@ -230,6 +230,7 @@ int snd_tscm_transaction_register(struct snd_tscm *tscm)
return
err
;
error:
fw_core_remove_address_handler
(
&
tscm
->
async_handler
);
tscm
->
async_handler
.
callback_data
=
NULL
;
return
err
;
}
...
...
@@ -276,6 +277,9 @@ void snd_tscm_transaction_unregister(struct snd_tscm *tscm)
__be32
reg
;
unsigned
int
i
;
if
(
tscm
->
async_handler
.
callback_data
==
NULL
)
return
;
/* Turn off FireWire LED. */
reg
=
cpu_to_be32
(
0x0000008e
);
snd_fw_transaction
(
tscm
->
unit
,
TCODE_WRITE_QUADLET_REQUEST
,
...
...
@@ -297,6 +301,8 @@ void snd_tscm_transaction_unregister(struct snd_tscm *tscm)
&
reg
,
sizeof
(
reg
),
0
);
fw_core_remove_address_handler
(
&
tscm
->
async_handler
);
tscm
->
async_handler
.
callback_data
=
NULL
;
for
(
i
=
0
;
i
<
TSCM_MIDI_OUT_PORT_MAX
;
i
++
)
snd_fw_async_midi_port_destroy
(
&
tscm
->
out_ports
[
i
]);
}
sound/firewire/tascam/tascam.c
浏览文件 @
9b88daa5
...
...
@@ -21,7 +21,6 @@ static struct snd_tscm_spec model_specs[] = {
.
pcm_playback_analog_channels
=
8
,
.
midi_capture_ports
=
4
,
.
midi_playback_ports
=
4
,
.
is_controller
=
true
,
},
{
.
name
=
"FW-1082"
,
...
...
@@ -31,9 +30,16 @@ static struct snd_tscm_spec model_specs[] = {
.
pcm_playback_analog_channels
=
2
,
.
midi_capture_ports
=
2
,
.
midi_playback_ports
=
2
,
.
is_controller
=
true
,
},
/* FW-1804 may be supported. */
{
.
name
=
"FW-1804"
,
.
has_adat
=
true
,
.
has_spdif
=
true
,
.
pcm_capture_analog_channels
=
8
,
.
pcm_playback_analog_channels
=
2
,
.
midi_capture_ports
=
2
,
.
midi_playback_ports
=
4
,
},
};
static
int
identify_model
(
struct
snd_tscm
*
tscm
)
...
...
sound/firewire/tascam/tascam.h
浏览文件 @
9b88daa5
...
...
@@ -39,7 +39,6 @@ struct snd_tscm_spec {
unsigned
int
pcm_playback_analog_channels
;
unsigned
int
midi_capture_ports
;
unsigned
int
midi_playback_ports
;
bool
is_controller
;
};
#define TSCM_MIDI_IN_PORT_MAX 4
...
...
@@ -72,9 +71,6 @@ struct snd_tscm {
struct
snd_fw_async_midi_port
out_ports
[
TSCM_MIDI_OUT_PORT_MAX
];
u8
running_status
[
TSCM_MIDI_OUT_PORT_MAX
];
bool
on_sysex
[
TSCM_MIDI_OUT_PORT_MAX
];
/* For control messages. */
struct
snd_firewire_tascam_status
*
status
;
};
#define TSCM_ADDR_BASE 0xffff00000000ull
...
...
sound/pci/hda/hda_generic.c
浏览文件 @
9b88daa5
...
...
@@ -4028,9 +4028,9 @@ static void pin_power_callback(struct hda_codec *codec,
struct
hda_jack_callback
*
jack
,
bool
on
)
{
if
(
jack
&&
jack
->
tbl
->
nid
)
if
(
jack
&&
jack
->
nid
)
sync_power_state_change
(
codec
,
set_pin_power_jack
(
codec
,
jack
->
tbl
->
nid
,
on
));
set_pin_power_jack
(
codec
,
jack
->
nid
,
on
));
}
/* callback only doing power up -- called at first */
...
...
sound/pci/hda/hda_jack.c
浏览文件 @
9b88daa5
...
...
@@ -259,7 +259,7 @@ snd_hda_jack_detect_enable_callback(struct hda_codec *codec, hda_nid_t nid,
if
(
!
callback
)
return
ERR_PTR
(
-
ENOMEM
);
callback
->
func
=
func
;
callback
->
tbl
=
jack
;
callback
->
nid
=
jack
->
nid
;
callback
->
next
=
jack
->
callback
;
jack
->
callback
=
callback
;
}
...
...
sound/pci/hda/hda_jack.h
浏览文件 @
9b88daa5
...
...
@@ -21,7 +21,7 @@ struct hda_jack_callback;
typedef
void
(
*
hda_jack_callback_fn
)
(
struct
hda_codec
*
,
struct
hda_jack_callback
*
);
struct
hda_jack_callback
{
struct
hda_jack_tbl
*
tbl
;
hda_nid_t
nid
;
hda_jack_callback_fn
func
;
unsigned
int
private_data
;
/* arbitrary data */
struct
hda_jack_callback
*
next
;
...
...
sound/pci/hda/patch_ca0132.c
浏览文件 @
9b88daa5
...
...
@@ -4427,13 +4427,16 @@ static void ca0132_process_dsp_response(struct hda_codec *codec,
static
void
hp_callback
(
struct
hda_codec
*
codec
,
struct
hda_jack_callback
*
cb
)
{
struct
ca0132_spec
*
spec
=
codec
->
spec
;
struct
hda_jack_tbl
*
tbl
;
/* Delay enabling the HP amp, to let the mic-detection
* state machine run.
*/
cancel_delayed_work_sync
(
&
spec
->
unsol_hp_work
);
schedule_delayed_work
(
&
spec
->
unsol_hp_work
,
msecs_to_jiffies
(
500
));
cb
->
tbl
->
block_report
=
1
;
tbl
=
snd_hda_jack_tbl_get
(
codec
,
cb
->
nid
);
if
(
tbl
)
tbl
->
block_report
=
1
;
}
static
void
amic_callback
(
struct
hda_codec
*
codec
,
struct
hda_jack_callback
*
cb
)
...
...
sound/pci/hda/patch_hdmi.c
浏览文件 @
9b88daa5
...
...
@@ -448,7 +448,8 @@ static int hdmi_eld_ctl_get(struct snd_kcontrol *kcontrol,
eld
=
&
per_pin
->
sink_eld
;
mutex_lock
(
&
per_pin
->
lock
);
if
(
eld
->
eld_size
>
ARRAY_SIZE
(
ucontrol
->
value
.
bytes
.
data
))
{
if
(
eld
->
eld_size
>
ARRAY_SIZE
(
ucontrol
->
value
.
bytes
.
data
)
||
eld
->
eld_size
>
ELD_MAX_SIZE
)
{
mutex_unlock
(
&
per_pin
->
lock
);
snd_BUG
();
return
-
EINVAL
;
...
...
@@ -1193,7 +1194,7 @@ static void check_presence_and_report(struct hda_codec *codec, hda_nid_t nid)
static
void
jack_callback
(
struct
hda_codec
*
codec
,
struct
hda_jack_callback
*
jack
)
{
check_presence_and_report
(
codec
,
jack
->
tbl
->
nid
);
check_presence_and_report
(
codec
,
jack
->
nid
);
}
static
void
hdmi_intrinsic_event
(
struct
hda_codec
*
codec
,
unsigned
int
res
)
...
...
sound/pci/hda/patch_realtek.c
浏览文件 @
9b88daa5
...
...
@@ -282,7 +282,7 @@ static void alc_update_knob_master(struct hda_codec *codec,
uctl
=
kzalloc
(
sizeof
(
*
uctl
),
GFP_KERNEL
);
if
(
!
uctl
)
return
;
val
=
snd_hda_codec_read
(
codec
,
jack
->
tbl
->
nid
,
0
,
val
=
snd_hda_codec_read
(
codec
,
jack
->
nid
,
0
,
AC_VERB_GET_VOLUME_KNOB_CONTROL
,
0
);
val
&=
HDA_AMP_VOLMASK
;
uctl
->
value
.
integer
.
value
[
0
]
=
val
;
...
...
@@ -1787,7 +1787,6 @@ enum {
ALC882_FIXUP_NO_PRIMARY_HP
,
ALC887_FIXUP_ASUS_BASS
,
ALC887_FIXUP_BASS_CHMAP
,
ALC882_FIXUP_DISABLE_AAMIX
,
};
static
void
alc889_fixup_coef
(
struct
hda_codec
*
codec
,
...
...
@@ -1949,8 +1948,6 @@ static void alc882_fixup_no_primary_hp(struct hda_codec *codec,
static
void
alc_fixup_bass_chmap
(
struct
hda_codec
*
codec
,
const
struct
hda_fixup
*
fix
,
int
action
);
static
void
alc_fixup_disable_aamix
(
struct
hda_codec
*
codec
,
const
struct
hda_fixup
*
fix
,
int
action
);
static
const
struct
hda_fixup
alc882_fixups
[]
=
{
[
ALC882_FIXUP_ABIT_AW9D_MAX
]
=
{
...
...
@@ -2188,10 +2185,6 @@ static const struct hda_fixup alc882_fixups[] = {
.
type
=
HDA_FIXUP_FUNC
,
.
v
.
func
=
alc_fixup_bass_chmap
,
},
[
ALC882_FIXUP_DISABLE_AAMIX
]
=
{
.
type
=
HDA_FIXUP_FUNC
,
.
v
.
func
=
alc_fixup_disable_aamix
,
},
};
static
const
struct
snd_pci_quirk
alc882_fixup_tbl
[]
=
{
...
...
@@ -2230,6 +2223,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
SND_PCI_QUIRK
(
0x104d
,
0x9047
,
"Sony Vaio TT"
,
ALC889_FIXUP_VAIO_TT
),
SND_PCI_QUIRK
(
0x104d
,
0x905a
,
"Sony Vaio Z"
,
ALC882_FIXUP_NO_PRIMARY_HP
),
SND_PCI_QUIRK
(
0x104d
,
0x9043
,
"Sony Vaio VGC-LN51JGB"
,
ALC882_FIXUP_NO_PRIMARY_HP
),
SND_PCI_QUIRK
(
0x104d
,
0x9044
,
"Sony VAIO AiO"
,
ALC882_FIXUP_NO_PRIMARY_HP
),
/* All Apple entries are in codec SSIDs */
SND_PCI_QUIRK
(
0x106b
,
0x00a0
,
"MacBookPro 3,1"
,
ALC889_FIXUP_MBP_VREF
),
...
...
@@ -2259,7 +2253,6 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
SND_PCI_QUIRK
(
0x1462
,
0x7350
,
"MSI-7350"
,
ALC889_FIXUP_CD
),
SND_PCI_QUIRK_VENDOR
(
0x1462
,
"MSI"
,
ALC882_FIXUP_GPIO3
),
SND_PCI_QUIRK
(
0x1458
,
0xa002
,
"Gigabyte EP45-DS3/Z87X-UD3H"
,
ALC889_FIXUP_FRONT_HP_NO_PRESENCE
),
SND_PCI_QUIRK
(
0x1458
,
0xa182
,
"Gigabyte Z170X-UD3"
,
ALC882_FIXUP_DISABLE_AAMIX
),
SND_PCI_QUIRK
(
0x147b
,
0x107a
,
"Abit AW9D-MAX"
,
ALC882_FIXUP_ABIT_AW9D_MAX
),
SND_PCI_QUIRK_VENDOR
(
0x1558
,
"Clevo laptop"
,
ALC882_FIXUP_EAPD
),
SND_PCI_QUIRK
(
0x161f
,
0x2054
,
"Medion laptop"
,
ALC883_FIXUP_EAPD
),
...
...
sound/pci/hda/patch_sigmatel.c
浏览文件 @
9b88daa5
...
...
@@ -493,9 +493,9 @@ static void jack_update_power(struct hda_codec *codec,
if
(
!
spec
->
num_pwrs
)
return
;
if
(
jack
&&
jack
->
tbl
->
nid
)
{
stac_toggle_power_map
(
codec
,
jack
->
tbl
->
nid
,
snd_hda_jack_detect
(
codec
,
jack
->
tbl
->
nid
),
if
(
jack
&&
jack
->
nid
)
{
stac_toggle_power_map
(
codec
,
jack
->
nid
,
snd_hda_jack_detect
(
codec
,
jack
->
nid
),
true
);
return
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录