audioixp(7D) Devices audioixp(7D)
NAME
audioixp - ATI IXP400 south bridge audio digital controller interface
DESCRIPTION
The audioixp device uses the IXP400 south bridge audio digital controller and a AC-97 Codec to implement the audio device interface.
API
This interface is described in the mixer(7I) and audio(7I) man pages.
Driver Versions
Applications that open /dev/audio may use the AUDIO_GETDEV ioctl(2) to determine which audio device is being used. The audioixp driver
returns the string SUNW,audioixp in the name field of the audio_device structure. The version field contains the letter "a" and the config
field contains the string onboard1.
Platform Ver. Out H. Phone Spkr. In Mic. CD
x86 w/ IXP400 s. bridge a Y Y Y Y Y Y
Key to the above table: Ver. = Version. Out = Line Out. H. Phone = Head Phone. Spkr = Internal Speaker. In = Line In. Mic. = Microphone. CD
= CD=ROM
The audioixp 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.
Audio Mixer Mode
You use the /kernel/drv/audioixp.conf file to configure the audioixp driver and enable or disable the audio mixer. See the mixer(7I) manual
page for details. You can change the audio mixer mode at any time using the sdtaudiocontrol(1) or mixerctl(1) commands. Note that some sys-
tems support 48K sample rates only. On these systems, the compatible mode may not work and the mixer mode should be used.
Audio Data Formats
The audioixp device supports 8-bit and 16-bit linear encoding in mono and stereo. With the mixer enabled, a continuous range of sample
rates from 5510 to 48000 Hz is supported. With the mixer disabled, the following sample rates may be supported, depending on Codec capabil-
ity: 5510, 6620, 8000, 9600, 11025, 16000, 18900, 22050, 27420, 32000, 33075, 37800, 4410, and 48000 Hz. Whether the mixer is enabled or
not, the device can be opened for simultaneous playing and recording.
Sample Granularity
Because the audioixp device manipulates buffers of audio data, the reported input and output sample counts will vary at any given time from
the actual sample count by no more than the size of the buffers the audioixp driver is transferring. In general, programs should not rely
on the absolute accuracy of the play.samples and record.samples fields of the audio_info structure.
Interrupt Rate
The driver determines how often play and record interrupts should take place. 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. The play and record interrupt rates are tunable
in the /kernel/drv/audioixp.conf file.
Audio Status Change Notification
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.
ERRORS
See the audio(7I) manpage for audioixp errors.
FILES
/dev/audio Symbolic link to the system's primary audio device. (Not necessarily an audioixp audio device).
/dev/audioctl Control device for the primary audio device.
/dev/sound/0 Represents the first audio device on the system. (Not necessarily an audioixp audio device).
/dev/sound/0ctl Audio control for /dev/sound/0.
/usr/share/audio/samples Audio sample files.
/kernel/drv/audioixp.conf Driver configuration file.
ATTRIBUTES
See attributes(5) for a descriptions of the following attributes:
+--------------------+--------------------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+--------------------------------------+
|Architecture |PC-based system |
+--------------------+--------------------------------------+
|Availability |SUNWaudd, SUNWauda |
+--------------------+--------------------------------------+
|Stability level |Evolving |
+--------------------+--------------------------------------+
SEE ALSO
mixerctl(1), ioctl(2), attributes(5), audio(7I), mixer(7I), streamio(7I)
ATI IXP400 South Bridge Data Sheet
http://www.sun.com/io
DIAGNOSTICS
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 in audioixp.conf is set too low. It has been reset to the rate specified in the message. Update audioixp.conf
to a higher play interrupt rate.
init_state() play interrupt rate set too high
The play interrupt rate set in audioixp.conf is set too high. It has been reset to the rate specified in the message. Update
audioixp.conf to a lower play interrupt rate.
init_state() record interrupt rate set too low
The record interrupt rate in audioixp.conf is set too low. It has been reset to the rate specified in the message. Update audioixp.conf
to a higher record interrupt rate.
init_state() record interrupt rate set too high
The record interrupt rate in audioixp.conf is set too high. It has been reset to the rate specified in the message. Update
audioixp.conf to a lower record interrupt rate.
SunOS 5.11 16 Feb 20062 audioixp(7D)