History log of /src/sys/arch/sgimips/mace/mavb.c |
Revision | | Date | Author | Comments |
1.14 |
| 07-Jun-2019 |
isaki | mavb supports only playback for now, so drop FULLDUPLEX and INDEPENDENT property. These properies are valid only for bidirectional device.
|
1.13 |
| 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.12 |
| 16-Mar-2019 |
isaki | branches: 1.12.2; Use C99 style struct initializer to audio_hw_if.
|
1.11 |
| 03-Sep-2018 |
riastradh | Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.10 |
| 17-Feb-2015 |
macallan | branches: 1.10.16; 1.10.18; move DAC1 output channel to master so things like OSS and kmix work as expected
|
1.9 |
| 27-Oct-2012 |
chs | branches: 1.9.14; split device_t/softc for all remaining drivers. replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
|
1.8 |
| 23-Nov-2011 |
jmcneill | branches: 1.8.8; 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.7 |
| 01-Jul-2011 |
dyoung | branches: 1.7.2; 1.7.4; #include <sys/bus.h> instead of <machine/bus.h>.
|
1.6 |
| 23-Aug-2008 |
tsutsui | KNF and misc cosmetics.
|
1.5 |
| 26-Jan-2008 |
jmcneill | branches: 1.5.6; 1.5.10; 1.5.12; 1.5.16; Use auconv to create our encoding list for us.
|
1.4 |
| 17-Oct-2007 |
garbled | branches: 1.4.2; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
1.3 |
| 09-Jul-2007 |
ad | branches: 1.3.2; 1.3.12; 1.3.14; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.2 |
| 13-Apr-2007 |
jmcneill | branches: 1.2.2; 1.2.4; 1.2.6; GC a few commented out lines of code, no functional change.
|
1.1 |
| 13-Apr-2007 |
jmcneill | Add SGI O2 MACE audio driver, from OpenBSD.
|
1.2.6.3 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.2.6.2 |
| 09-Jun-2007 |
ad | Sync with head.
|
1.2.6.1 |
| 13-Apr-2007 |
ad | file mavb.c was added on branch vmlocking on 2007-06-09 21:37:02 +0000
|
1.2.4.1 |
| 03-Oct-2007 |
garbled | Sync with HEAD
|
1.2.2.2 |
| 15-Apr-2007 |
yamt | sync with head.
|
1.2.2.1 |
| 13-Apr-2007 |
yamt | file mavb.c was added on branch yamt-idlelwp on 2007-04-15 16:02:55 +0000
|
1.3.14.3 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.3.14.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.3.14.1 |
| 09-Jul-2007 |
yamt | file mavb.c was added on branch yamt-lazymbuf on 2007-09-03 14:29:20 +0000
|
1.3.12.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.3.12.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.3.2.2 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.3.2.1 |
| 09-Jul-2007 |
mjf | file mavb.c was added on branch mjf-ufs-trans on 2007-07-11 20:01:45 +0000
|
1.4.2.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.5.16.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.5.12.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.5.10.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.5.6.1 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.7.4.4 |
| 22-Nov-2011 |
jmcneill | get rid of unused 'powerstate' callback in audio_hw_if
|
1.7.4.3 |
| 20-Nov-2011 |
jmcneill | no need to enter intr_lock from trigger_output, it's already held
|
1.7.4.2 |
| 20-Nov-2011 |
jmcneill | fix size passed to kmem_free in stream filter dtor
|
1.7.4.1 |
| 20-Nov-2011 |
jmcneill | adapt to audiomp api changes
|
1.7.2.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.7.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.8.8.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.8.8.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.9.14.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.10.18.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.10.16.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.12.2.4 |
| 04-May-2019 |
isaki | Correct precision. Tested by naru@. Thanks.
|
1.12.2.3 |
| 04-May-2019 |
isaki | Move dev/audio_if.h -> dev/audio/audio_if.h
|
1.12.2.2 |
| 21-Apr-2019 |
isaki | Adapt to audio2. - The driver does not support recording so drop CAPTURE property.
|
1.12.2.1 |
| 21-Apr-2019 |
isaki | Use C99 style struct initializer to audio_format.
|