22 Aug
2011
22 Aug
'11
6:42 p.m.
On 08/22/11 18:31, Adrian Knoth wrote:
switch (hdspm->io_type) {
case MADI:
config.card_specific.madi.line_out = hdspm_line_out(hdspm);
config.card_specific.madi.tms = hdspm_c_tms(hdspm);
config.card_specific.madi.input_select = hdspm_input_select(hdspm);
config.card_specific.madi.output_mode = hdspm_tx_64(hdspm);
config.card_specific.madi.sync_ref = hdspm_pref_sync_ref(hdspm);
break;
default:
break;
}
Obviously, the other cards are missing. I can contribute RayDAT, if need be (since I don't use the config ioctl at all, at least I don't need it).
Fredrik: Do you still work on your hdspconf patch for hdspm? If so, you'd probably be affected. Add "case MADIface:" below "case MADI:" to see if it works.
statusregister = hdspm_read(hdspm, HDSPM_statusRegister);
status.card_specific.madi.madi_input =
(statusregister & HDSPM_AB_int) ? 1 : 0;
MADI input (BNC/Optical) is a config option.
status.card_specific.madi.channel_format =
(statusregister & HDSPM_TX_64ch) ? 1 : 0;
(statusregister & HDSPM_RX_64ch) ? 1 : 0;
This was simply wrong in the current driver: the status struct should not tell if we're sending 64ch format, it should inform the user if we're receiving 64ch on the wire.
Cheers