Lines Matching refs:chnl

85 	int chnl;
90 for (chnl = 0; chnl < NCHANS; chnl++) {
91 sema_init(&dmae_stat[chnl].dch_lock, 1, NULL, SEMA_DRIVER,
107 i_dmae_acquire(dev_info_t *dip, int chnl, int (*dmae_waitfp)(), caddr_t arg)
113 chnl, (void *)dmae_waitfp));
115 if (!d37A_dma_valid(chnl))
119 sema_p(&dmae_stat[chnl].dch_lock);
120 } else if (sema_tryp(&dmae_stat[chnl].dch_lock) == 0) {
122 dprintf(("_dma_acquire: channel %d is busy.\n", chnl));
125 &dmae_call_list[chnl]);
133 dprintf(("_dma_acquire: channel %d now allocated.\n", chnl));
140 * purpose: Release the channel semaphore on chnl. Assumes caller actually
147 i_dmae_free(dev_info_t *dip, int chnl)
152 dprintf(("i_dmae_free: channel %d\n", chnl));
154 d37A_dma_release(chnl);
158 sema_v(&dmae_stat[chnl].dch_lock);
160 if (dmae_call_list[chnl])
161 ddi_run_callback(&dmae_call_list[chnl]);
190 _dmae_nxcookie(int chnl)
194 dprintf(("_dmae_nxcookie: chnl %d\n", chnl));
196 if (dmae_stat[chnl].proc) {
198 cookiep = dmae_stat[chnl].proc(dmae_stat[chnl].procparms);
223 ddi_dma_cookie_t *cp, int chnl)
231 rval = d37A_prog_chan(dmaereqp, cp, chnl);
234 chnl, (void *)dmaereqp));
237 chnl, (void *)dmaereqp));
238 dcp = &dmae_stat[chnl];
244 d37A_dma_enable(chnl);
254 * to request the channel semaphore for chnl; mode is
262 ddi_dma_cookie_t *cp, int chnl)
270 rval = d37A_dma_swsetup(dmaereqp, cp, chnl);
273 chnl, (void *)dmaereqp));
276 chnl, (void *)dmaereqp));
277 dcp = &dmae_stat[chnl];
294 i_dmae_swstart(dev_info_t *dip, int chnl)
299 dprintf(("i_dmae_swstart: channel %d.\n", chnl));
301 d37A_dma_swstart(chnl);
307 * purpose: stop DMA activity on chnl.
314 i_dmae_stop(dev_info_t *dip, int chnl)
319 dprintf(("i_dmae_stop: channel %d\n", chnl));
322 d37A_dma_stop(chnl);
324 dmae_stat[chnl].dch_cookiep = NULL;
330 * purpose: Allow the hardware tied to channel chnl to request service
338 i_dmae_enable(dev_info_t *dip, int chnl)
343 dprintf(("i_dmae_enable: channel %d\n", chnl));
345 d37A_dma_enable(chnl);
351 * purpose: Called to mask off hardware requests on channel chnl. Assumes
358 i_dmae_disable(dev_info_t *dip, int chnl)
363 /* dprintf(("i_dmae_disable: disable channel %d.\n", chnl)); */
365 d37A_dma_disable(chnl);
367 dmae_stat[chnl].dch_cookiep = NULL;
379 i_dmae_get_chan_stat(dev_info_t *dip, int chnl, ulong_t *addressp, int *countp)
384 dprintf(("i_dmae_get_chan_stat: channel %d", chnl));
386 d37A_get_chan_stat(chnl, addressp, countp);