if (firmware >> 20 == 0x970)
oxfw->quirks |= SND_OXFW_QUIRK_JUMBO_PAYLOAD;
/* to apply card definitions */ if (entry->vendor_id == VENDOR_GRIFFIN || entry->vendor_id == VENDOR_LACIE) {
info = (conststruct compat_info *)entry->driver_data;
d = info->driver_name;
v = info->vendor_name;
m = info->model_name;
} else {
d = "OXFW";
v = vendor;
m = model;
}
/* Seek from Root Directory of Config ROM. */
vendor = model = 0;
fw_csr_iterator_init(&it, fw_dev->config_rom + 5); while (fw_csr_iterator_next(&it, &key, &val)) { if (key == CSR_VENDOR)
vendor = val; elseif (key == CSR_MODEL)
model = val;
}
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;
if (model == MODEL_ONYX_1640I) { //Unless receiving packets without NOINFO packet, the device transfers //mostly half of events in packets than expected.
oxfw->quirks |= SND_OXFW_QUIRK_IGNORE_NO_INFO_PACKET |
SND_OXFW_QUIRK_VOLUNTARY_RECOVERY;
}
}
staticconststruct ieee1394_device_id oxfw_id_table[] = { // // OXFW970 devices: // Initial firmware has a quirk to postpone isoc packet transmission during finishing async // transaction. As a result, several isochronous cycles are skipped to transfer the packets // and the audio data frames which should have been transferred during the cycles are put // into packet at the first isoc cycle after the postpone. Furthermore, the value of SYT // field in CIP header is not reliable as synchronization timing, //
OXFW_DEV_ENTRY(VENDOR_GRIFFIN, 0x00f970, &griffin_firewave),
OXFW_DEV_ENTRY(VENDOR_LACIE, 0x00f970, &lacie_speakers), // Miglia HarmonyAudio (HA02). The numeric vendor ID is ASIC vendor and the model ID is the // default value of ASIC.
OXFW_DEV_ENTRY(OUI_OXFORD, 0x00f970, NULL), // Behringer,F-Control Audio 202. The value of SYT field is not reliable at all.
OXFW_DEV_ENTRY(VENDOR_BEHRINGER, 0x00fc22, NULL), // Loud Technologies, Tapco Link.FireWire 4x6. The value of SYT field is always 0xffff.
OXFW_DEV_ENTRY(VENDOR_LOUD, 0x000460, NULL), // Loud Technologies, Mackie Onyx Satellite. Although revised version of firmware is // installed to avoid the postpone, the value of SYT field is always 0xffff.
OXFW_DEV_ENTRY(VENDOR_LOUD, MODEL_SATELLITE, NULL),
// // OXFW971 devices: // The value of SYT field in CIP header is enough reliable. Both of blocking and non-blocking // transmission methods are available. // // Any Mackie(Loud) models (name string/model id): // Onyx-i series (former models): 0x081216 // Onyx 1640i: 0x001640 // d.2 pro/d.4 pro (built-in card): Unknown // U.420: Unknown // U.420d: Unknown
{
.match_flags = IEEE1394_MATCH_VENDOR_ID |
IEEE1394_MATCH_SPECIFIER_ID |
IEEE1394_MATCH_VERSION,
.vendor_id = VENDOR_LOUD,
.model_id = 0,
.specifier_id = SPECIFIER_1394TA,
.version = VERSION_AVC,
}, // TASCAM, FireOne.
OXFW_DEV_ENTRY(VENDOR_TASCAM, 0x800007, NULL), // Stanton, Stanton Controllers & Systems 1 Mixer (SCS.1m).
OXFW_DEV_ENTRY(OUI_STANTON, MODEL_SCS1M, NULL), // Stanton, Stanton Controllers & Systems 1 Deck (SCS.1d).
OXFW_DEV_ENTRY(OUI_STANTON, 0x002000, NULL), // APOGEE, duet FireWire.
OXFW_DEV_ENTRY(OUI_APOGEE, MODEL_DUET_FW, NULL),
{ }
};
MODULE_DEVICE_TABLE(ieee1394, oxfw_id_table);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.