Commit Graph

73 Commits

Author SHA1 Message Date
uebayasi
8184d5dc03 Don't pull in the whole uvm(9) API to access only PAGE_SIZE and
some other constants.  These are provided by sys/param.h now.
2010-11-13 13:51:57 +00:00
dyoung
c1b390d493 A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.
2010-02-24 22:37:54 +00:00
dyoung
cd6e1fbf91 Expand PMF_FN_* macros. 2010-01-08 19:53:10 +00:00
njoly
85cadc2388 Cleanup interrupt establish error messages. Do not mix
aprint_error/aprint_normal/printf calls for a single line.
2009-11-26 15:17:08 +00:00
cegger
af1172fad0 device_t/softc split
tested by jakllsch@
2009-05-06 18:25:28 +00:00
cegger
52b1d2aee7 struct cfdata * -> cfdata_t 2009-05-05 21:47:49 +00:00
dholland
f446f1c471 Print a message on two previously silent error paths in auvia_attach. 2008-10-11 20:08:15 +00:00
jmcneill
206d3d3809 VT8233+ uses a different register base for capturing, tested by sborrill 2008-07-01 12:43:03 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
cegger
9d57c80079 use aprint_*_dev and device_xname 2008-04-10 19:13:36 +00:00
dyoung
d0f117b7d2 Detach self and children. Use device_t and accessors. Use PMF_FN_*. 2008-02-23 01:54:44 +00:00
tsutsui
e88df705a1 Use htole32() to write parameters to DMA descriptors for big endian machines.
Tested on Pegasos by mrg@ on port-ofppc.
2008-01-14 06:32:10 +00:00
jmcneill
4c1d81b2b5 Merge jmcneill-pm branch. 2007-12-09 20:27:42 +00:00
christos
53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
thorpej
712239e366 Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
2007-02-21 22:59:35 +00:00
christos
168cd830d2 __unused removal on arguments; approved by core. 2006-11-16 01:32:37 +00:00
christos
4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
jmcneill
f135e0d607 Add "name" parameter to powerhook_establish, to aid debugging. No objections
on tech-kern@
2006-09-24 03:53:07 +00:00
christos
7546f55be3 add missing initializer 2006-08-28 00:01:36 +00:00
kent
add0e05fda add support for AC'97 S/PDIF 2006-07-27 15:35:01 +00:00
rpaulo
8935d3bf0f PR 32178: Nicolas Joly: VT8233 AC'97 Audio revision 0x10 small display
fix. I just changed the comment a bit.
2005-11-28 19:00:49 +00:00
thorpej
d36c43c511 Use ANSI function decls and static. 2005-06-28 00:28:41 +00:00
kent
93293b9ec7 ansify and KNF 2005-01-15 15:19:51 +00:00
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
xtraeme
a32e5267fb Fix typo. 2004-11-16 17:15:01 +00:00
kent
c1653144ff adopt auconv_set_converter() 2004-11-13 15:00:48 +00:00
kent
a5158f56a8 remove unused variable 2004-11-10 04:22:31 +00:00
kent
145085fc2f move IS_FIXED_RATE(), SUPPORTS_4CH(), and SUPPORTS_6CH to ac97var.h 2004-11-10 04:20:26 +00:00
kent
971aa8f6c5 print dmesg correctly for VT8237 2004-11-08 06:20:58 +00:00
yamt
18f717bb90 constify audio_hw_if, midi_hw_if, and radio_hw_if. 2004-10-29 12:57:15 +00:00
kent
bac58e9eff add support for suspending/resuming.
patch provided by Rhialto in PR#26432
2004-10-17 08:46:39 +00:00
kent
54cf6460d6 ac97_host_if::reset() returns non-zero value if codec reset fails, and
ac97 is not attached in that case.

PR: kern/26973
2004-09-22 12:20:24 +00:00
mycroft
2728fe0f3f Clean up. Attempt to make these safer against stray interrupts. 2004-07-09 02:42:45 +00:00
mycroft
921c2474ad There's no need to halt the input and output pipes in the close routine --
audio_close() takes care of this.
2004-07-09 01:02:32 +00:00
itojun
aca4c091d3 sprintf -> snprintf 2004-04-22 00:17:10 +00:00
jmmv
8d3610f027 Be consistent with other messages: output "VIA Technologies" instead of
only "VIA".  Also add a missing "Audio" word to a message.
Closes PR kern/25152 by Nicolas Joly.
2004-04-12 15:44:53 +00:00
jmcneill
e927880cc0 Don't allow block sizes < 288 bytes on VT823x chips (patch from kent@).
Fixes kern/22788.
2004-03-31 21:10:04 +00:00
xtraeme
1b33913193 err fix previous (return -> break) in case statement. 2004-03-25 23:07:09 +00:00
xtraeme
8ded9ee13c There are two revisions of the VT8235 audio chipset (0x50 and 0x60), so
print any of them as VT8235, approved by martin@.
2004-03-25 22:48:43 +00:00
martin
82ebc8b5ab Better identify some revisions of via 823* audio chips.
From PR kern/24906.
2004-03-25 10:20:27 +00:00
simonb
b6abb6ab1d Remove some assigned-to but otherwise unused variables. 2003-10-30 01:58:17 +00:00
jmmv
99aaf4a240 Enable auvia_reset_codec's code and wait until the card is available.
Fixes 'invalid codec' problems (at least with AD1980).  Ok'ed by tsarna@.
2003-09-14 14:48:17 +00:00
wiz
1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
thorpej
b193480908 Add extensible malloc types, adapted from FreeBSD. This turns
malloc types into a structure, a pointer to which is passed around,
instead of an int constant.  Allow the limit to be adjusted when the
malloc type is defined, or with a function call, as suggested by
Jonathan Stone.
2003-02-01 06:23:35 +00:00
thorpej
7ec10e2d99 Use aprint_*(). 2003-01-31 00:07:39 +00:00
kent
22d0e4bb85 auvia_set_params:
For a fixed-rate codec, when AUMODE_RECORD and AUDIO_ENCODING_MULAW or
AUDIO_ENCODING_ALAW, use AUDIO_ENCODING_SLINEAR_LE/16bit for native encoding
instead of AUDIO_ENCODING_ULINEAR/8bit because aurateconv does not support
sampling rate conversion for 8 bit PCM.
This change fixes PR kern/18834.
2002-11-04 16:38:49 +00:00
kent
565a6b3384 Support for 4ch/6ch audio playback with VT8233/VT8235. 2002-10-16 15:27:28 +00:00
kent
54419c891c - Enable in-kernel sampling rate conversion for fixed-rate codec
- Remove VRA/VRM enabling in auvia_attach()
- Use ac97_codec_if::set_rate()
- Return no AUDIO_PROPS_MMAP for fixed-rate codec
- Remove unused variables in auvia_softc
2002-10-08 13:10:24 +00:00
kent
e3b5b1897b Revive VIA8233_RP_DXS_[LR]VOL in auvia_trigger_*(). 2002-10-07 16:28:24 +00:00
kent
bebbf91a39 - auvia_trigger_output(): correct register;
AUVIA_RP_CONTROL -> AUVIA_RP_MODE
- auvia_trigger_output(), auvia_trigger_input(): Remove DXS_[LR]VOL setting.
- whitespace
2002-10-06 23:14:25 +00:00