Module Name: src Committed By: snj Date: Sat Sep 23 18:16:20 UTC 2017
Modified Files: src/sys/arch/x68k/dev [netbsd-8]: vs.c vsvar.h Log Message: Pull up following revision(s) (requested by isaki in ticket #172): sys/arch/x68k/dev/vs.c: 1.38-1.39, 1.41-1.44, 1.47-1.48 via patch sys/arch/x68k/dev/vsvar.h: 1.12-1.15 via patch Avoid panic when the device is closed when not playing. Catch up vs_set_params() to recent MI audio (after in-kernel mixer). Before that, MD part had to support all encodings I'd like to support, but currently it's no longer necessary. The hardware is 4bit/1ch/15.6kHz ADPCM but it behaves as 16bit/1ch/16.0kHz PCM. For audio.c < 1.362, the device attach succeeded and playback is still working. For audio.c >= 1.363, the device attach fails again. It does not work yet but I commit it for milestone. Update confused vs_set_params(). play and rec are identical but pfil and rfil are independent. XXX I introduce VS_USE_PREC8 option for debugging purposes temporarily. I'll remove it if the problem is solved. Remove temporary VS_USE_PREC8 option. vs(4) now supports slinear16be and slinear8 (but now work yet). vs(4) became to able to play audio again. At the moment the encoding conversion using set_params() does not seem to work for me. So vs(4) uses local conversion to/from ADPCM instead of it. But this should be a temporary work. XXX The playback quality is very poor compared to before... XXX Recording is not tested. Merge prate and rrate. These can not be separated. - Revert temporary local conversion introduced at rev 1.43. - But does not revert to trigger method. trigger method is not suitable for x68k ADPCM+DMA mechanism. - Don't (re)start ADPCM when DMA is running. This solves the noise. From Y.Sugahara. - Cache dmac xfer. - Finally MI audio supports 4bit precision format without null_filter hack! - Fix reusing play/rec argument as local variables. It is in/out parameter. To generate a diff of this commit: cvs rdiff -u -r1.37.2.1 -r1.37.2.2 src/sys/arch/x68k/dev/vs.c cvs rdiff -u -r1.11 -r1.11.42.1 src/sys/arch/x68k/dev/vsvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.