[alsa-devel] [RME MADI/RayDAT/AIO/AES] Changing hdspm_config and hdspm_status

Adrian Knoth adi at drcomp.erfurt.thur.de
Mon Aug 22 18:42:38 CEST 2011


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


More information about the Alsa-devel mailing list