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
8aa19ad8
Commit
8aa19ad8
authored
Oct 08, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
parents
58a2c322
a25f175c
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
115 additions
and
53 deletions
+115
-53
include/sound/ac97_codec.h
include/sound/ac97_codec.h
+2
-0
include/sound/emu10k1.h
include/sound/emu10k1.h
+1
-1
sound/arm/pxa2xx-ac97.c
sound/arm/pxa2xx-ac97.c
+1
-1
sound/isa/opl3sa2.c
sound/isa/opl3sa2.c
+2
-0
sound/pci/ac97/ac97_bus.c
sound/pci/ac97/ac97_bus.c
+7
-16
sound/pci/ac97/ac97_codec.c
sound/pci/ac97/ac97_codec.c
+1
-2
sound/pci/ac97/ac97_patch.c
sound/pci/ac97/ac97_patch.c
+5
-1
sound/pci/ali5451/ali5451.c
sound/pci/ali5451/ali5451.c
+4
-2
sound/pci/emu10k1/emu10k1_main.c
sound/pci/emu10k1/emu10k1_main.c
+4
-1
sound/pci/emu10k1/emumixer.c
sound/pci/emu10k1/emumixer.c
+9
-2
sound/pci/hda/hda_generic.c
sound/pci/hda/hda_generic.c
+2
-4
sound/pci/hda/hda_intel.c
sound/pci/hda/hda_intel.c
+5
-0
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+5
-17
sound/pci/korg1212/korg1212.c
sound/pci/korg1212/korg1212.c
+1
-1
sound/pci/via82xx.c
sound/pci/via82xx.c
+2
-0
sound/ppc/pmac.c
sound/ppc/pmac.c
+1
-0
sound/usb/usbaudio.c
sound/usb/usbaudio.c
+4
-4
sound/usb/usbmixer_maps.c
sound/usb/usbmixer_maps.c
+10
-0
sound/usb/usbquirks.h
sound/usb/usbquirks.h
+49
-1
No files found.
include/sound/ac97_codec.h
View file @
8aa19ad8
...
...
@@ -527,6 +527,8 @@ struct _snd_ac97 {
struct
device
dev
;
};
#define to_ac97_t(d) container_of(d, struct _snd_ac97, dev)
/* conditions */
static
inline
int
ac97_is_audio
(
ac97_t
*
ac97
)
{
...
...
include/sound/emu10k1.h
View file @
8aa19ad8
...
...
@@ -1059,7 +1059,7 @@ typedef struct {
unsigned
char
spk71
;
/* Has 7.1 speakers */
unsigned
char
sblive51
;
/* SBLive! 5.1 - extout 0x11 -> center, 0x12 -> lfe */
unsigned
char
spdif_bug
;
/* Has Spdif phasing bug */
unsigned
char
ac97_chip
;
/* Has an AC97 chip */
unsigned
char
ac97_chip
;
/* Has an AC97 chip
: 1 = mandatory, 2 = optional
*/
unsigned
char
ecard
;
/* APS EEPROM */
const
char
*
driver
;
const
char
*
name
;
...
...
sound/arm/pxa2xx-ac97.c
View file @
8aa19ad8
...
...
@@ -245,7 +245,7 @@ static pxa2xx_pcm_client_t pxa2xx_ac97_pcm_client = {
#ifdef CONFIG_PM
static
int
pxa2xx_ac97_do_suspend
(
snd_card_t
*
card
,
unsigned
in
t
state
)
static
int
pxa2xx_ac97_do_suspend
(
snd_card_t
*
card
,
pm_message_
t
state
)
{
if
(
card
->
power_state
!=
SNDRV_CTL_POWER_D3cold
)
{
pxa2xx_audio_ops_t
*
platform_ops
=
card
->
dev
->
platform_data
;
...
...
sound/isa/opl3sa2.c
View file @
8aa19ad8
...
...
@@ -914,6 +914,7 @@ static int __init alsa_card_opl3sa2_init(void)
#endif
#ifdef CONFIG_PNP
pnp_unregister_card_driver
(
&
opl3sa2_pnpc_driver
);
pnp_unregister_driver
(
&
opl3sa2_pnp_driver
);
#endif
return
-
ENODEV
;
}
...
...
@@ -927,6 +928,7 @@ static void __exit alsa_card_opl3sa2_exit(void)
#ifdef CONFIG_PNP
/* PnP cards first */
pnp_unregister_card_driver
(
&
opl3sa2_pnpc_driver
);
pnp_unregister_driver
(
&
opl3sa2_pnp_driver
);
#endif
for
(
idx
=
0
;
idx
<
SNDRV_CARDS
;
idx
++
)
snd_card_free
(
snd_opl3sa2_legacy
[
idx
]);
...
...
sound/pci/ac97/ac97_bus.c
View file @
8aa19ad8
...
...
@@ -17,25 +17,21 @@
#include <linux/string.h>
/*
* Codec families have names seperated by commas, so we search for an
* individual codec name within the family string.
* Let drivers decide whether they want to support given codec from their
* probe method. Drivers have direct access to the ac97_t structure and may
* decide based on the id field amongst other things.
*/
static
int
ac97_bus_match
(
struct
device
*
dev
,
struct
device_driver
*
drv
)
{
return
(
strstr
(
dev
->
bus_id
,
drv
->
name
)
!=
NULL
)
;
return
1
;
}
static
int
ac97_bus_suspend
(
struct
device
*
dev
,
pm_message_t
state
)
{
int
ret
=
0
;
if
(
dev
->
driver
&&
dev
->
driver
->
suspend
)
{
ret
=
dev
->
driver
->
suspend
(
dev
,
state
,
SUSPEND_DISABLE
);
if
(
ret
==
0
)
ret
=
dev
->
driver
->
suspend
(
dev
,
state
,
SUSPEND_SAVE_STATE
);
if
(
ret
==
0
)
ret
=
dev
->
driver
->
suspend
(
dev
,
state
,
SUSPEND_POWER_DOWN
);
}
if
(
dev
->
driver
&&
dev
->
driver
->
suspend
)
ret
=
dev
->
driver
->
suspend
(
dev
,
state
,
SUSPEND_POWER_DOWN
);
return
ret
;
}
...
...
@@ -43,13 +39,8 @@ static int ac97_bus_resume(struct device *dev)
{
int
ret
=
0
;
if
(
dev
->
driver
&&
dev
->
driver
->
resume
)
{
if
(
dev
->
driver
&&
dev
->
driver
->
resume
)
ret
=
dev
->
driver
->
resume
(
dev
,
RESUME_POWER_ON
);
if
(
ret
==
0
)
ret
=
dev
->
driver
->
resume
(
dev
,
RESUME_RESTORE_STATE
);
if
(
ret
==
0
)
ret
=
dev
->
driver
->
resume
(
dev
,
RESUME_ENABLE
);
}
return
ret
;
}
...
...
sound/pci/ac97/ac97_codec.c
View file @
8aa19ad8
...
...
@@ -1557,7 +1557,7 @@ static int snd_ac97_modem_build(snd_card_t * card, ac97_t * ac97)
/* build modem switches */
for
(
idx
=
0
;
idx
<
ARRAY_SIZE
(
snd_ac97_controls_modem_switches
);
idx
++
)
if
((
err
=
snd_ctl_add
(
card
,
snd_
ac97_cnew
(
&
snd_ac97_controls_modem_switches
[
idx
],
ac97
)))
<
0
)
if
((
err
=
snd_ctl_add
(
card
,
snd_
ctl_new1
(
&
snd_ac97_controls_modem_switches
[
idx
],
ac97
)))
<
0
)
return
err
;
/* build chip specific controls */
...
...
@@ -1828,7 +1828,6 @@ static int snd_ac97_dev_register(snd_device_t *device)
ac97
->
dev
.
bus
=
&
ac97_bus_type
;
ac97
->
dev
.
parent
=
ac97
->
bus
->
card
->
dev
;
ac97
->
dev
.
platform_data
=
ac97
;
ac97
->
dev
.
release
=
ac97_device_release
;
snprintf
(
ac97
->
dev
.
bus_id
,
BUS_ID_SIZE
,
"card%d-%d"
,
ac97
->
bus
->
card
->
number
,
ac97
->
num
);
if
((
err
=
device_register
(
&
ac97
->
dev
))
<
0
)
{
...
...
sound/pci/ac97/ac97_patch.c
View file @
8aa19ad8
...
...
@@ -2752,7 +2752,11 @@ AC97_DOUBLE("Modem Speaker Volume", 0x5c, 14, 12, 3, 1)
static
int
patch_si3036_specific
(
ac97_t
*
ac97
)
{
return
patch_build_controls
(
ac97
,
snd_ac97_controls_si3036
,
ARRAY_SIZE
(
snd_ac97_controls_si3036
));
int
idx
,
err
;
for
(
idx
=
0
;
idx
<
ARRAY_SIZE
(
snd_ac97_controls_si3036
);
idx
++
)
if
((
err
=
snd_ctl_add
(
ac97
->
bus
->
card
,
snd_ctl_new1
(
&
snd_ac97_controls_si3036
[
idx
],
ac97
)))
<
0
)
return
err
;
return
0
;
}
static
struct
snd_ac97_build_ops
patch_si3036_ops
=
{
...
...
sound/pci/ali5451/ali5451.c
View file @
8aa19ad8
...
...
@@ -1993,8 +1993,10 @@ static int __devinit snd_ali_mixer(ali_t * codec)
if
((
err
=
snd_ac97_mixer
(
codec
->
ac97_bus
,
&
ac97
,
&
codec
->
ac97
[
i
]))
<
0
)
{
snd_printk
(
"ali mixer %d creating error.
\n
"
,
i
);
if
(
i
==
0
)
return
err
;
}
return
err
;
codec
->
num_of_codecs
=
1
;
break
;
}
}
if
(
codec
->
spdif_support
)
{
...
...
sound/pci/emu10k1/emu10k1_main.c
View file @
8aa19ad8
...
...
@@ -756,9 +756,12 @@ static emu_chip_details_t emu_chip_details[] = {
.
sblive51
=
1
}
,
/* Tested by alsa bugtrack user "hus" bug #1297 12th Aug 2005 */
{.
vendor
=
0x1102
,
.
device
=
0x0002
,
.
subsystem
=
0x80611102
,
.
driver
=
"EMU10K1"
,
.
name
=
"SBLive
! Platinum 5.1 [SB0060]"
,
.
driver
=
"EMU10K1"
,
.
name
=
"SBLive
5.1 [SB0060]"
,
.
id
=
"Live"
,
.
emu10k1_chip
=
1
,
.
ac97_chip
=
2
,
/* ac97 is optional; both SBLive 5.1 and platinum
* share the same IDs!
*/
.
sblive51
=
1
}
,
{.
vendor
=
0x1102
,
.
device
=
0x0002
,
.
subsystem
=
0x80511102
,
.
driver
=
"EMU10K1"
,
.
name
=
"SBLive! Value [CT4850]"
,
...
...
sound/pci/emu10k1/emumixer.c
View file @
8aa19ad8
...
...
@@ -810,8 +810,14 @@ int __devinit snd_emu10k1_mixer(emu10k1_t *emu,
ac97
.
private_data
=
emu
;
ac97
.
private_free
=
snd_emu10k1_mixer_free_ac97
;
ac97
.
scaps
=
AC97_SCAP_NO_SPDIF
;
if
((
err
=
snd_ac97_mixer
(
pbus
,
&
ac97
,
&
emu
->
ac97
))
<
0
)
return
err
;
if
((
err
=
snd_ac97_mixer
(
pbus
,
&
ac97
,
&
emu
->
ac97
))
<
0
)
{
if
(
emu
->
card_capabilities
->
ac97_chip
==
1
)
return
err
;
snd_printd
(
KERN_INFO
"emu10k1: AC97 is optional on this board
\n
"
);
snd_printd
(
KERN_INFO
" Proceeding without ac97 mixers...
\n
"
);
snd_device_free
(
emu
->
card
,
pbus
);
goto
no_ac97
;
/* FIXME: get rid of ugly gotos.. */
}
if
(
emu
->
audigy
)
{
/* set master volume to 0 dB */
snd_ac97_write
(
emu
->
ac97
,
AC97_MASTER
,
0x0000
);
...
...
@@ -836,6 +842,7 @@ int __devinit snd_emu10k1_mixer(emu10k1_t *emu,
for
(;
*
c
;
c
++
)
remove_ctl
(
card
,
*
c
);
}
else
{
no_ac97:
if
(
emu
->
card_capabilities
->
ecard
)
strcpy
(
emu
->
card
->
mixername
,
"EMU APS"
);
else
if
(
emu
->
audigy
)
...
...
sound/pci/hda/hda_generic.c
View file @
8aa19ad8
...
...
@@ -881,10 +881,8 @@ int snd_hda_parse_generic_codec(struct hda_codec *codec)
struct
hda_gspec
*
spec
;
int
err
;
if
(
!
codec
->
afg
)
{
snd_printdd
(
"hda_generic: no generic modem yet
\n
"
);
return
-
ENODEV
;
}
if
(
!
codec
->
afg
)
return
0
;
spec
=
kzalloc
(
sizeof
(
*
spec
),
GFP_KERNEL
);
if
(
spec
==
NULL
)
{
...
...
sound/pci/hda/hda_intel.c
View file @
8aa19ad8
...
...
@@ -1137,6 +1137,7 @@ static snd_pcm_uframes_t azx_pcm_pointer(snd_pcm_substream_t *substream)
pos
=
azx_sd_readl
(
azx_dev
,
SD_LPIB
);
if
(
chip
->
position_fix
==
POS_FIX_FIFO
)
pos
+=
azx_dev
->
fifo_size
;
#if 0 /* disabled temprarily, auto-correction doesn't work well... */
else if (chip->position_fix == POS_FIX_AUTO && azx_dev->period_updating) {
/* check the validity of DMA position */
unsigned int diff = 0;
...
...
@@ -1157,6 +1158,10 @@ static snd_pcm_uframes_t azx_pcm_pointer(snd_pcm_substream_t *substream)
}
azx_dev->period_updating = 0;
}
#else
else
if
(
chip
->
position_fix
==
POS_FIX_AUTO
)
pos
+=
azx_dev
->
fifo_size
;
#endif
}
if
(
pos
>=
azx_dev
->
bufsize
)
pos
=
0
;
...
...
sound/pci/hda/patch_realtek.c
View file @
8aa19ad8
...
...
@@ -1385,8 +1385,8 @@ static snd_kcontrol_new_t alc880_test_mixer[] = {
HDA_CODEC_VOLUME
(
"Side Playback Volume"
,
0x0f
,
0x0
,
HDA_OUTPUT
),
ALC_BIND_MUTE
(
"Front Playback Switch"
,
0x0c
,
2
,
HDA_INPUT
),
ALC_BIND_MUTE
(
"Surround Playback Switch"
,
0x0d
,
2
,
HDA_INPUT
),
ALC_BIND_MUTE
(
"CLFE Playback
Volume
"
,
0x0e
,
2
,
HDA_INPUT
),
ALC_BIND_MUTE
(
"Side Playback
Volume
"
,
0x0f
,
2
,
HDA_INPUT
),
ALC_BIND_MUTE
(
"CLFE Playback
Switch
"
,
0x0e
,
2
,
HDA_INPUT
),
ALC_BIND_MUTE
(
"Side Playback
Switch
"
,
0x0f
,
2
,
HDA_INPUT
),
PIN_CTL_TEST
(
"Front Pin Mode"
,
0x14
),
PIN_CTL_TEST
(
"Surround Pin Mode"
,
0x15
),
PIN_CTL_TEST
(
"CLFE Pin Mode"
,
0x16
),
...
...
@@ -1409,18 +1409,6 @@ static snd_kcontrol_new_t alc880_test_mixer[] = {
HDA_CODEC_MUTE
(
"In-4 Playback Switch"
,
0x0b
,
0x3
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"CD Playback Volume"
,
0x0b
,
0x4
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"CD Playback Switch"
,
0x0b
,
0x4
,
HDA_INPUT
),
HDA_CODEC_VOLUME
(
"Capture Volume"
,
0x08
,
0x0
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"Capture Switch"
,
0x08
,
0x0
,
HDA_INPUT
),
HDA_CODEC_VOLUME_IDX
(
"Capture Volume"
,
1
,
0x09
,
0x0
,
HDA_INPUT
),
HDA_CODEC_MUTE_IDX
(
"Capture Switch"
,
1
,
0x09
,
0x0
,
HDA_INPUT
),
{
.
iface
=
SNDRV_CTL_ELEM_IFACE_MIXER
,
.
name
=
"Input Source"
,
.
count
=
2
,
.
info
=
alc_mux_enum_info
,
.
get
=
alc_mux_enum_get
,
.
put
=
alc_mux_enum_put
,
},
{
.
iface
=
SNDRV_CTL_ELEM_IFACE_MIXER
,
.
name
=
"Channel Mode"
,
...
...
@@ -2243,7 +2231,7 @@ static snd_kcontrol_new_t alc260_base_mixer[] = {
HDA_CODEC_VOLUME
(
"Headphone Playback Volume"
,
0x09
,
0x0
,
HDA_OUTPUT
),
ALC_BIND_MUTE
(
"Headphone Playback Switch"
,
0x09
,
2
,
HDA_INPUT
),
HDA_CODEC_VOLUME_MONO
(
"Mono Playback Volume"
,
0x0a
,
1
,
0x0
,
HDA_OUTPUT
),
ALC_BIND_MUTE_MONO
(
"Mono Playback Switch"
,
0x0a
,
1
,
2
,
HDA_
OUT
PUT
),
ALC_BIND_MUTE_MONO
(
"Mono Playback Switch"
,
0x0a
,
1
,
2
,
HDA_
IN
PUT
),
HDA_CODEC_VOLUME
(
"Capture Volume"
,
0x04
,
0x0
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"Capture Switch"
,
0x04
,
0x0
,
HDA_INPUT
),
{
...
...
@@ -2270,7 +2258,7 @@ static snd_kcontrol_new_t alc260_hp_mixer[] = {
HDA_CODEC_VOLUME
(
"Headphone Playback Volume"
,
0x09
,
0x0
,
HDA_OUTPUT
),
ALC_BIND_MUTE
(
"Headphone Playback Switch"
,
0x09
,
2
,
HDA_INPUT
),
HDA_CODEC_VOLUME_MONO
(
"Mono Playback Volume"
,
0x0a
,
1
,
0x0
,
HDA_OUTPUT
),
ALC_BIND_MUTE_MONO
(
"Mono Playback Switch"
,
0x0a
,
1
,
2
,
HDA_
OUT
PUT
),
ALC_BIND_MUTE_MONO
(
"Mono Playback Switch"
,
0x0a
,
1
,
2
,
HDA_
IN
PUT
),
HDA_CODEC_VOLUME
(
"Capture Volume"
,
0x05
,
0x0
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"Capture Switch"
,
0x05
,
0x0
,
HDA_INPUT
),
{
...
...
@@ -2501,7 +2489,7 @@ static snd_kcontrol_new_t alc882_base_mixer[] = {
HDA_CODEC_VOLUME_MONO
(
"Center Playback Volume"
,
0x0e
,
1
,
0x0
,
HDA_OUTPUT
),
HDA_CODEC_VOLUME_MONO
(
"LFE Playback Volume"
,
0x0e
,
2
,
0x0
,
HDA_OUTPUT
),
ALC_BIND_MUTE_MONO
(
"Center Playback Switch"
,
0x0e
,
1
,
2
,
HDA_INPUT
),
ALC_BIND_MUTE_MONO
(
"LFE Playback Switch"
,
0x0e
,
2
,
2
,
HDA_
OUT
PUT
),
ALC_BIND_MUTE_MONO
(
"LFE Playback Switch"
,
0x0e
,
2
,
2
,
HDA_
IN
PUT
),
HDA_CODEC_VOLUME
(
"Side Playback Volume"
,
0x0f
,
0x0
,
HDA_OUTPUT
),
ALC_BIND_MUTE
(
"Side Playback Switch"
,
0x0f
,
2
,
HDA_INPUT
),
HDA_CODEC_MUTE
(
"Headphone Playback Switch"
,
0x1b
,
0x0
,
HDA_OUTPUT
),
...
...
sound/pci/korg1212/korg1212.c
View file @
8aa19ad8
...
...
@@ -442,7 +442,7 @@ static char* stateName[] = {
"Setup for play"
,
"Playing"
,
"Monitor mode on"
,
"Calibrating"
"Calibrating"
,
"Invalid"
};
...
...
sound/pci/via82xx.c
View file @
8aa19ad8
...
...
@@ -2147,11 +2147,13 @@ static int __devinit check_dxs_list(struct pci_dev *pci)
{
.
subvendor
=
0x1019
,
.
subdevice
=
0x0996
,
.
action
=
VIA_DXS_48K
},
{
.
subvendor
=
0x1019
,
.
subdevice
=
0x0a81
,
.
action
=
VIA_DXS_NO_VRA
},
/* ECS K7VTA3 v8.0 */
{
.
subvendor
=
0x1019
,
.
subdevice
=
0x0a85
,
.
action
=
VIA_DXS_NO_VRA
},
/* ECS L7VMM2 */
{
.
subvendor
=
0x1019
,
.
subdevice
=
0xa101
,
.
action
=
VIA_DXS_SRC
},
{
.
subvendor
=
0x1025
,
.
subdevice
=
0x0033
,
.
action
=
VIA_DXS_NO_VRA
},
/* Acer Inspire 1353LM */
{
.
subvendor
=
0x1025
,
.
subdevice
=
0x0046
,
.
action
=
VIA_DXS_SRC
},
/* Acer Aspire 1524 WLMi */
{
.
subvendor
=
0x1043
,
.
subdevice
=
0x8095
,
.
action
=
VIA_DXS_NO_VRA
},
/* ASUS A7V8X (FIXME: possibly VIA_DXS_ENABLE?)*/
{
.
subvendor
=
0x1043
,
.
subdevice
=
0x80a1
,
.
action
=
VIA_DXS_NO_VRA
},
/* ASUS A7V8-X */
{
.
subvendor
=
0x1043
,
.
subdevice
=
0x80b0
,
.
action
=
VIA_DXS_NO_VRA
},
/* ASUS A7V600 & K8V*/
{
.
subvendor
=
0x1043
,
.
subdevice
=
0x810d
,
.
action
=
VIA_DXS_SRC
},
/* ASUS */
{
.
subvendor
=
0x1043
,
.
subdevice
=
0x812a
,
.
action
=
VIA_DXS_SRC
},
/* ASUS A8V Deluxe */
{
.
subvendor
=
0x1071
,
.
subdevice
=
0x8375
,
.
action
=
VIA_DXS_NO_VRA
},
/* Vobis/Yakumo/Mitac notebook */
{
.
subvendor
=
0x1071
,
.
subdevice
=
0x8399
,
.
action
=
VIA_DXS_NO_VRA
},
/* Umax AB 595T (VIA K8N800A - VT8237) */
...
...
sound/ppc/pmac.c
View file @
8aa19ad8
...
...
@@ -988,6 +988,7 @@ static int __init snd_pmac_detect(pmac_t *chip)
case
0x33
:
case
0x29
:
case
0x24
:
case
0x50
:
case
0x5c
:
chip
->
num_freqs
=
ARRAY_SIZE
(
tumbler_freqs
);
chip
->
model
=
PMAC_SNAPPER
;
...
...
sound/usb/usbaudio.c
View file @
8aa19ad8
...
...
@@ -1444,9 +1444,9 @@ static snd_pcm_hardware_t snd_usb_playback =
SNDRV_PCM_INFO_BATCH
|
SNDRV_PCM_INFO_INTERLEAVED
|
SNDRV_PCM_INFO_BLOCK_TRANSFER
,
.
buffer_bytes_max
=
(
256
*
1024
)
,
.
buffer_bytes_max
=
1024
*
1024
,
.
period_bytes_min
=
64
,
.
period_bytes_max
=
(
128
*
1024
)
,
.
period_bytes_max
=
512
*
1024
,
.
periods_min
=
2
,
.
periods_max
=
1024
,
};
...
...
@@ -1458,9 +1458,9 @@ static snd_pcm_hardware_t snd_usb_capture =
SNDRV_PCM_INFO_BATCH
|
SNDRV_PCM_INFO_INTERLEAVED
|
SNDRV_PCM_INFO_BLOCK_TRANSFER
,
.
buffer_bytes_max
=
(
256
*
1024
)
,
.
buffer_bytes_max
=
1024
*
1024
,
.
period_bytes_min
=
64
,
.
period_bytes_max
=
(
128
*
1024
)
,
.
period_bytes_max
=
512
*
1024
,
.
periods_min
=
2
,
.
periods_max
=
1024
,
};
...
...
sound/usb/usbmixer_maps.c
View file @
8aa19ad8
...
...
@@ -237,6 +237,16 @@ static struct usbmix_ctl_map usbmix_ctl_maps[] = {
.
map
=
audigy2nx_map
,
.
selector_map
=
audigy2nx_selectors
,
},
{
/* Hercules DJ Console (Windows Edition) */
.
id
=
USB_ID
(
0x06f8
,
0xb000
),
.
ignore_ctl_error
=
1
,
},
{
/* Hercules DJ Console (Macintosh Edition) */
.
id
=
USB_ID
(
0x06f8
,
0xd002
),
.
ignore_ctl_error
=
1
,
},
{
.
id
=
USB_ID
(
0x08bb
,
0x2702
),
.
map
=
linex_map
,
...
...
sound/usb/usbquirks.h
View file @
8aa19ad8
...
...
@@ -117,6 +117,10 @@ YAMAHA_DEVICE(0x103a, NULL),
YAMAHA_DEVICE
(
0x103b
,
NULL
),
YAMAHA_DEVICE
(
0x103c
,
NULL
),
YAMAHA_DEVICE
(
0x103d
,
NULL
),
YAMAHA_DEVICE
(
0x103e
,
NULL
),
YAMAHA_DEVICE
(
0x103f
,
NULL
),
YAMAHA_DEVICE
(
0x1040
,
NULL
),
YAMAHA_DEVICE
(
0x1041
,
NULL
),
YAMAHA_DEVICE
(
0x2000
,
"DGP-7"
),
YAMAHA_DEVICE
(
0x2001
,
"DGP-5"
),
YAMAHA_DEVICE
(
0x2002
,
NULL
),
...
...
@@ -1010,6 +1014,40 @@ YAMAHA_DEVICE(0x7010, "UB99"),
}
}
},
{
USB_DEVICE_VENDOR_SPEC
(
0x0582
,
0x007a
),
.
driver_info
=
(
unsigned
long
)
&
(
const
snd_usb_audio_quirk_t
)
{
.
vendor_name
=
"Roland"
,
/* RD-700SX, RD-300SX */
.
ifnum
=
0
,
.
type
=
QUIRK_MIDI_FIXED_ENDPOINT
,
.
data
=
&
(
const
snd_usb_midi_endpoint_info_t
)
{
.
out_cables
=
0x0003
,
.
in_cables
=
0x0003
}
}
},
/* Guillemot devices */
{
/*
* This is for the "Windows Edition" where the external MIDI ports are
* the only MIDI ports; the control data is reported through HID
* interfaces. The "Macintosh Edition" has ID 0xd002 and uses standard
* compliant USB MIDI ports for external MIDI and controls.
*/
USB_DEVICE_VENDOR_SPEC
(
0x06f8
,
0xb000
),
.
driver_info
=
(
unsigned
long
)
&
(
const
snd_usb_audio_quirk_t
)
{
.
vendor_name
=
"Hercules"
,
.
product_name
=
"DJ Console (WE)"
,
.
ifnum
=
4
,
.
type
=
QUIRK_MIDI_FIXED_ENDPOINT
,
.
data
=
&
(
const
snd_usb_midi_endpoint_info_t
)
{
.
out_cables
=
0x0001
,
.
in_cables
=
0x0001
}
}
},
/* Midiman/M-Audio devices */
{
...
...
@@ -1339,10 +1377,20 @@ YAMAHA_DEVICE(0x7010, "UB99"),
}
},
/* TerraTec devices */
{
USB_DEVICE_VENDOR_SPEC
(
0x0ccd
,
0x0012
),
.
driver_info
=
(
unsigned
long
)
&
(
const
snd_usb_audio_quirk_t
)
{
.
vendor_name
=
"TerraTec"
,
.
product_name
=
"PHASE 26"
,
.
ifnum
=
3
,
.
type
=
QUIRK_MIDI_STANDARD_INTERFACE
}
},
{
USB_DEVICE_VENDOR_SPEC
(
0x0ccd
,
0x0013
),
.
driver_info
=
(
unsigned
long
)
&
(
const
snd_usb_audio_quirk_t
)
{
.
vendor_name
=
"Terra
t
ec"
,
.
vendor_name
=
"Terra
T
ec"
,
.
product_name
=
"PHASE 26"
,
.
ifnum
=
3
,
.
type
=
QUIRK_MIDI_STANDARD_INTERFACE
...
...
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