On 11.08.2013 18:37, Jesus R wrote:
Daniel/team, I have access to a few DSD devices and or USB based devices. I can provide any information you need to help with allowing ALSA to identify the device's capabilities. Just let me know how to get the information you need from command line:)
Nice. I take it those devices are DOP-capable?
Given than none of devices have a chance to report their capabilities to the host, finding out which modes to use is a trial-and-error game, unless you have access to the firmware sources.
Hence, please just look up the USB IDs and alternate interface settings of your connected device with lsusb, and then augment the code in snd_usb_interface_dsd_format_quirks() (file sound/usb/quirks.c) and play around with different possibilities (bitreverse on/off, DSD_U8 vs DSD_U16 etc). Follow the example that I provided in that function.
You have to recompile and rmmod/insmod the snd-usb driver every time you make a change, and then you need some sort of userspace tool to test it. I published one here:
https://github.com/zonque/alsa-dsd-player
Once you have more quirks sorted out, please send a patch. I'm sorry there's no easier way to work on this. Let me know if you need more instructions.
Thanks, Daniel