History log of /src/sys/dev/ic/pl041.c |
Revision | | Date | Author | Comments |
1.8 |
| 29-Feb-2020 |
isaki | Remove rounding by 4 bytes on round_blocksize(). For drivers which supports only 16bit * 2channels sampling, rounding by 4 bytes no longer meaningful.
|
1.7 |
| 23-Feb-2020 |
isaki | Make start_input/halt_input optional if the driver has no recording, make start_output/halt_output optional if the driver has no playback. And remove such never called functions.
|
1.6 |
| 08-May-2019 |
isaki | branches: 1.6.4; 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.5 |
| 03-Sep-2018 |
riastradh | branches: 1.5.2; 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.4 |
| 09-Apr-2018 |
jmcneill | branches: 1.4.2; Use AC97_SLOT_* definitions instead of magic numbers. NFC.
|
1.3 |
| 08-Jun-2017 |
jmcneill | branches: 1.3.2; 1.3.6; 1.3.8; 1.3.10; bus_space_write_multi_4 takes a count, not number of bytes. With this, audio works in qemu.
|
1.2 |
| 08-Jun-2017 |
jmcneill | Fix two bugs: - Inverted test for fifo status in aaci_write_data - Return success from trigger_output (thanks nat)
|
1.1 |
| 08-Jun-2017 |
jmcneill | Add driver for ARM PrimeCell Advanced Audio CODEC interface (PL041).
Don't expect this driver to work on real hardware, but QEMU emulates it.
|
1.3.10.2 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.3.10.1 |
| 16-Apr-2018 |
pgoyette | Sync with HEAD, resolve some conflicts
|
1.3.8.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.3.8.1 |
| 08-Jun-2017 |
jdolecek | file pl041.c was added on branch tls-maxphys on 2017-12-03 11:37:03 +0000
|
1.3.6.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.3.6.1 |
| 08-Jun-2017 |
skrll | file pl041.c was added on branch nick-nhusb on 2017-08-28 17:52:03 +0000
|
1.3.2.2 |
| 09-Jun-2017 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #17): sys/arch/arm/fdt/aaci_fdt.c: revision 1.1 sys/arch/arm/fdt/files.fdt: revision 1.10 sys/arch/evbarm/conf/VEXPRESS_A15: revisions 1.14, 1.15 sys/conf/files: revision 1.1174 sys/dev/ic/pl041.c: revisions 1.1-1.3 sys/dev/ic/pl041var.h: revision 1.1 Add driver for ARM PrimeCell Advanced Audio CODEC interface (PL041). Don't expect this driver to work on real hardware, but QEMU emulates it. -- Add fdt glue for ARM PrimeCell Advanced Audio CODEC interface (PL041). -- Add aaci at fdt, commented out for now. Driver should work (tm) but QEMU and my old Thinkpad can't seem to keep up. -- Fix two bugs: - Inverted test for fifo status in aaci_write_data - Return success from trigger_output (thanks nat) -- Enable aaci -- bus_space_write_multi_4 takes a count, not number of bytes. With this, audio works in qemu.
|
1.3.2.1 |
| 08-Jun-2017 |
snj | file pl041.c was added on branch netbsd-8 on 2017-06-09 16:59:20 +0000
|
1.4.2.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.4.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.5.2.2 |
| 04-May-2019 |
isaki | Move dev/audio_if.h -> dev/audio/audio_if.h
|
1.5.2.1 |
| 27-Apr-2019 |
isaki | Adapt to audio2.
|
1.6.4.1 |
| 29-Feb-2020 |
ad | Sync with head.
|