NetBSD/sys/arch/sgimips
kent 23b5d91433 merge kent-audio1 branch, which introduces audio filter pipeline to the MI
audio framework


Summary of changes:

* struct audio_params
  - remove sw_code, factor, factor_denom, hw_sample_rate,
hw_encoding ,hw_precision, and hw_channels.  Conversion information
is conveyed by stream_filter_list_t.
  - change the type of sample_rate: u_long -> u_int
  - add `validbits,' which represents the valid data size in
precision bits.  It is required in order to distinguish 24/32bit
from 24/24bit or 32/32bit.

* audio_hw_if
 - add two parameters to set_params()
	stream_filter_list_t *pfil, stream_filter_list *rfil
   A HW driver should set filter recipes for requested formats
 - constify audio_params parameters of trigger_output() and
trigger_input().  They represent audio formats for the hardware.
 - make open() and close() optional
 - add int (AUMODE_PLAY or AUMODE_RECORD) and audio_params_t parameters
 to round_blocksize()

* sw_code is replaced with stream_filter_t.
  stream_filer_t converts audio data in an input buffer and writes
into another output buffer unlike sw_code, which converts data in
single buffer.
  converters in dev/auconv.c, dev/mulaw.c, dev/aurateconv.c,
dev/tc/bba.c, dev/ic/msm6258.c, and arch/arm/iomd/vidcaudio.c are
reimplemented as stream_filter_t

* MI audio
 - audiosetinfo() builds filter pipelines from stream_filter_list_t
filled by audio_hw_if::set_params()
 - audiosetinfo() returns with EINVAL if mmapped and set_params()
requests filters
 - audio_write(), audio_pint(), and audio_rint() invoke a filter
pipeline.
 - ioctl() for FIONREAD, AUDIO_WSEEK, AUDIO_GETIOFFS,
AUDIO_GETOOFFS, and audio_prinfo::{seek,samples} for
AUDIO_GETINFO handle values for a buffer nearest to userland.

* add `struct device *' parameter to ac97_attach()

* all of audio HW drivers follow audio_hw_if and ac97 changes
2005-01-10 22:01:36 +00:00
..
compile
conf Add commented out pf and pflog pseudo-devices. 2005-01-01 21:20:19 +00:00
dev Print board identification, same as we do on the IP2x machines. 2004-11-12 23:01:01 +00:00
eisa
gio Abbreviate identification message to fit in 80 columns. 2004-09-29 05:13:39 +00:00
hpc merge kent-audio1 branch, which introduces audio filter pipeline to the MI 2005-01-10 22:01:36 +00:00
include Pull host/arch native label information into bootblock.h. Therefore pieces of 2004-11-24 21:59:32 +00:00
ioc Add dedicated IOC (I/O Controller) driver. pckbc, zstty, and lpt will each 2003-12-15 10:23:52 +00:00
mace Fix comment. 2004-11-24 17:31:58 +00:00
pci Use ANSI function declarations. 2004-09-29 04:06:51 +00:00
sgimips Prepend HPC3 macros universally with "HPC3_" to distinctly recognise 2004-12-30 23:18:09 +00:00
stand Retool sgivol into a proper hostool that doesn't depend on disklabel.h. 2004-11-24 22:01:21 +00:00
xio
Makefile
README.IPn Correct the names of a few system types. 2004-09-29 07:37:02 +00:00
TODO

$NetBSD: README.IPn,v 1.6 2004/09/29 07:37:02 soren Exp $

Arch (kernel)	Models				Codename
-------------	------				--------
IP2		IRIS 3000
IP4		4D/50, 4D/70
IP4.5		4D/60, 4D/80, 4D/85
IP5		4D/1x0
IP6		4D/20
IP10 (IP6)	4D/25
IP7		4D/2x0
IP9		4D/210
IP13 (IP7)	4D/3x0
IP15 (IP7)	4D/4x0
IP12		4D/30, 4D/35, Indigo R3K
IP17		Crimson
IP19		Challenge L/XL, Onyx		Everest
IP20		Indigo R4K
IP21		Power Challenge R8K, Power Onyx	Everest
IP22		Indigo2, Challenge M		Fullhouse
IP24 (IP22)	Indy, Challenge S 		Guiness
IP25		Power Challenge R10K		Everest
IP26		Power Indigo2 R8K		Teuton
IP27		Origin 200, Origin 2000, Onyx2
IP28		Power Indigo2 R10K		Pacecar
IP30		Octane				Speedracer
IP32		O2				Moosehead
IP33		SN1 (?)
IP35		SN1 (?)

Architecture	ABI	Bootstrap Load Address	Kernel Load Address
------------	---	----------------------	-------------------
IP19 IP21 IP25	32	0x80004000		0x80100000
IP19 IP21 IP25	64	0xa800000000004000	0xa800000000180000
IP20 IP22 IP24	32	0x88002000		0x88069000
IP22 IP24 IP26	64	0xa800000008002000	0xa800000008069000
IP28		64	0xa800000020003000	0xa800000020080000
IP30		64	0xa800000020004000	0xa800000020080000
IP32		32	0x80002000		0x80069000
IP32		64	0xa800000000002000	0xa800000000078000
IP33		64	0xa800000000019000	0xa800000000300000