summaryrefslogtreecommitdiff
path: root/sys/arch/sparc/dev/cs4231var.h
diff options
context:
space:
mode:
authorJason Wright <jason@cvs.openbsd.org>2002-09-11 03:11:23 +0000
committerJason Wright <jason@cvs.openbsd.org>2002-09-11 03:11:23 +0000
commitfa38af0572fab40ec124be8a99d172c2939b8e8b (patch)
tree443fefc689b5cfad06823ec25829db11587d21e4 /sys/arch/sparc/dev/cs4231var.h
parent865c39c5aafa8a0f5ee4e4b59420a129033084dd (diff)
update from sparc64 version:
-fix several stupid bugs -get encoding setup correct -add support for capture
Diffstat (limited to 'sys/arch/sparc/dev/cs4231var.h')
-rw-r--r--sys/arch/sparc/dev/cs4231var.h23
1 files changed, 14 insertions, 9 deletions
diff --git a/sys/arch/sparc/dev/cs4231var.h b/sys/arch/sparc/dev/cs4231var.h
index b6542ca7fbd..65e13b0c1cc 100644
--- a/sys/arch/sparc/dev/cs4231var.h
+++ b/sys/arch/sparc/dev/cs4231var.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cs4231var.h,v 1.6 2002/03/14 03:15:59 millert Exp $ */
+/* $OpenBSD: cs4231var.h,v 1.7 2002/09/11 03:11:22 jason Exp $ */
/*
* Copyright (c) 1999 Jason L. Wright (jason@thought.net)
@@ -50,6 +50,16 @@ struct cs_volume {
u_int8_t right;
};
+struct cs_channel {
+ void (*cs_intr)(void *); /* interrupt handler */
+ void *cs_arg; /* interrupt arg */
+ struct cs_dma *cs_curdma; /* current dma block */
+ u_int32_t cs_cnt; /* current block count */
+ u_int32_t cs_blksz; /* current block size */
+ u_int32_t cs_segsz; /* current segment size */
+ int cs_locked; /* channel locked? */
+};
+
struct cs4231_softc {
struct device sc_dev; /* base device */
struct sbusdev sc_sd; /* sbus device */
@@ -59,25 +69,20 @@ struct cs4231_softc {
int sc_node; /* which sbus node */
int sc_burst; /* XXX: DMA burst size in effect */
int sc_open; /* already open? */
- int sc_locked; /* locked? */
- void (*sc_rintr)(void *); /* input completion intr handler */
- void * sc_rarg; /* arg for sc_rintr() */
- void (*sc_pintr)(void *); /* output completion intr handler */
- void * sc_parg; /* arg for sc_pintr() */
+ struct cs_channel sc_playback, sc_capture;
char sc_mute[9]; /* which devs are muted */
u_int8_t sc_out_port; /* output port */
+ u_int8_t sc_in_port; /* input port */
struct cs_volume sc_volume[9]; /* software volume */
+ struct cs_volume sc_adc; /* adc volume */
int sc_format_bits;
int sc_speed_bits;
int sc_precision;
int sc_need_commit;
int sc_channels;
- u_int32_t sc_blksz;
- u_int32_t sc_playcnt;
- u_int32_t sc_playsegsz;
struct cs_dma *sc_dmas; /* dma list */
struct cs_dma *sc_nowplaying;
};