Module Name: src
Committed By: isaki
Date: Sun May 5 05:59:40 UTC 2019
Modified Files:
src/sys/dev/pci [isaki-audio2]: cs4280.c cs4280reg.h cs428x.h
Log Message:
Remove encoding conversions on recording.
These are handled in the upper layer now.
To generate a diff of this commit:
cvs rdiff -u -r1.71.2.2 -r1.71.2.3 src/sys/dev/pci/cs4280.c
cvs rdiff -u -r1.7 -r1.7.156.1 src/sys/dev/pci/cs4280reg.h
cvs rdiff -u -r1.16.42.1 -r1.16.42.2 src/sys/dev/pci/cs428x.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/cs4280.c
diff -u src/sys/dev/pci/cs4280.c:1.71.2.2 src/sys/dev/pci/cs4280.c:1.71.2.3
--- src/sys/dev/pci/cs4280.c:1.71.2.2 Sat May 4 07:20:10 2019
+++ src/sys/dev/pci/cs4280.c Sun May 5 05:59:40 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: cs4280.c,v 1.71.2.2 2019/05/04 07:20:10 isaki Exp $ */
+/* $NetBSD: cs4280.c,v 1.71.2.3 2019/05/05 05:59:40 isaki Exp $ */
/*
* Copyright (c) 1999, 2000 Tatoku Ogaito. All rights reserved.
@@ -52,7 +52,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cs4280.c,v 1.71.2.2 2019/05/04 07:20:10 isaki Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cs4280.c,v 1.71.2.3 2019/05/05 05:59:40 isaki Exp $");
#include "midi.h"
@@ -450,9 +450,6 @@ cs4280_intr(void *p)
}
/* Capture Interrupt */
if (intr & HISR_CINT) {
- int i;
- int16_t rdata;
-
handled = 1;
mem = BA1READ4(sc, CS4280_CIE);
BA1WRITE4(sc, CS4280_CIE, (mem & ~CIE_CI_MASK) | CIE_CI_DISABLE);
@@ -463,53 +460,9 @@ cs4280_intr(void *p)
if ((sc->sc_ri&1) == 0)
empty_dma += sc->hw_blocksize;
- /*
- * XXX
- * I think this audio data conversion should be
- * happend in upper layer, but I put this here
- * since there is no conversion function available.
- */
- switch(sc->sc_rparam) {
- case CF_16BIT_STEREO:
- /* just copy it */
- memcpy(sc->sc_rn, empty_dma, sc->hw_blocksize);
- sc->sc_rn += sc->hw_blocksize;
- break;
- case CF_16BIT_MONO:
- for (i = 0; i < 512; i++) {
- rdata = *((int16_t *)empty_dma)>>1;
- empty_dma += 2;
- rdata += *((int16_t *)empty_dma)>>1;
- empty_dma += 2;
- *((int16_t *)sc->sc_rn) = rdata;
- sc->sc_rn += 2;
- }
- break;
- case CF_8BIT_STEREO:
- for (i = 0; i < 512; i++) {
- rdata = *((int16_t*)empty_dma);
- empty_dma += 2;
- *sc->sc_rn++ = rdata >> 8;
- rdata = *((int16_t*)empty_dma);
- empty_dma += 2;
- *sc->sc_rn++ = rdata >> 8;
- }
- break;
- case CF_8BIT_MONO:
- for (i = 0; i < 512; i++) {
- rdata = *((int16_t*)empty_dma) >>1;
- empty_dma += 2;
- rdata += *((int16_t*)empty_dma) >>1;
- empty_dma += 2;
- *sc->sc_rn++ = rdata >>8;
- }
- break;
- default:
- /* Should not reach here */
- aprint_error_dev(sc->sc_dev,
- "unknown sc->sc_rparam: %d\n",
- sc->sc_rparam);
- }
+ /* just copy it */
+ memcpy(sc->sc_rn, empty_dma, sc->hw_blocksize);
+ sc->sc_rn += sc->hw_blocksize;
if (sc->sc_rn >= sc->sc_re)
sc->sc_rn = sc->sc_rs;
}
@@ -752,17 +705,6 @@ cs4280_trigger_input(void *addr, void *s
/* initiate capture DMA */
BA1WRITE4(sc, CS4280_CBA, DMAADDR(p));
- /* setup format information for internal converter */
- sc->sc_rparam = 0;
- if (param->precision == 8) {
- sc->sc_rparam += CF_8BIT;
- sc->sc_rcount <<= 1;
- }
- if (param->channels == 1) {
- sc->sc_rparam += CF_MONO;
- sc->sc_rcount <<= 1;
- }
-
/* set CIE */
cie = BA1READ4(sc, CS4280_CIE) & ~CIE_CI_MASK;
BA1WRITE4(sc, CS4280_CIE, cie | CIE_CI_ENABLE);
Index: src/sys/dev/pci/cs4280reg.h
diff -u src/sys/dev/pci/cs4280reg.h:1.7 src/sys/dev/pci/cs4280reg.h:1.7.156.1
--- src/sys/dev/pci/cs4280reg.h:1.7 Sat Apr 15 21:20:47 2006
+++ src/sys/dev/pci/cs4280reg.h Sun May 5 05:59:40 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: cs4280reg.h,v 1.7 2006/04/15 21:20:47 jmcneill Exp $ */
+/* $NetBSD: cs4280reg.h,v 1.7.156.1 2019/05/05 05:59:40 isaki Exp $ */
/*
* Copyright (c) 1999, 2000 Tatoku Ogaito. All rights reserved.
@@ -217,14 +217,6 @@
#define FRMT_FTV 0x00000adf
-#define CF_MONO 0x01
-#define CF_8BIT 0x02
-
-#define CF_16BIT_STEREO 0x00
-#define CF_16BIT_MONO 0x01
-#define CF_8BIT_STEREO 0x02
-#define CF_8BIT_MONO 0x03
-
#define MIDI_BUSY_WAIT 100
#define MIDI_BUSY_DELAY 100 /* Delay when UART is busy */
Index: src/sys/dev/pci/cs428x.h
diff -u src/sys/dev/pci/cs428x.h:1.16.42.1 src/sys/dev/pci/cs428x.h:1.16.42.2
--- src/sys/dev/pci/cs428x.h:1.16.42.1 Sun Apr 21 07:49:16 2019
+++ src/sys/dev/pci/cs428x.h Sun May 5 05:59:40 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: cs428x.h,v 1.16.42.1 2019/04/21 07:49:16 isaki Exp $ */
+/* $NetBSD: cs428x.h,v 1.16.42.2 2019/05/05 05:59:40 isaki Exp $ */
/*
* Copyright (c) 2000 Tatoku Ogaito. All rights reserved.
@@ -118,7 +118,6 @@ struct cs428x_softc {
int sc_ri;
struct cs428x_dma *sc_rdma;
char *sc_rbuf;
- int sc_rparam; /* record format */
int (*halt_input)(void *);
char sc_rrun; /* recording status */
int sc_rrate; /* recording sample rate */