diff options
Diffstat (limited to 'drivers/ieee1394/amdtp.h')
-rw-r--r-- | drivers/ieee1394/amdtp.h | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/drivers/ieee1394/amdtp.h b/drivers/ieee1394/amdtp.h deleted file mode 100644 index 531f28e3ab50..000000000000 --- a/drivers/ieee1394/amdtp.h +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- c-basic-offset: 8 -*- */ - -#ifndef __AMDTP_H -#define __AMDTP_H - -#include <asm/types.h> -#include "ieee1394-ioctl.h" - -/* The userspace interface for the Audio & Music Data Transmission - * Protocol driver is really simple. First, open /dev/amdtp, use the - * ioctl to configure format, rate, dimension and either plug or - * channel, then start writing samples. - * - * The formats supported by the driver are listed below. - * AMDTP_FORMAT_RAW corresponds to the AM824 raw format, which can - * carry any number of channels, so use this if you're streaming - * multichannel audio. The AMDTP_FORMAT_IEC958_PCM corresponds to the - * AM824 IEC958 encapsulation without the IEC958 data bit set, using - * AMDTP_FORMAT_IEC958_AC3 will transmit the samples with the data bit - * set, suitable for transmitting compressed AC-3 audio. - * - * The rate field specifies the transmission rate; supported values - * are 32000, 44100, 48000, 88200, 96000, 176400 and 192000. - * - * The dimension field specifies the dimension of the signal, that is, - * the number of audio channels. Only AMDTP_FORMAT_RAW supports - * settings greater than 2. - * - * The mode field specifies which transmission mode to use. The AMDTP - * specifies two different transmission modes: blocking and - * non-blocking. The blocking transmission mode always send a fixed - * number of samples, typically 8, 16 or 32. To exactly match the - * transmission rate, the driver alternates between sending empty and - * non-empty packets. In non-blocking mode, the driver transmits as - * small packets as possible. For example, for a transmission rate of - * 44100Hz, the driver should send 5 41/80 samples in every cycle, but - * this is not possible so instead the driver alternates between - * sending 5 and 6 samples. - * - * The last thing to specify is either the isochronous channel to use - * or the output plug to connect to. If you know what channel the - * destination device will listen on, you can specify the channel - * directly and use the AMDTP_IOC_CHANNEL ioctl. However, if the - * destination device chooses the channel and uses the IEC61883-1 plug - * mechanism, you can specify an output plug to connect to. The - * driver will pick up the channel number from the plug once the - * destination device locks the output plug control register. In this - * case set the plug field and use the AMDTP_IOC_PLUG ioctl. - * - * Having configured the interface, the driver now accepts writes of - * regular 16 bit signed little endian samples, with the channels - * interleaved. For example, 4 channels would look like: - * - * | sample 0 | sample 1 ... - * | ch. 0 | ch. 1 | ch. 2 | ch. 3 | ch. 0 | ... - * | lsb | msb | lsb | msb | lsb | msb | lsb | msb | lsb | msb | ... - * - */ - -enum { - AMDTP_FORMAT_RAW, - AMDTP_FORMAT_IEC958_PCM, - AMDTP_FORMAT_IEC958_AC3 -}; - -enum { - AMDTP_MODE_BLOCKING, - AMDTP_MODE_NON_BLOCKING, -}; - -enum { - AMDTP_INPUT_LE16, - AMDTP_INPUT_BE16, -}; - -struct amdtp_ioctl { - __u32 format; - __u32 rate; - __u32 dimension; - __u32 mode; - union { __u32 channel; __u32 plug; } u; -}; - -#endif /* __AMDTP_H */ |