xref: /openbsd-src/share/man/man4/envy.4 (revision a28daedfc357b214be5c701aa8ba8adb29a7f1c2)
1.\" $OpenBSD: envy.4,v 1.4 2008/02/22 07:55:02 ratchov Exp $
2.\"
3.\" Copyright (c) 2007 Alexandre Ratchov <alex@caoua.org>
4.\"
5.\" Permission to use, copy, modify, and distribute this software for any
6.\" purpose with or without fee is hereby granted, provided that the above
7.\" copyright notice and this permission notice appear in all copies.
8.\"
9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16.\"
17.Dd $Mdocdate: February 22 2008 $
18.Dt ENVY 4
19.Os
20.Sh NAME
21.Nm envy
22.Nd VIA Envy24 audio device
23.Sh SYNOPSIS
24.Cd "envy* at pci?"
25.Cd "audio* at envy?"
26.Sh DESCRIPTION
27The
28.Nm
29driver supports sound cards based on VIA Envy24 PCI chips,
30such as the M-Audio Delta-1010LT PCI card.
31The Envy24 chip, formerly known as the ICE1712, is a versatile digital
32PCI chip that can be attached to
33up to 4x2 external analog converters and 1x2 S/PDIF transmitter/receivers.
34Currently only Asahi Kasei AK4524 codecs are supported.
35.Ss Mixer device
36The chip features a digital mixer that routes and mixes the
37streams below as follows:
38.Bl -tag -width playback
39.It Dv inputs
40There are 10 streams corresponding to data received by the
41device from the codecs.
42They are labelled
43.Va line0
44\(en
45.Va line9
46in the
47.Xr mixer 4
48interface.
49Streams
50.Va line0
51to
52.Va line7
53correspond to analog inputs and
54.Va line8
55to
56.Va line9
57correspond to
58digital inputs.
59.It Dv outputs
60There are 10 streams corresponding to data sent by the device to the codecs.
61They are labelled
62.Va line0
63\(en
64.Va line9 .
65Streams
66.Va line0
67to
68.Va line7
69correspond to analog outputs and
70.Va line8
71to
72.Va line9
73correspond to digital outputs.
74Each of them can be individually configured to use any of
75the external inputs or its corresponding playback stream as source.
76Additionally, outputs
77.Va line0 , line1 , line8 ,
78and
79.Va line9
80can be configured to use
81.Va mon0
82or
83.Va mon1
84as sources.
85.It Dv monitor
86There are 2 streams that can be configured to contain any linear
87superposition of any of the 10 playback and 10 external input streams.
88They are labelled
89.Va mon0
90and
91.Va mon1 .
92From the mixer's point of view they are input streams,
93so they can be used as sources of output streams.
94.It Dv playback
95There are 10 streams corresponding to samples transferred
96from the host to the device.
97They are labelled
98.Va play0
99\(en
100.Va play9 .
101From the mixer's point of view they are input streams,
102so they are usable as sources of output streams.
103.It Dv record
104There are 12 streams corresponding to samples transferred
105from the device to the host.
106They are not controllable by the mixer.
107Streams 0 to 9 are hardwired to external inputs
108.Va line0
109\(en
110.Va line9
111and streams 10 and 11 are hardwired to
112.Va mon0
113and
114.Va mon1 .
115.El
116.Ss Playback and record data formats
117Both playback and record use linear encoding.
118Samples are represented by 32-bit signed numbers in little endian order.
119Only the first 24 most significant bits are used.
120Playback uses 10 channels and record uses 12 channels.
121.Sh SEE ALSO
122.Xr audio 4 ,
123.Xr intro 4 ,
124.Xr pci 4
125.Sh HISTORY
126The
127.Nm
128driver first appeared in
129.Ox 4.3 .
130.Sh BUGS
131MIDI and S/PDIF transmitter/receivers are not yet supported.
132.Pp
133The current
134.Xr audio 4
135driver doesn't allow playback and record blocks to have the same duration,
136making the device hardly usable for block based I/O in full-duplex.
137Playback and capture cannot be started atomically.
138Ring buffer sizes are limited to 64kB,
139which can be limiting at high sample rates.
140