Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/isaki-audio2]: src/sys/dev/pci Adapt to audio2.
details: https://anonhg.NetBSD.org/src/rev/2c3566a221c9
branches: isaki-audio2
changeset: 456018:2c3566a221c9
user: isaki <isaki%NetBSD.org@localhost>
date: Mon Apr 29 09:32:07 2019 +0000
description:
Adapt to audio2.
diffstat:
sys/dev/pci/yds.c | 91 +++++++++++++--------------------------------------
sys/dev/pci/ydsvar.h | 4 +-
2 files changed, 25 insertions(+), 70 deletions(-)
diffs (193 lines):
diff -r 468ad973aec9 -r 2c3566a221c9 sys/dev/pci/yds.c
--- a/sys/dev/pci/yds.c Mon Apr 29 09:30:18 2019 +0000
+++ b/sys/dev/pci/yds.c Mon Apr 29 09:32:07 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: yds.c,v 1.61.2.1 2019/04/21 05:11:22 isaki Exp $ */
+/* $NetBSD: yds.c,v 1.61.2.2 2019/04/29 09:32:07 isaki Exp $ */
/*
* Copyright (c) 2000, 2001 Kazuki Sakamoto and Minoura Makoto.
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: yds.c,v 1.61.2.1 2019/04/21 05:11:22 isaki Exp $");
+__KERNEL_RCSID(0, "$NetBSD: yds.c,v 1.61.2.2 2019/04/29 09:32:07 isaki Exp $");
#include "mpu.h"
@@ -57,8 +57,6 @@
#include <sys/audioio.h>
#include <dev/audio_if.h>
-#include <dev/mulaw.h>
-#include <dev/auconv.h>
#include <dev/ic/ac97reg.h>
#include <dev/ic/ac97var.h>
#include <dev/ic/mpuvar.h>
@@ -151,10 +149,10 @@
static int yds_open(void *, int);
static void yds_close(void *);
-static int yds_query_encoding(void *, struct audio_encoding *);
-static int yds_set_params(void *, int, int, audio_params_t *,
- audio_params_t *, stream_filter_list_t *,
- stream_filter_list_t *);
+static int yds_query_format(void *, audio_format_query_t *);
+static int yds_set_format(void *, int,
+ const audio_params_t *, const audio_params_t *,
+ audio_filter_reg_t *, audio_filter_reg_t *);
static int yds_round_blocksize(void *, int, int, const audio_params_t *);
static int yds_trigger_output(void *, void *, void *, int,
void (*)(void *), void *,
@@ -170,7 +168,6 @@
static void * yds_malloc(void *, int, size_t);
static void yds_free(void *, void *, size_t);
static size_t yds_round_buffersize(void *, int, size_t);
-static paddr_t yds_mappage(void *, void *, off_t, int);
static int yds_get_props(void *);
static int yds_query_devinfo(void *, mixer_devinfo_t *);
static void yds_get_locks(void *, kmutex_t **, kmutex_t **);
@@ -206,8 +203,8 @@
.open = yds_open,
.close = yds_close,
.drain = NULL,
- .query_encoding = yds_query_encoding,
- .set_params = yds_set_params,
+ .query_format = yds_query_format,
+ .set_format = yds_set_format,
.round_blocksize = yds_round_blocksize,
.commit_settings = NULL,
.init_output = NULL,
@@ -225,7 +222,6 @@
.allocm = yds_malloc,
.freem = yds_free,
.round_buffersize = yds_round_buffersize,
- .mappage = yds_mappage,
.get_props = yds_get_props,
.trigger_output = yds_trigger_output,
.trigger_input = yds_trigger_input,
@@ -267,22 +263,18 @@
#define YDS_CAP_BITS "\020\005P44\004LEGFLEX\003LEGSEL\002MCODE1E\001MCODE1"
#endif
-#define YDS_FORMAT(enc, prec, ch, chmask) \
- { \
- .mode = AUMODE_PLAY | AUMODE_RECORD, \
- .encoding = (enc), \
- .validbits = (prec), \
- .precision = (prec), \
- .channels = (ch), \
- .channel_mask = (chmask), \
- .frequency_type = 0, \
- .frequency = { 4000, 48000 }, \
- }
static const struct audio_format yds_formats[] = {
- YDS_FORMAT(AUDIO_ENCODING_SLINEAR_LE, 16, 2, AUFMT_STEREO),
- YDS_FORMAT(AUDIO_ENCODING_SLINEAR_LE, 16, 1, AUFMT_MONAURAL),
- YDS_FORMAT(AUDIO_ENCODING_ULINEAR_LE, 8, 2, AUFMT_STEREO),
- YDS_FORMAT(AUDIO_ENCODING_ULINEAR_LE, 8, 1, AUFMT_MONAURAL),
+ {
+ .mode = AUMODE_PLAY | AUMODE_RECORD,
+ .encoding = AUDIO_ENCODING_SLINEAR_LE,
+ .validbits = 16,
+ .precision = 16,
+ .channels = 2,
+ .channel_mask = AUFMT_STEREO,
+ .frequency_type = 8,
+ .frequency =
+ { 5512, 8000, 11025, 16000, 22050, 32000, 44100, 48000 },
+ },
};
#define YDS_NFORMATS (sizeof(yds_formats) / sizeof(struct audio_format))
@@ -937,13 +929,6 @@
}
}
- if (0 != auconv_create_encodings(yds_formats, YDS_NFORMATS,
- &sc->sc_encodings)) {
- mutex_destroy(&sc->sc_lock);
- mutex_destroy(&sc->sc_intr_lock);
- return;
- }
-
audio_attach_mi(&yds_hw_if, sc, self);
sc->sc_legacy_iot = pa->pa_iot;
@@ -1253,29 +1238,17 @@
}
static int
-yds_query_encoding(void *addr, struct audio_encoding *fp)
+yds_query_format(void *addr, audio_format_query_t *afp)
{
- struct yds_softc *sc;
- sc = addr;
- return auconv_query_encoding(sc->sc_encodings, fp);
+ return audio_query_format(yds_formats, YDS_NFORMATS, afp);
}
static int
-yds_set_params(void *addr, int setmode, int usemode,
- audio_params_t *play, audio_params_t* rec,
- stream_filter_list_t *pfil, stream_filter_list_t *rfil)
+yds_set_format(void *addr, int setmode,
+ const audio_params_t *play, const audio_params_t *rec,
+ audio_filter_reg_t *pfil, audio_filter_reg_t *rfil)
{
- if (setmode & AUMODE_RECORD) {
- if (auconv_set_converter(yds_formats, YDS_NFORMATS,
- AUMODE_RECORD, rec, FALSE, rfil) < 0)
- return EINVAL;
- }
- if (setmode & AUMODE_PLAY) {
- if (auconv_set_converter(yds_formats, YDS_NFORMATS,
- AUMODE_PLAY, play, FALSE, pfil) < 0)
- return EINVAL;
- }
return 0;
}
@@ -1735,22 +1708,6 @@
return size;
}
-static paddr_t
-yds_mappage(void *addr, void *mem, off_t off, int prot)
-{
- struct yds_softc *sc;
- struct yds_dma *p;
-
- if (off < 0)
- return -1;
- sc = addr;
- p = yds_find_dma(sc, mem);
- if (p == NULL)
- return -1;
- return bus_dmamem_mmap(sc->sc_dmatag, p->segs, p->nsegs,
- off, prot, BUS_DMA_WAITOK);
-}
-
static int
yds_get_props(void *addr)
{
diff -r 468ad973aec9 -r 2c3566a221c9 sys/dev/pci/ydsvar.h
--- a/sys/dev/pci/ydsvar.h Mon Apr 29 09:30:18 2019 +0000
+++ b/sys/dev/pci/ydsvar.h Mon Apr 29 09:32:07 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ydsvar.h,v 1.12 2017/06/25 16:07:48 christos Exp $ */
+/* $NetBSD: ydsvar.h,v 1.12.10.1 2019/04/29 09:32:07 isaki Exp $ */
/*
* Copyright (c) 2000, 2001 Kazuki Sakamoto and Minoura Makoto.
@@ -112,8 +112,6 @@
device_t sc_mpu;
bus_space_handle_t sc_mpu_ioh;
- struct audio_encoding_set *sc_encodings;
-
/*
* Power management
*/
Home |
Main Index |
Thread Index |
Old Index