Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
5c5daf91
Commit
5c5daf91
authored
Mar 28, 2016
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-linus' into for-next
parents
f55532a0
6b94fb14
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
19 deletions
+55
-19
sound/core/timer.c
sound/core/timer.c
+13
-7
sound/core/timer_compat.c
sound/core/timer_compat.c
+29
-1
sound/firewire/dice/dice-stream.c
sound/firewire/dice/dice-stream.c
+4
-10
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+9
-1
No files found.
sound/core/timer.c
View file @
5c5daf91
...
@@ -1502,17 +1502,13 @@ static int snd_timer_user_ginfo(struct file *file,
...
@@ -1502,17 +1502,13 @@ static int snd_timer_user_ginfo(struct file *file,
return
err
;
return
err
;
}
}
static
int
snd_timer_user_gparams
(
struct
file
*
file
,
static
int
timer_set_gparams
(
struct
snd_timer_gparams
*
gparams
)
struct
snd_timer_gparams
__user
*
_gparams
)
{
{
struct
snd_timer_gparams
gparams
;
struct
snd_timer
*
t
;
struct
snd_timer
*
t
;
int
err
;
int
err
;
if
(
copy_from_user
(
&
gparams
,
_gparams
,
sizeof
(
gparams
)))
return
-
EFAULT
;
mutex_lock
(
&
register_mutex
);
mutex_lock
(
&
register_mutex
);
t
=
snd_timer_find
(
&
gparams
.
tid
);
t
=
snd_timer_find
(
&
gparams
->
tid
);
if
(
!
t
)
{
if
(
!
t
)
{
err
=
-
ENODEV
;
err
=
-
ENODEV
;
goto
_error
;
goto
_error
;
...
@@ -1525,12 +1521,22 @@ static int snd_timer_user_gparams(struct file *file,
...
@@ -1525,12 +1521,22 @@ static int snd_timer_user_gparams(struct file *file,
err
=
-
ENOSYS
;
err
=
-
ENOSYS
;
goto
_error
;
goto
_error
;
}
}
err
=
t
->
hw
.
set_period
(
t
,
gparams
.
period_num
,
gparams
.
period_den
);
err
=
t
->
hw
.
set_period
(
t
,
gparams
->
period_num
,
gparams
->
period_den
);
_error:
_error:
mutex_unlock
(
&
register_mutex
);
mutex_unlock
(
&
register_mutex
);
return
err
;
return
err
;
}
}
static
int
snd_timer_user_gparams
(
struct
file
*
file
,
struct
snd_timer_gparams
__user
*
_gparams
)
{
struct
snd_timer_gparams
gparams
;
if
(
copy_from_user
(
&
gparams
,
_gparams
,
sizeof
(
gparams
)))
return
-
EFAULT
;
return
timer_set_gparams
(
&
gparams
);
}
static
int
snd_timer_user_gstatus
(
struct
file
*
file
,
static
int
snd_timer_user_gstatus
(
struct
file
*
file
,
struct
snd_timer_gstatus
__user
*
_gstatus
)
struct
snd_timer_gstatus
__user
*
_gstatus
)
{
{
...
...
sound/core/timer_compat.c
View file @
5c5daf91
...
@@ -22,6 +22,19 @@
...
@@ -22,6 +22,19 @@
#include <linux/compat.h>
#include <linux/compat.h>
/*
* ILP32/LP64 has different size for 'long' type. Additionally, the size
* of storage alignment differs depending on architectures. Here, '__packed'
* qualifier is used so that the size of this structure is multiple of 4 and
* it fits to any architectures with 32 bit storage alignment.
*/
struct
snd_timer_gparams32
{
struct
snd_timer_id
tid
;
u32
period_num
;
u32
period_den
;
unsigned
char
reserved
[
32
];
}
__packed
;
struct
snd_timer_info32
{
struct
snd_timer_info32
{
u32
flags
;
u32
flags
;
s32
card
;
s32
card
;
...
@@ -32,6 +45,19 @@ struct snd_timer_info32 {
...
@@ -32,6 +45,19 @@ struct snd_timer_info32 {
unsigned
char
reserved
[
64
];
unsigned
char
reserved
[
64
];
};
};
static
int
snd_timer_user_gparams_compat
(
struct
file
*
file
,
struct
snd_timer_gparams32
__user
*
user
)
{
struct
snd_timer_gparams
gparams
;
if
(
copy_from_user
(
&
gparams
.
tid
,
&
user
->
tid
,
sizeof
(
gparams
.
tid
))
||
get_user
(
gparams
.
period_num
,
&
user
->
period_num
)
||
get_user
(
gparams
.
period_den
,
&
user
->
period_den
))
return
-
EFAULT
;
return
timer_set_gparams
(
&
gparams
);
}
static
int
snd_timer_user_info_compat
(
struct
file
*
file
,
static
int
snd_timer_user_info_compat
(
struct
file
*
file
,
struct
snd_timer_info32
__user
*
_info
)
struct
snd_timer_info32
__user
*
_info
)
{
{
...
@@ -99,6 +125,7 @@ static int snd_timer_user_status_compat(struct file *file,
...
@@ -99,6 +125,7 @@ static int snd_timer_user_status_compat(struct file *file,
*/
*/
enum
{
enum
{
SNDRV_TIMER_IOCTL_GPARAMS32
=
_IOW
(
'T'
,
0x04
,
struct
snd_timer_gparams32
),
SNDRV_TIMER_IOCTL_INFO32
=
_IOR
(
'T'
,
0x11
,
struct
snd_timer_info32
),
SNDRV_TIMER_IOCTL_INFO32
=
_IOR
(
'T'
,
0x11
,
struct
snd_timer_info32
),
SNDRV_TIMER_IOCTL_STATUS32
=
_IOW
(
'T'
,
0x14
,
struct
snd_timer_status32
),
SNDRV_TIMER_IOCTL_STATUS32
=
_IOW
(
'T'
,
0x14
,
struct
snd_timer_status32
),
#ifdef CONFIG_X86_X32
#ifdef CONFIG_X86_X32
...
@@ -114,7 +141,6 @@ static long snd_timer_user_ioctl_compat(struct file *file, unsigned int cmd, uns
...
@@ -114,7 +141,6 @@ static long snd_timer_user_ioctl_compat(struct file *file, unsigned int cmd, uns
case
SNDRV_TIMER_IOCTL_PVERSION
:
case
SNDRV_TIMER_IOCTL_PVERSION
:
case
SNDRV_TIMER_IOCTL_TREAD
:
case
SNDRV_TIMER_IOCTL_TREAD
:
case
SNDRV_TIMER_IOCTL_GINFO
:
case
SNDRV_TIMER_IOCTL_GINFO
:
case
SNDRV_TIMER_IOCTL_GPARAMS
:
case
SNDRV_TIMER_IOCTL_GSTATUS
:
case
SNDRV_TIMER_IOCTL_GSTATUS
:
case
SNDRV_TIMER_IOCTL_SELECT
:
case
SNDRV_TIMER_IOCTL_SELECT
:
case
SNDRV_TIMER_IOCTL_PARAMS
:
case
SNDRV_TIMER_IOCTL_PARAMS
:
...
@@ -128,6 +154,8 @@ static long snd_timer_user_ioctl_compat(struct file *file, unsigned int cmd, uns
...
@@ -128,6 +154,8 @@ static long snd_timer_user_ioctl_compat(struct file *file, unsigned int cmd, uns
case
SNDRV_TIMER_IOCTL_PAUSE_OLD
:
case
SNDRV_TIMER_IOCTL_PAUSE_OLD
:
case
SNDRV_TIMER_IOCTL_NEXT_DEVICE
:
case
SNDRV_TIMER_IOCTL_NEXT_DEVICE
:
return
snd_timer_user_ioctl
(
file
,
cmd
,
(
unsigned
long
)
argp
);
return
snd_timer_user_ioctl
(
file
,
cmd
,
(
unsigned
long
)
argp
);
case
SNDRV_TIMER_IOCTL_GPARAMS32
:
return
snd_timer_user_gparams_compat
(
file
,
argp
);
case
SNDRV_TIMER_IOCTL_INFO32
:
case
SNDRV_TIMER_IOCTL_INFO32
:
return
snd_timer_user_info_compat
(
file
,
argp
);
return
snd_timer_user_info_compat
(
file
,
argp
);
case
SNDRV_TIMER_IOCTL_STATUS32
:
case
SNDRV_TIMER_IOCTL_STATUS32
:
...
...
sound/firewire/dice/dice-stream.c
View file @
5c5daf91
...
@@ -446,18 +446,12 @@ int snd_dice_stream_init_duplex(struct snd_dice *dice)
...
@@ -446,18 +446,12 @@ int snd_dice_stream_init_duplex(struct snd_dice *dice)
void
snd_dice_stream_destroy_duplex
(
struct
snd_dice
*
dice
)
void
snd_dice_stream_destroy_duplex
(
struct
snd_dice
*
dice
)
{
{
struct
reg_params
tx_params
,
rx_params
;
unsigned
int
i
;
snd_dice_transaction_clear_enable
(
dice
);
if
(
get_register_params
(
dice
,
&
tx_params
,
&
rx_params
)
==
0
)
{
for
(
i
=
0
;
i
<
MAX_STREAMS
;
i
++
)
{
stop_streams
(
dice
,
AMDTP_IN_STREAM
,
&
tx_params
);
destroy_stream
(
dice
,
AMDTP_IN_STREAM
,
i
);
stop_streams
(
dice
,
AMDTP_OUT_STREAM
,
&
rx_params
);
destroy_stream
(
dice
,
AMDTP_OUT_STREAM
,
i
);
}
}
release_resources
(
dice
);
dice
->
substreams_counter
=
0
;
}
}
void
snd_dice_stream_update_duplex
(
struct
snd_dice
*
dice
)
void
snd_dice_stream_update_duplex
(
struct
snd_dice
*
dice
)
...
...
sound/pci/hda/patch_realtek.c
View file @
5c5daf91
...
@@ -6406,6 +6406,7 @@ enum {
...
@@ -6406,6 +6406,7 @@ enum {
ALC668_FIXUP_AUTO_MUTE
,
ALC668_FIXUP_AUTO_MUTE
,
ALC668_FIXUP_DELL_DISABLE_AAMIX
,
ALC668_FIXUP_DELL_DISABLE_AAMIX
,
ALC668_FIXUP_DELL_XPS13
,
ALC668_FIXUP_DELL_XPS13
,
ALC662_FIXUP_ASUS_Nx50
,
};
};
static
const
struct
hda_fixup
alc662_fixups
[]
=
{
static
const
struct
hda_fixup
alc662_fixups
[]
=
{
...
@@ -6646,6 +6647,12 @@ static const struct hda_fixup alc662_fixups[] = {
...
@@ -6646,6 +6647,12 @@ static const struct hda_fixup alc662_fixups[] = {
.
type
=
HDA_FIXUP_FUNC
,
.
type
=
HDA_FIXUP_FUNC
,
.
v
.
func
=
alc_fixup_bass_chmap
,
.
v
.
func
=
alc_fixup_bass_chmap
,
},
},
[
ALC662_FIXUP_ASUS_Nx50
]
=
{
.
type
=
HDA_FIXUP_FUNC
,
.
v
.
func
=
alc_fixup_auto_mute_via_amp
,
.
chained
=
true
,
.
chain_id
=
ALC662_FIXUP_BASS_1A
},
};
};
static
const
struct
snd_pci_quirk
alc662_fixup_tbl
[]
=
{
static
const
struct
snd_pci_quirk
alc662_fixup_tbl
[]
=
{
...
@@ -6668,8 +6675,9 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = {
...
@@ -6668,8 +6675,9 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = {
SND_PCI_QUIRK
(
0x1028
,
0x0698
,
"Dell"
,
ALC668_FIXUP_DELL_MIC_NO_PRESENCE
),
SND_PCI_QUIRK
(
0x1028
,
0x0698
,
"Dell"
,
ALC668_FIXUP_DELL_MIC_NO_PRESENCE
),
SND_PCI_QUIRK
(
0x1028
,
0x069f
,
"Dell"
,
ALC668_FIXUP_DELL_MIC_NO_PRESENCE
),
SND_PCI_QUIRK
(
0x1028
,
0x069f
,
"Dell"
,
ALC668_FIXUP_DELL_MIC_NO_PRESENCE
),
SND_PCI_QUIRK
(
0x103c
,
0x1632
,
"HP RP5800"
,
ALC662_FIXUP_HP_RP5800
),
SND_PCI_QUIRK
(
0x103c
,
0x1632
,
"HP RP5800"
,
ALC662_FIXUP_HP_RP5800
),
SND_PCI_QUIRK
(
0x1043
,
0x11cd
,
"Asus N550"
,
ALC662_FIXUP_
BASS_1A
),
SND_PCI_QUIRK
(
0x1043
,
0x11cd
,
"Asus N550"
,
ALC662_FIXUP_
ASUS_Nx50
),
SND_PCI_QUIRK
(
0x1043
,
0x13df
,
"Asus N550JX"
,
ALC662_FIXUP_BASS_1A
),
SND_PCI_QUIRK
(
0x1043
,
0x13df
,
"Asus N550JX"
,
ALC662_FIXUP_BASS_1A
),
SND_PCI_QUIRK
(
0x1043
,
0x129d
,
"Asus N750"
,
ALC662_FIXUP_ASUS_Nx50
),
SND_PCI_QUIRK
(
0x1043
,
0x1477
,
"ASUS N56VZ"
,
ALC662_FIXUP_BASS_MODE4_CHMAP
),
SND_PCI_QUIRK
(
0x1043
,
0x1477
,
"ASUS N56VZ"
,
ALC662_FIXUP_BASS_MODE4_CHMAP
),
SND_PCI_QUIRK
(
0x1043
,
0x15a7
,
"ASUS UX51VZH"
,
ALC662_FIXUP_BASS_16
),
SND_PCI_QUIRK
(
0x1043
,
0x15a7
,
"ASUS UX51VZH"
,
ALC662_FIXUP_BASS_16
),
SND_PCI_QUIRK
(
0x1043
,
0x1b73
,
"ASUS N55SF"
,
ALC662_FIXUP_BASS_16
),
SND_PCI_QUIRK
(
0x1043
,
0x1b73
,
"ASUS N55SF"
,
ALC662_FIXUP_BASS_16
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment