Message ID | 1416056481-5086-1-git-send-email-gtmkramer@xs4all.nl (mailing list archive) |
---|---|
State | Accepted |
Commit | 6e84a8d7ac3ba246ef44e313e92bc16a1da1b04a |
Headers | show |
At Sat, 15 Nov 2014 14:01:21 +0100, Jurgen Kramer wrote: > > This patch adds a USB control message delay quirk for a few specific Marantz/Denon > devices. Without the delay the DACs will not work properly and produces the > following type of messages: > > Nov 15 10:09:21 orwell kernel: [ 91.342880] usb 3-13: clock source 41 is not valid, cannot use > Nov 15 10:09:21 orwell kernel: [ 91.343775] usb 3-13: clock source 41 is not valid, cannot use > > There are likely other Marantz/Denon devices using the same USB module which exhibit the > same problems. But as this cannot be verified I limited the patch to the devices > I could test. > > The following two devices are covered by this path: > - Marantz SA-14S1 > - Marantz HD-DAC1 > > Signed-off-by: Jurgen Kramer <gtmkramer@xs4all.nl> Thanks, applied. Takashi > --- > sound/usb/quirks.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c > index d2aa45a..a5941f8 100644 > --- a/sound/usb/quirks.c > +++ b/sound/usb/quirks.c > @@ -1146,6 +1146,20 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe, > if ((le16_to_cpu(dev->descriptor.idVendor) == 0x23ba) && > (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) > mdelay(20); > + > + /* Marantz/Denon devices with USB DAC functionality need a delay > + * after each class compliant request > + */ > + if ((le16_to_cpu(dev->descriptor.idVendor) == 0x154e) && > + (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) { > + > + switch (le16_to_cpu(dev->descriptor.idProduct)) { > + case 0x3005: /* Marantz HD-DAC1 */ > + case 0x3006: /* Marantz SA-14S1 */ > + mdelay(20); > + break; > + } > + } > } > > /* > -- > 1.9.3 > > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel >
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index d2aa45a..a5941f8 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1146,6 +1146,20 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe, if ((le16_to_cpu(dev->descriptor.idVendor) == 0x23ba) && (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) mdelay(20); + + /* Marantz/Denon devices with USB DAC functionality need a delay + * after each class compliant request + */ + if ((le16_to_cpu(dev->descriptor.idVendor) == 0x154e) && + (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) { + + switch (le16_to_cpu(dev->descriptor.idProduct)) { + case 0x3005: /* Marantz HD-DAC1 */ + case 0x3006: /* Marantz SA-14S1 */ + mdelay(20); + break; + } + } } /*
This patch adds a USB control message delay quirk for a few specific Marantz/Denon devices. Without the delay the DACs will not work properly and produces the following type of messages: Nov 15 10:09:21 orwell kernel: [ 91.342880] usb 3-13: clock source 41 is not valid, cannot use Nov 15 10:09:21 orwell kernel: [ 91.343775] usb 3-13: clock source 41 is not valid, cannot use There are likely other Marantz/Denon devices using the same USB module which exhibit the same problems. But as this cannot be verified I limited the patch to the devices I could test. The following two devices are covered by this path: - Marantz SA-14S1 - Marantz HD-DAC1 Signed-off-by: Jurgen Kramer <gtmkramer@xs4all.nl> --- sound/usb/quirks.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)