Commit Graph

190 Commits

Author SHA1 Message Date
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
chs 267af995b7 use the generated macros in locators.h rather than hard-coded numbers
to index the cf_loc[] array.  reviewed by allen briggs.
2004-12-14 02:32:02 +00:00
chs 0ded74691b for drivers that support only one instance, use a global variable to ensure
that only one instance is configured rather than requiring that its
unit number be zero.
2004-12-13 02:14:13 +00:00
jmc 355c871f88 Fix the way this checks the object files so it works correctly with make -j 2004-11-29 15:19:26 +00:00
thorpej 7a60e77293 bus_dmamap_load_mbuf(): Skip zero-length mbufs.
kern/24811
2004-11-28 17:34:45 +00:00
bouyer fe4d81db48 pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
2004-11-24 20:49:17 +00:00
christos 30fc143afa Add COMPAT_BSDPTY to the rest of the config files. 2004-11-10 17:54:02 +00:00
christos 1e31f0a642 Use .S for assembly files instead of .s 2004-11-07 21:58:45 +00:00
thorpej fc44282f79 Use elf32-hppa-netbsd output format. 2004-10-30 18:38:38 +00:00
yamt 18f717bb90 constify audio_hw_if, midi_hw_if, and radio_hw_if. 2004-10-29 12:57:15 +00:00
thorpej dc2f2fbe74 Centralize the declaration of booted_device and booted_partition. 2004-10-23 17:07:37 +00:00
yamt d2fe4b34bb move some per-cpu data definitions to MI place so that they can be modified
without touching all ports.  discussed on tech-kern@.
2004-09-22 11:32:02 +00:00
chs b242249052 add driver for harmony audio. from openbsd, adapted for netbsd by me. 2004-09-19 23:03:34 +00:00
chs b42337cb2a fix optimized compilation. 2004-09-19 23:00:29 +00:00
manu 6e3c639957 IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
2004-09-04 23:29:44 +00:00
drochner 46289e1fef Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
2004-08-30 15:05:15 +00:00
jkunz 70b14a8138 Add support for shareing PCI interrupts and PCI-PCI bridges. 2004-08-26 16:52:27 +00:00
jkunz 1035c6af08 Import STI wscons(4) driver from OpenBSD and add new driver for PS/2
keyboard / mouse pots of LASI.
2004-08-26 16:48:06 +00:00
chs ed0b81628a move DBG settings to CPPFLAGS and COPTS as appropriate
so that we can use the default DBG now.
2004-08-09 16:01:37 +00:00
chs 5dd3057b5c replace some spinlock/tsleep code with a lockmgr lock. 2004-08-07 21:40:47 +00:00
chs 272b73cf0a use CALL() instead of "bl" in a few more places. 2004-08-07 21:40:05 +00:00
jkunz a4573e2f18 Rework code to scan for monarch CPU. (cpu0 at mainbus0)
CPU detection now works on E-class machines. (tested on E55)
2004-08-02 11:53:02 +00:00
skrll 69df83b2f1 Fix a merge botch. 2004-07-31 07:31:08 +00:00
skrll 8cd5dd43cc remove now unnecessary "pci_enumerate_bus" definitions here as well 2004-07-31 07:28:28 +00:00
jkunz 4c72b79518 Import PCI support from OpenBSD and update GENERIC config for PCI devices. 2004-07-29 19:10:23 +00:00
jkunz 6ea3501621 Remove SMALL config. It is no longer needed after toolchain and bootloader
problems have been solved.
2004-07-29 19:08:19 +00:00
skrll bc26aea7ac Build hp700's mkboot as a host tool called nbhp700-mkboot. mkboot also
gets built and installed in a hp700 distribution.

TODO

- merge with hp300

- pick a preferred method for dealing with the elf headers.
  hp700-mkboot and prep-mkbootimage (bintuils) vs mips-elf2ecoff and
  tools/installboot
2004-07-28 09:17:31 +00:00
jkunz 8ddbfec17f Implement bus_space_vaddr(9) and add flags for bus space map functions. 2004-07-27 22:16:40 +00:00
jkunz efdaaa6c7d Clean up leftover OpenBSD speciffic multi platform disklabel handling. 2004-07-27 22:14:22 +00:00
chs 3be324ecca call hppa_ras() with CALL() instead of "bl", since the latter has
a limited range.
2004-07-27 14:25:34 +00:00
jkunz 461314c36f Bring the WAX GSC to GSC bus adapter + interrupt controller and the
GSC bus inside the WAX chip to live with some bits from lasi.c and
the OpenBSD wax.c.
2004-07-25 21:52:56 +00:00
chs d2943099a2 FPU fixes and improvements, adapted from openbsd:
- handle exceptions correctly
 - emulation of unimplemented instructions (eg. on PA-7300LC)
