Lines Matching defs:gus_softc
128 struct gus_softc { struct
129 struct device sc_dev; /* base device */
130 struct device *sc_isa; /* pointer to ISA parent */
131 void *sc_ih; /* interrupt vector */
132 struct timeout sc_dma_tmo;
133 bus_space_tag_t sc_iot; /* tag */
134 bus_space_handle_t sc_ioh1; /* handle */
135 bus_space_handle_t sc_ioh2; /* handle */
136 bus_space_handle_t sc_ioh3; /* ICS2101 handle */
137 bus_space_handle_t sc_ioh4; /* MIDI handle */
139 int sc_iobase; /* I/O base address */
140 int sc_irq; /* IRQ used */
141 int sc_drq; /* DMA channel for play */
142 int sc_recdrq; /* DMA channel for recording */
144 int sc_flags; /* Various flags about the GUS */
152 int sc_dsize; /* Size of GUS DRAM */
153 int sc_voices; /* Number of active voices */
154 u_char sc_revision; /* Board revision of GUS */
155 u_char sc_mixcontrol; /* Value of GUS_MIX_CONTROL register */
157 u_long sc_orate; /* Output sampling rate */
158 u_long sc_irate; /* Input sampling rate */
160 int sc_encoding; /* Current data encoding type */
161 int sc_precision; /* # of bits of precision */
162 int sc_channels; /* Number of active channels */
163 int sc_blocksize; /* Current blocksize */
164 int sc_chanblocksize; /* Current blocksize for each in-use
166 short sc_nbufs; /* how many on-GUS bufs per-channel */
167 short sc_bufcnt; /* how many need to be played */
168 void *sc_deintr_buf; /* deinterleave buffer for stereo */
170 int sc_ogain; /* Output gain control */
171 u_char sc_out_port; /* Current out port (generic only) */
172 u_char sc_in_port; /* keep track of it when no codec */
174 void (*sc_dmaoutintr)(void *); /* DMA completion intr handler */
175 void *sc_outarg; /* argument for sc_dmaoutintr() */
176 u_char *sc_dmaoutaddr; /* for isadma_done */
177 u_long sc_gusaddr; /* where did we just put it? */
178 int sc_dmaoutcnt; /* for isadma_done */
180 void (*sc_dmainintr)(void *); /* DMA completion intr handler */
181 void *sc_inarg; /* argument for sc_dmaoutintr() */
182 u_char *sc_dmainaddr; /* for isadma_done */
183 int sc_dmaincnt; /* for isadma_done */
185 struct stereo_dma_intr {
192 } sc_stereo;
198 int sc_dmabuf; /* Which ring buffer we're DMA'ing to */
199 int sc_playbuf; /* Which ring buffer we're playing */
206 struct gus_voice sc_voc[32]; /* Voice data for each voice */
207 union {
210 } u;