The audio1575 device uses the Uli M1575 AC97-compatible audio digital controller and an AC-97 Codec to implement the audio device interface. This interface allows analog only inputs and outputs.
This interface is described in the audio(7I) and mixer(7I) man pages.
Applications that open /dev/audio may use the AUDIO_GETDEV ioctl(2) to determine which audio device is being used. The audio1575 driver will return the string SUNW,audio1575 in the name field of the audio_device structure. The version field contains the letter a and the config field contains the string onboard1.
Key to the above table: Ver = Version. Out = Line Out. Speaker = Internal Speaker. In = Line In. Mic. = Microphone. CD = CD-ROM.
The audio1575 device provides support for the internal speaker, headphone, line out, line in, and microphone. The play.mod_ports and record.mod_ports fields of the audio_info structure (see audio(7I)) indicate which ports may be manipulated.
This driver supports the mixer mode. Compat mode is supported only for Sampling Rate (8Khz-48Khz), Encoding (16 Bit linear (PCM)), and Channels (Stereo) configurations.
The audio1575 device natively supports 16-bit linear encodings in stereo. With the mixer enabled, a continuous range of sample rates from 8000 Hz to 48000 Hz is supported. With the mixer disabled, the same sample rates are supported but only for stereo 16 bit linear PCM encoding. The device can be opened for simultaneous play and record whether the mixer is enabled or not.
Because the audio1575 device manipulates buffers of audio data, the reported input and output sample counts will vary at any time from the actual sample count by no more than the size of the buffers the driver is transferring. Programs should not rely on the absolute accuracy of the play.samples and record.samples fields of the audio_info structure.
The driver determines how often play and record interrupts should occur. For playing audio, this determines how often and how much audio is requested from the audio mixer. The impact of interrupts on recording is minimal, however, if a very small read buffer size is set, the record interrupt rate should be increased to prevent the buffer from overflowing. You can tune the play and record interrupt rates using the /kernel/drv/audio1575.conf file.
As described in the audio(7I) and mixer(7I) man pages, it is possible to request asynchronous notification of changes in the state of an audio device.
All audio1575 errors are described in the audio(7I) man pages.
Symbolic link to the system's primary audio device (not necessarily an audio1575 device).
Represents the first audio device on the system (not necessarily an audio1575 device).
Audio sample files.
Audio1575 driver configuration file.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
mixerctl(1), sdtaudiocontrol(1), ioctl(2), attributes(5), audio(7I), mixer(7I), streamio(7I)
Uli M1575 Super South Bridge Data Sheet Data Sheet--- Uli USA Inc.
AD1981B AC '97 SoundMAX(R) Codec Data Sheet--- Analog Devices Inc.
In addition to being logged, the following messages may appear on the system console:
init_state() play interrupt rate set too low.
The play interrupt rate specified in audio1575.conf is set too low. It has been reset to the rate specified in the message. Update audio1575.conf to a higher play interrupt rate.
init_state() play interrupt rate set too high.
The play interrupt rate specified in audio1575.conf is set too high. It has been reset to the rate specified in the message. Update audio1575.conf to a lower play interrupt rate.
init_state() record interrupt rate set too low.
The record interrupt rate specified in audio1575.conf is set too low. It has been reset to the rate specified in the message. Update audio1575.conf to a higher record interrupt rate.
init_state() record interrupt rate set too high.
The record interrupt rate specified in audio1575.conf is set too high. It has been reset to the rate specified in the message. Update audio1575.conf to a lower record interrupt rate.