Lines Matching defs:gus_softc

170 struct gus_softc {  struct
171 device_t sc_dev; /* base device */
172 kmutex_t sc_lock;
173 kmutex_t sc_intr_lock;
174 void *sc_ih; /* interrupt vector */
175 bus_space_tag_t sc_iot; /* tag */
176 bus_space_handle_t sc_ioh1; /* handle */
177 bus_space_handle_t sc_ioh2; /* handle */
178 bus_space_handle_t sc_ioh3; /* ICS2101 handle */
179 bus_space_handle_t sc_ioh4; /* MIDI handle */
180 char padding[20];
182 callout_t sc_dmaout_ch;
184 isa_chipset_tag_t sc_ic; /* ISA chipset info */
185 char padding1[4];
186 int sc_irq; /* IRQ used */
187 int sc_playdrq; /* DMA channel for play */
188 bus_size_t sc_play_maxsize; /* DMA size for play */
189 int sc_recdrq; /* DMA channel for recording */
190 bus_size_t sc_req_maxsize; /* DMA size for recording */
192 int sc_flags; /* Various flags about the GUS */
200 int sc_dsize; /* Size of GUS DRAM */
201 int sc_voices; /* Number of active voices */
202 u_char sc_revision; /* Board revision of GUS */
203 u_char sc_mixcontrol; /* Value of GUS_MIX_CONTROL register */
205 u_long sc_orate; /* Output sampling rate */
206 u_long sc_irate; /* Input sampling rate */
208 int sc_encoding; /* Current data encoding type */
209 int sc_precision; /* # of bits of precision */
210 int sc_channels; /* Number of active channels */
211 int sc_blocksize; /* Current blocksize */
212 int sc_chanblocksize; /* Current blocksize for each in-use
214 short sc_nbufs; /* how many on-GUS bufs per-channel */
215 short sc_bufcnt; /* how many need to be played */
216 void *sc_deintr_buf; /* deinterleave buffer for stereo */
218 int sc_ogain; /* Output gain control */
219 u_char sc_out_port; /* Current out port (generic only) */
220 u_char sc_in_port; /* keep track of it when no codec */
222 void (*sc_dmaoutintr)(void*); /* DMA completion intr handler */
223 void *sc_outarg; /* argument for sc_dmaoutintr() */
224 u_char *sc_dmaoutaddr; /* for isa_dmadone */
225 u_long sc_gusaddr; /* where did we just put it? */
226 int sc_dmaoutcnt; /* for isa_dmadone */
228 void (*sc_dmainintr)(void*); /* DMA completion intr handler */
229 void *sc_inarg; /* argument for sc_dmaoutintr() */
230 u_char *sc_dmainaddr; /* for isa_dmadone */
231 int sc_dmaincnt; /* for isa_dmadone */
233 struct stereo_dma_intr {
240 } sc_stereo;
246 int sc_dmabuf; /* Which ring buffer we're DMA'ing to */
247 int sc_playbuf; /* Which ring buffer we're playing */
254 struct gus_voice sc_voc[32]; /* Voice data for each voice */
255 union {
258 } u;
259 int sc_iobase; /* I/O base address */