2004-07-24 18:59:05 +00:00
chs 4ee5744873 add decl for hppa_ras(). de-__P. 2004-07-18 23:31:26 +00:00
chs 0d86a5cd52 add hppa support for RAS, context stuff, siginfo and scheduler activations:
- add a RAS hook in cpu_switch().
 - fill in the definition of struct mcontext.
 - implement cpu_upcall(), cpu_getmcontext(), cpu_getmcontext() and
   cpu_switchto().
 - for now, force the right priviledge bits and space regs in setcontext().
 - use correct values for __SIMPLELOCK_*.
 - move the user stack to start at a multiple of the pthread stack size
   so that libpthread can use the sp-masking trick.
2004-07-18 23:21:35 +00:00
chs 807ed3c6d2 store the kernel stack pointer for a sleeping LWP in its PCB instead of
in its trapframe.  this is needed for scheduler activations, so that we can
change the user stack pointer via the trapframe.  from openbsd.
2004-07-18 20:27:11 +00:00
atatat f68a9f1ff2 Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
2004-07-15 03:53:44 +00:00
bouyer 21e9a36edc Add options P1003_1B_SEMAPHORE
to all GENERIC-like kernel config files where SYSV* options were already
present (commented out if the SYSV* options are commented out).
Fix lib/25897 and lib/25898.
2004-06-28 21:07:47 +00:00
jkunz 61c5baa29e Ignore disklabel errors. Needed to make netbooting work again on some
old 700 machines and to be able to boot from LIF images on disk.
2004-06-28 16:40:44 +00:00
jkunz 0751bf5e12 The bootloader overwrites itself when relocated to 0x720000 and booting a
"big" kernel like GENERIC. So relocate the boot loader just below kernel text.
2004-06-28 16:27:15 +00:00
abs bd8eb3b5ed Add (commented out) ALTQ options to all GENERIC-like files 2004-06-26 07:32:05 +00:00
itojun 596aec9a47 have pf and pflog pseudo-device (commented out).
reviewed by matt, perry, christos
2004-06-22 14:09:49 +00:00
christos c22e4ed8cd ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM 2004-06-18 15:02:29 +00:00
chs 3dc76deeeb pick up some updates from OpenBSD:
----------------------------
  revision 1.25
  date: 2003/07/15 17:15:32;  author: mickey;  state: Exp;  lines: +2 -2
  model and revision were swappedplaces in the struct
  ----------------------------
  revision 1.23
  date: 2003/03/29 01:00:49;  author: mickey;  state: Exp;  lines: +2 -1
  add some author refs from the older versions of these from much older projects
  ----------------------------
  revision 1.22
  date: 2002/12/15 21:07:26;  author: mickey;  state: Exp;  lines: +22 -4
  max size for the iodc entry point is 64k, by the iodc spec;
  add sysmap defs, used on newer machines.
  ----------------------------
  revision 1.21
  date: 2002/12/15 17:52:02;  author: mickey;  state: Exp;  lines: +2 -1
  pdc device class for fibrechannel; from the iodc spec
  ----------------------------

the 1.22 change fixes the bootloader on my B180L.
2004-06-17 15:35:15 +00:00
christos 0399e839cf Add pseudo-device ptm on all the generic flavored kernels. 2004-06-16 15:07:39 +00:00
jkunz 95f5074f87 Rework code to identify the boot device. 2004-06-15 20:43:41 +00:00
jkunz 2b62e6e461 Use correct disklabel offset. 2004-06-15 20:40:17 +00:00
chs 508451c5cd include opt_ddb.h 2004-06-15 16:28:37 +00:00
itohy 064488f724 Add xxboot 2004-06-15 03:10:56 +00:00
itohy b119940e75 NetBSD/hp700 FFS/LFS Primary Bootstrap 2004-06-15 03:10:30 +00:00
chs a9402ad488 convert another %b to bitmask_snprintf(). 2004-06-11 13:59:40 +00:00