Skip to content

Commit 0805645

Browse files
Amin Dandachetiwai
authored andcommitted
ALSA: usb-audio: enable support for Presonus Studio 1824c within 1810c file
This patch adds support for Presonus Studio 1824c, a usb interface that's UAC2 compliant and it is enabled by identifying the device ID 194f:010d and works with the code brought in by the 1810c change from Nick Kossifidis in 2020-02-15. More infos on the card: https://www.presonus.com/products/Studio-1824c Signed-off-by: Amin Dandache <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent e747104 commit 0805645

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

sound/usb/format.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,10 @@ static int parse_uac2_sample_rate_range(struct snd_usb_audio *chip,
384384
if (chip->usb_id == USB_ID(0x194f, 0x010c) &&
385385
!s1810c_valid_sample_rate(fp, rate))
386386
goto skip_rate;
387+
/* Filter out invalid rates on Presonus Studio 1824c */
388+
if (chip->usb_id == USB_ID(0x194f, 0x010d) &&
389+
!s1810c_valid_sample_rate(fp, rate))
390+
goto skip_rate;
387391

388392
/* Filter out invalid rates on Focusrite devices */
389393
if (USB_ID_VENDOR(chip->usb_id) == 0x1235 &&

sound/usb/mixer_quirks.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4119,6 +4119,9 @@ int snd_usb_mixer_apply_create_quirk(struct usb_mixer_interface *mixer)
41194119
case USB_ID(0x194f, 0x010c): /* Presonus Studio 1810c */
41204120
err = snd_sc1810_init_mixer(mixer);
41214121
break;
4122+
case USB_ID(0x194f, 0x010d): /* Presonus Studio 1824c */
4123+
err = snd_sc1810_init_mixer(mixer);
4124+
break;
41224125
case USB_ID(0x2a39, 0x3fb0): /* RME Babyface Pro FS */
41234126
err = snd_bbfpro_controls_create(mixer);
41244127
break;

sound/usb/quirks.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1599,7 +1599,9 @@ int snd_usb_apply_interface_quirk(struct snd_usb_audio *chip,
15991599
/* presonus studio 1810c: skip altsets incompatible with device_setup */
16001600
if (chip->usb_id == USB_ID(0x194f, 0x010c))
16011601
return s1810c_skip_setting_quirk(chip, iface, altno);
1602-
1602+
/* presonus studio 1824c: skip altsets incompatible with device_setup */
1603+
if (chip->usb_id == USB_ID(0x194f, 0x010d))
1604+
return s1810c_skip_setting_quirk(chip, iface, altno);
16031605

16041606
return 0;
16051607
}

0 commit comments

Comments
 (0)