History log of /src/sys/dev/isa/cms.c |
Revision | | Date | Author | Comments |
1.23 |
| 08-May-2019 |
isaki | 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.22 |
| 10-Dec-2016 |
maya | branches: 1.22.16; 1.22.20; Be explicit about precedence of operators Appeases clang when building an ALL kernel
|
1.21 |
| 09-Apr-2012 |
plunky | branches: 1.21.2; 1.21.16; 1.21.20; Tidy up a little, the way that midi attachment code works
- change midi_attach() to omit the 'parent' arg (there are only two callers of this and it is not used)
- change midisyn_attach() to midisyn_init(), so not needing a midi_softc, and fix the midi_pcppi driver to set hw_if and hw_hdl directly in its midi_softc before calling midi_attach()
- add a device_t to opl_softc structure, change opl drivers to store the device 'self' in opl_softc and fix opl_attach() to use this opl_softc->dev field directly rather than a field in an otherwise unused midi_softc
- remove unnecessary midi_softc from opl and cms drivers (child device provides that)
reviewed by mrg
|
1.20 |
| 24-Nov-2011 |
jakllsch | branches: 1.20.2; This hopefully completes the audiomp conversion of cms(4).
|
1.19 |
| 23-Nov-2011 |
jmcneill | 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.18 |
| 28-Apr-2008 |
martin | branches: 1.18.12; 1.18.34; 1.18.36; Remove clause 3 and 4 from TNF licenses
|
1.17 |
| 16-Mar-2008 |
cube | branches: 1.17.2; 1.17.4; Fix compilation. Noted by yamt@.
|
1.16 |
| 15-Mar-2008 |
cube | Split device_t and softc for opl(4). That should have been done along with midi(4), because opl_softc embed a midi_softc. Fixes PR#38242 by Onno van der Linden.
|
1.15 |
| 19-Oct-2007 |
ad | branches: 1.15.12; 1.15.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.14 |
| 16-Nov-2006 |
christos | branches: 1.14.8; 1.14.22; 1.14.24; 1.14.28; __unused removal on arguments; approved by core.
|
1.13 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.12 |
| 30-Jun-2006 |
chap | branches: 1.12.4; 1.12.6; Ankh-Morpork, we have a MIDI driver....
Merge from chap-midi branch, after ~month for review Comments by thorpej@ drochner@ and Alexandre Ratchov
Incorporated: points by thorpej@ drochner@; preliminary support for a stats-collecting ioctl suggested by martin@ from comments by A.R.
PR kern/32441 kern/32442 kern/32567 kern/32588 kern/32694 kern/33590 kern/33614 and one instance of kern/32651
ok martin@
|
1.11 |
| 11-Dec-2005 |
christos | branches: 1.11.4; 1.11.8; 1.11.14; 1.11.16; merge ktrace-lwp.
|
1.10 |
| 27-Feb-2005 |
perry | branches: 1.10.4; nuke trailing whitespace
|
1.9 |
| 04-Feb-2005 |
perry | de-__P
|
1.8 |
| 14-Sep-2004 |
drochner | branches: 1.8.4; 1.8.6; Separate the namespace for default (ie unspecified) locators used by the isa.c bus driver and the "address/whatever not specified" argument passed to leaf device drivers. The former is "ISACF_XXX_DEFAULT" as generaterd by config(8), the latter "ISA_UNKNOWN_XXX", defined in isavar.h. This way we save a dependency of every ISA device driver on "locators.h".
|
1.7 |
| 02-Oct-2002 |
thorpej | branches: 1.7.6; Fix sizeof and whitespace bug from the script I'm using to do the CFATTACH_DECL conversion. (Grumble.)
|
1.6 |
| 02-Oct-2002 |
thorpej | Use CFATTACH_DECL().
|
1.5 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.4 |
| 07-Jan-2002 |
thorpej | Overhaul of the ISA autoconfiguration code to support direct configuration of devices logically attached to the ISA bus:
* Change the isa_attach_args to have arrays of io, mem, irq, drq resources. * Add a "pnpnames" and a linked list of "pnpcompatnames" to the isa_attach_args. If either of these members are non-NULL, direct configuration of the bus is being performed. Add an ISA_DIRECT_CONFIG() macro to test for this. * Drivers are not allowed to modify the isa_attach_args unless direct configuration is not being performed and the probe fucntion is returning success. * Adapt device drivers -- currently, all driver probe routines return "no match" if ISA_DIRECT_CONFIG() evaluates to true.
|
1.3 |
| 13-Nov-2001 |
lukem | add RCSID
|
1.2 |
| 26-Sep-2001 |
thorpej | "cms" is not needs-flag
|
1.1 |
| 01-May-2000 |
augustss | branches: 1.1.6; 1.1.8; 1.1.10; 1.1.12; Add Creative Music System driver. From Gregory McGarry <g.mcgarry@ieee.org>
|
1.1.12.1 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.1.10.2 |
| 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.1.10.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.1.8.5 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.1.8.4 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.1.8.3 |
| 11-Jan-2002 |
nathanw | More catchup.
|
1.1.8.2 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.1.8.1 |
| 08-Oct-2001 |
nathanw | Catch up to -current.
|
1.1.6.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.1.6.1 |
| 01-May-2000 |
bouyer | file cms.c was added on branch thorpej_scsipi on 2000-11-20 11:41:11 +0000
|
1.7.6.4 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.7.6.3 |
| 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.7.6.2 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.7.6.1 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.8.6.2 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.8.6.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.8.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.10.4.3 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.10.4.2 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.10.4.1 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.11.16.1 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.11.14.3 |
| 09-Jun-2006 |
chap | Bit of housecleaning.
"miditune" wasn't a good name for the pitch representation (even if it did come from the MIDI Tuning Specification) because for too many people a 'tune' is a little ditty, not a single pitch. Changed the name to midipitch and added a typedef midipitch_t; renamed the associated macros consistently.
The type and operations on it are now in <sys/midiio.h> because they could show up in userland for manipulation of the MIDI Tuning messages that RP-012 defines. The macro MIDIPITCH_TO_HZ18 expands in userland to ordinary libm calls, and in-kernel to the no-floating-point version in midisyn. A few more operations are defined in userland where libm is available.
At the same time, made midipitch_t signed. It has the bits to spare, and such manipulations as adding several corrections and clamping the result will be simpler with it signed.
|
1.11.14.2 |
| 08-Jun-2006 |
chap | Rototill of midisyn <-> synth driver i/f.
The DOALLOC and FREQXLATE flags are on the way out. Whether a driver wants allocation service is deducible from whether it provides an allocv method, and anyway none does. As for freq, they all get a miditune and can convert it whichever way they want.
Controller handling with midictl is hooked in but few controllers watched yet.
Some macros for manipulating the miditune type are currently in midisynvar.h but should perhaps be exported in midiio.h.
opl no longer has its own master volume state (there was no setter for it anyway, it never changed); soon that will be handled centrally in midisyn.
Builds a kernel. Not all functionality tested yet.
|
1.11.14.1 |
| 07-Jun-2006 |
chap | The midisyn clients now use designated initializers so the method structure can evolve. Only opl currently provides any methods beyond open/close/note-on/note-off. Only cms takes a note number; the others want a frequency. This is good because it is much easier that way to put a common handler for tuning/pitchbend/portamento in midisyn itself.
Next up, axe most methods nobody implements. Split note-on into two methods, one with a frequency, one with a note number, of which a driver provides one or the other. So far all of the clients delegate voice allocation to midisyn, so clarify that the method is getting an actual voice number for the device and not a MIDI channel. If a device that can do its own allocation is later to be supported, let appropriate different methods be added then.
|
1.11.8.1 |
| 11-Aug-2006 |
yamt | sync with head
|
1.11.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.12.6.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.12.6.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.12.4.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.14.28.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.14.24.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.14.24.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.14.22.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.14.8.1 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.15.16.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.15.16.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.15.12.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.17.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.17.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.18.36.1 |
| 19-Nov-2011 |
jmcneill | port ad-audiomp2 branch changes to 5.99.56 todo: - port ad-audiomp2 pcppi changes - these drivers need to be fixed: - emuxki - gcscaudio - hdafg - uaudio - umidi - MD audio drivers
|
1.18.34.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.18.12.1 |
| 11-Dec-2008 |
ad | Checkpoint work in progress.
|
1.20.2.1 |
| 29-Apr-2012 |
mrg | sync to latest -current.
|
1.21.20.1 |
| 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.21.16.1 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.21.2.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.22.20.2 |
| 04-May-2019 |
isaki | Move dev/audio_if.h -> dev/audio/audio_if.h
|
1.22.20.1 |
| 03-May-2019 |
isaki | Remove unnecessary header file.
|
1.22.16.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|