ALSA: oxfw: fix transmission method for Loud models based on OXFW971
Loud Technologies Mackie Onyx 1640i (former model) is identified as the model which uses OXFW971. The analysis of packet dump shows that it transfers events in blocking method of IEC 61883-6, however the default behaviour of ALSA oxfw driver is for non-blocking method. This commit adds code to detect it assuming that all of loud models based on OXFW971 have such quirk. It brings no functional change except for alignment rule of PCM buffer. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Link: https://lore.kernel.org/r/20210913021042.10085-1-o-takashi@sakamocchi.jp Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
6880fa6c56
commit
64794d6db4
|
@ -184,13 +184,16 @@ static int detect_quirks(struct snd_oxfw *oxfw, const struct ieee1394_device_id
|
|||
model = val;
|
||||
}
|
||||
|
||||
/*
|
||||
* Mackie Onyx Satellite with base station has a quirk to report a wrong
|
||||
* value in 'dbs' field of CIP header against its format information.
|
||||
*/
|
||||
if (vendor == VENDOR_LOUD && model == MODEL_SATELLITE)
|
||||
if (vendor == VENDOR_LOUD) {
|
||||
// Mackie Onyx Satellite with base station has a quirk to report a wrong
|
||||
// value in 'dbs' field of CIP header against its format information.
|
||||
oxfw->quirks |= SND_OXFW_QUIRK_WRONG_DBS;
|
||||
|
||||
// OXFW971-based models may transfer events by blocking method.
|
||||
if (!(oxfw->quirks & SND_OXFW_QUIRK_JUMBO_PAYLOAD))
|
||||
oxfw->quirks |= SND_OXFW_QUIRK_BLOCKING_TRANSMISSION;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue