History log of /src/sys/arch/sparc/dev/audioamd.c |
Revision | | Date | Author | Comments |
1.30 |
| 12-Sep-2020 |
isaki | Improve am7930 family drivers to share more code. audioamd(4) on sparc, vsaudio(4) on vax, and bba(4) are. - Remove complex and useless callbacks: onopen, onclose, and indirect_{read,write}. This makes audioamd and vsaudio almost the same. - Remove (already disabled) assembly fast interrupt path from audioamd(4). cf. http://mail-index.netbsd.org/source-changes/2009/12/19/msg004585.html - Use trigger_* method rather than start_* method. It's more suitable. vsaudio(4) was tested by naru@, bba(4) was tested by tsutsui@.
|
1.29 |
| 08-May-2019 |
isaki | branches: 1.29.2; Merge isaki-audio2 branch, the overhaul of audio subsystem. - Interrupt-oriented system rather than thread-oriented. - Improve stability, quality and performance. - Split playback and record cleanly. Improve halfduplex support. - Many bugs are fixed including deadlocks, resource leaks, abuses, etc. - Simplify audio filter mechanism. The encoding/channels/frequency conversions are completely handled in the upper layer. So the hard- ware driver only converts its hardware encoding (if necessary). - audio_hw_if changes: - Obsoletes query_encoding and add query_format instead. - Obsoletes set_params and add set_format instead. - Remove drain, setfd, mappage. - The call sequences are changed. - ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted. - ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced. - cleanup config attributes: au*conv and mulaw. - All hardware drivers should follow it (I've done as much as possible).
Some file paths are changed: - dev/audio.c -> dev/audio/audio.c (rewritten) - dev/audiovar.h -> dev/audio/audiovar.h - dev/audio_dai.h -> dev/audio/audio_dai.h - dev/audio_if.h -> dev/audio/audio_if.h - dev/audiobell.c -> dev/audio/audiobell.c - dev/audiobellvar.h -> dev/audio/audiobellvar.h - dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
|
1.28 |
| 16-Mar-2019 |
isaki | branches: 1.28.2; Use C99 style struct initializer to audio_hw_if.
|
1.27 |
| 23-Nov-2011 |
jmcneill | branches: 1.27.50; Merge jmcneill-audiomp3 branch, which is derived from ad-audiomp2. From the original ad-audiomp branch notes:
Add MP locking to the audio drivers.
Making the audio drivers MP safe is necessary before efforts can be made to make the VM system MP safe.
The are two locks per device instance, an ISR lock and a character device lock. The ISR lock replaces calls to splaudio()/splx(), and will be held across calls to device methods which were called at splaudio() before (e.g. trigger_output). The character device lock is held across calls to nearly all of the methods, excluding some only used for initialization, e.g. get_locks.
Welcome to 5.99.57.
|
1.26 |
| 04-Jun-2011 |
tsutsui | branches: 1.26.2; 1.26.4; Split device_t/softc of am7930. No crash on TME and GXemul.
|
1.25 |
| 19-Dec-2009 |
tsutsui | branches: 1.25.4; 1.25.6; 1.25.10; Disable "fast trap" handlers which invoke software interrupts in sparc/amd7930intr.s and sparc/bsd_fdintr.s until they are rewritten to adapt new MI softint(9) API.
No particular comments on PR port-sparc/42192, but this fixes timeout problem on floppy access on my SPARCstation 1+.
XXX: floppy support on sun4m seems to have another problem (data overrun).
|
1.24 |
| 17-Sep-2009 |
tsutsui | Use device_t, cfdriver_t, device_private(), device_xname(), and appropriate types and variables for device_t/softc.
|
1.23 |
| 03-Dec-2007 |
ad | branches: 1.23.18; 1.23.28; 1.23.36; Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high. - Acquire kernel_lock only for interrupts at IPL_VM. - Implement threaded soft interrupts.
|
1.22 |
| 27-Nov-2007 |
ad | Use the softint API.
|
1.21 |
| 11-Dec-2005 |
christos | branches: 1.21.28; 1.21.30; 1.21.48; 1.21.50; 1.21.56; merge ktrace-lwp.
|
1.20 |
| 15-Jan-2005 |
kent | branches: 1.20.10; ansify and KNF
|
1.19 |
| 29-Oct-2004 |
yamt | constify audio_hw_if, midi_hw_if, and radio_hw_if.
|
1.18 |
| 11-Jul-2004 |
mycroft | Make this build again.
|
1.17 |
| 15-Jul-2003 |
lukem | __KERNEL_RCSID()
|
1.16 |
| 10-Dec-2002 |
pk | branches: 1.16.6; Remove the `flags' argument from bus_intr_establish().
|
1.15 |
| 10-Dec-2002 |
pk | The `fast trap' handlers are now pssed as an optional argument to bus_intr_establish(). Allow fall-back on a regular interrupt handler if the interrupt level must be shared with another device.
|
1.14 |
| 09-Dec-2002 |
pk | Finish the switch to the softintr(9) framework.
To make this work, we now have to use separate handler lists for hardware and software interrupts as the soft interrupt handlers do not return an `interrupt handled' status.
Thanks to Matt Fredette for providing an initial set of patches on port-sparc.
|
1.13 |
| 15-Oct-2002 |
jdc | Add audioamd at obio attachment. Now we have working audio on 4/600's :
audioamd0 at obio0 slot 0 offset 0x500000 level 13 softpri 4 audio0 at audioamd0: full duplex
|
1.12 |
| 02-Oct-2002 |
thorpej | Add trailing ; to CFATTACH_DECL.
|
1.11 |
| 01-Oct-2002 |
thorpej | Use CFATTACH_DECL().
|
1.10 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.9 |
| 13-Jun-2002 |
gmcgarry | Make this work with AUDIO_C_HANDLER.
|
1.8 |
| 11-Mar-2002 |
pk | branches: 1.8.4; 1.8.6; * `bus_type_t' is gone. * Use BUS_ADDR() where appropriate to encode I/O space and physical address offset into a `bus_addr_t' value. * Drop obio_bus_map() since it's now completely equivalent to bus_space_map() * Use bus_space_map2() to map device space at a fixed virtual address. * Remove the virtual address argument from sbus_sbus_addr()
|
1.7 |
| 03-Oct-2001 |
augustss | branches: 1.7.4; Add a new optional method, dev_ioctl, to the audio hardware driver interface. It is called when an unrecognized ioctl() is performed on a device, thus allowing ioctl()s that frob the hardware driver (like loading microcode).
|
1.6 |
| 09-Jul-2000 |
pk | branches: 1.6.2; 1.6.4; 1.6.6; Add a `device class' interrupt level argument (from machine/intr.h) to bus_interrupt_establish().
It's currently only used in sparc64/dev/psycho.c to assign a CPU interrupt level to devices in PCI slots.
|
1.5 |
| 06-Jun-2000 |
gmcgarry | branches: 1.5.2; - Clean up use of AUDIO_C_HANDLER. - Copy bus_space handles into auio for fast handler.
|
1.4 |
| 04-Jun-2000 |
cgd | Implement the more flexiable `evcnt' interface as discussed (briefly) on tech-kern and now documented in evcnt(9).
|
1.3 |
| 08-May-2000 |
mycroft | branches: 1.3.2; Make the audioamd assembler code compile again.
|
1.2 |
| 08-May-2000 |
mycroft | Make the SPARC audioamd driver at least *compile*. Well, the C code, that is. *sigh*
|
1.1 |
| 02-May-2000 |
augustss | Adapt to new am7930 driver. PR 10033 from Gregory McGarry.
|
1.3.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.5.2.1 |
| 19-Jul-2000 |
mrg | pull up sparc/sparc64 bus_intr_establish() changes, necessary for sparc64 (originally done by pk, approved by thorpej):
>Add a `device class' interrupt level argument (from machine/intr.h) >to bus_interrupt_establish(). > >It's currently only used in sparc64/dev/psycho.c to assign a CPU interrupt >level to devices in PCI slots.
|
1.6.6.4 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.6.6.3 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.6.6.2 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.6.6.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.6.4.1 |
| 11-Oct-2001 |
fvdl | Catch up with -current. Fix some bogons in the sparc64 kbd/ms attach code. cd18xx conversion provided by mrg.
|
1.6.2.2 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.6.2.1 |
| 09-Jul-2000 |
bouyer | file audioamd.c was added on branch thorpej_scsipi on 2000-11-20 20:25:30 +0000
|
1.7.4.5 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
1.7.4.4 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.7.4.3 |
| 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.7.4.2 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.7.4.1 |
| 03-Oct-2001 |
nathanw | file audioamd.c was added on branch nathanw_sa on 2002-04-01 07:42:38 +0000
|
1.8.6.1 |
| 24-Jun-2002 |
lukem | Pull up revision 1.9 (requested by pk in ticket #357): Make this work with AUDIO_C_HANDLER.
|
1.8.4.1 |
| 15-Jul-2002 |
gehenna | catch up with -current.
|
1.16.6.5 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
1.16.6.4 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.16.6.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.16.6.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.16.6.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.20.10.1 |
| 07-Dec-2007 |
yamt | sync with head
|
1.21.56.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.21.50.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.21.48.2 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.21.48.1 |
| 03-Dec-2007 |
joerg | Sync with HEAD.
|
1.21.30.1 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.21.28.1 |
| 27-Feb-2007 |
ad | Add MP locking for audio drivers.
|
1.23.36.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.23.28.1 |
| 23-Jan-2010 |
bouyer | Pull up following revision(s) (requested by tsutsui in ticket #1251): sys/arch/sparc/sparc/auxreg.h: revision 1.13 distrib/sparc/ramdisk/dot.profile: revision 1.20 sys/arch/sparc/dev/audioamd.c: revision 1.25 sys/arch/sparc/dev/fd.c: revision 1.147 sys/arch/sparc/stand/common/promdev.c: revision 1.23 distrib/sparc/miniroot/Makefile.inc: revision 1.16 Build miniroot binaries for sparc with -Os to shrink instfs.tgz for the second boot floppy which use miniroot objects. This is workaround for PR install/42146, and ok'ed by mrg@. Don't try to read disklabel to check FS_RAID on floppy boot since reopening floppy could cause Data Access Exception later. Fixes PR port-sparc/42186, ok'ed by mrg@. Disable "fast trap" handlers which invoke software interrupts in sparc/amd7930intr.s and sparc/bsd_fdintr.s until they are rewritten to adapt new MI softint(9) API. No particular comments on PR port-sparc/42192, but this fixes timeout problem on floppy access on my SPARCstation 1+. XXX: floppy support on sun4m seems to have another problem (data overrun). Use /dev/fd0a rather than /dev/rfd0a to read instfs.tgz image from floppy. It looks newer (appearred after 1.6) gzip tries to read less than DEV_BSIZE (to check header?) so we can't use raw device directly. (note sparc bootfs ramdisk doesn't have dd(1)) Workaround for PR port-sparc/42193, and would also fix PR install/28734. Explicitly clear AUXIO4M_FTC bit in FTC_FLIP macro used on pseudo-dma for floppy, as well as AUXIO4C_FTC bit for sun4c. A comment in the macro says AUXIO4M_FTC bit is auto-clear, but my two SS20s (including compatible) with 150MHz hyperSPARCs get data_overrun without it, and no bad side effect on SS5 (works with and without this change). Closes PR port-sparc/42516, which is the last one of a bunch of floppy issue on NetBSD/sparc since NetBSD 2.0 days. See http://mail-index.NetBSD.org/port-sparc/2009/12/20/msg000484.html for details.
|
1.23.18.1 |
| 11-Mar-2010 |
yamt | sync with head
|
1.25.10.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.25.6.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.25.4.1 |
| 12-Jun-2011 |
rmind | sync with head
|
1.26.4.3 |
| 22-Nov-2011 |
jmcneill | get rid of unused 'powerstate' callback in audio_hw_if
|
1.26.4.2 |
| 20-Nov-2011 |
mrg | use the sc_intr_lock when calling the rint/tint functions.
|
1.26.4.1 |
| 20-Nov-2011 |
mrg | port the am7930 drivers to audiomp. sparc and pmax GENERIC builds, but i am unable to test these drivers.
|
1.26.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.27.50.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.28.2.2 |
| 04-May-2019 |
isaki | Move dev/audio_if.h -> dev/audio/audio_if.h
|
1.28.2.1 |
| 22-Apr-2019 |
isaki | Adapt am7930 families to audio2. - Remove {input/output}_conv stuff from am7930_glue. Filter pipelines for user encoding are not necessary in audio2 so the driver only needs to handle its hardware encoding. - audioamd/vsaudio use an ordinal linear-mulaw conversion filter and bba requires special one. dev/audio/mulaw.c supports this variant just for bba. It might not a good way for bba but it keeps all other drivers simple. - Tested on vsaudio(4) by naru@, bba(4) by tsutsui@ (a few months ago). Thanks!
|
1.29.2.1 |
| 31-Mar-2021 |
martin | Apply patch, requested by tsutsui in ticket #1239:
sys/arch/sparc/dev/audioamd.c (apply patch)
Fix for PR 56078 (different solution applied to -current): fix wrong lock usage.
|