Lines Matching refs:dregs
159 static volatile struct sun3_dma_regs *dregs; variable
173 dregs->udc_addr = UDC_CSR; in sun3_udc_read()
175 ret = dregs->udc_data; in sun3_udc_read()
183 dregs->udc_addr = reg; in sun3_udc_write()
185 dregs->udc_data = val; in sun3_udc_write()
196 unsigned short csr = dregs->csr; in scsi_sun3_intr()
200 dregs->csr &= ~CSR_DMA_ENABLE; in scsi_sun3_intr()
238 dregs->fifo_count = 0; in sun3scsi_dma_setup()
242 dregs->csr &= ~CSR_FIFO; in sun3scsi_dma_setup()
243 dregs->csr |= CSR_FIFO; in sun3scsi_dma_setup()
248 dregs->csr |= CSR_SEND; in sun3scsi_dma_setup()
250 dregs->csr &= ~CSR_SEND; in sun3scsi_dma_setup()
253 dregs->csr |= CSR_PACK_ENABLE; in sun3scsi_dma_setup()
255 dregs->dma_addr_hi = ((unsigned long)addr >> 16); in sun3scsi_dma_setup()
256 dregs->dma_addr_lo = ((unsigned long)addr & 0xffff); in sun3scsi_dma_setup()
258 dregs->dma_count_hi = 0; in sun3scsi_dma_setup()
259 dregs->dma_count_lo = 0; in sun3scsi_dma_setup()
260 dregs->fifo_count_hi = 0; in sun3scsi_dma_setup()
261 dregs->fifo_count = 0; in sun3scsi_dma_setup()
264 dregs->fifo_count = count; in sun3scsi_dma_setup()
269 dregs->csr &= ~CSR_FIFO; in sun3scsi_dma_setup()
270 dregs->csr |= CSR_FIFO; in sun3scsi_dma_setup()
272 if(dregs->fifo_count != count) { in sun3scsi_dma_setup()
275 dregs->fifo_count, (unsigned int) count); in sun3scsi_dma_setup()
350 csr = dregs->csr; in sun3scsi_dma_start()
352 dregs->dma_count_hi = (sun3_dma_orig_count >> 16); in sun3scsi_dma_start()
353 dregs->dma_count_lo = (sun3_dma_orig_count & 0xffff); in sun3scsi_dma_start()
355 dregs->fifo_count_hi = (sun3_dma_orig_count >> 16); in sun3scsi_dma_start()
356 dregs->fifo_count = (sun3_dma_orig_count & 0xffff); in sun3scsi_dma_start()
378 dregs->csr &= ~CSR_DMA_ENABLE; in sun3scsi_dma_finish()
380 fifo = dregs->fifo_count; in sun3scsi_dma_finish()
388 if ((!write_flag) && (dregs->csr & CSR_LEFT)) { in sun3scsi_dma_finish()
396 switch (dregs->csr & CSR_LEFT) { in sun3scsi_dma_finish()
398 *vaddr = (dregs->bpack_lo & 0xff00) >> 8; in sun3scsi_dma_finish()
403 *vaddr = (dregs->bpack_hi & 0x00ff); in sun3scsi_dma_finish()
408 *vaddr = (dregs->bpack_hi & 0xff00) >> 8; in sun3scsi_dma_finish()
418 if(dregs->csr & CSR_FIFO_EMPTY) in sun3scsi_dma_finish()
429 dregs->udc_addr = 0x32; in sun3scsi_dma_finish()
431 count = 2 * dregs->udc_data; in sun3scsi_dma_finish()
434 fifo = dregs->fifo_count; in sun3scsi_dma_finish()
442 data = dregs->fifo_data; in sun3scsi_dma_finish()
456 dregs->dma_addr_hi = 0; in sun3scsi_dma_finish()
457 dregs->dma_addr_lo = 0; in sun3scsi_dma_finish()
458 dregs->dma_count_hi = 0; in sun3scsi_dma_finish()
459 dregs->dma_count_lo = 0; in sun3scsi_dma_finish()
461 dregs->fifo_count = 0; in sun3scsi_dma_finish()
462 dregs->fifo_count_hi = 0; in sun3scsi_dma_finish()
464 dregs->csr &= ~CSR_SEND; in sun3scsi_dma_finish()
468 dregs->fifo_count = 0; in sun3scsi_dma_finish()
469 dregs->csr &= ~CSR_SEND; in sun3scsi_dma_finish()
472 dregs->csr &= ~CSR_FIFO; in sun3scsi_dma_finish()
473 dregs->csr |= CSR_FIFO; in sun3scsi_dma_finish()
543 dregs = (struct sun3_dma_regs *)(ioaddr + 8); in sun3_scsi_probe()
545 if (sun3_map_test((unsigned long)dregs, &x)) { in sun3_scsi_probe()
548 oldcsr = dregs->csr; in sun3_scsi_probe()
549 dregs->csr = 0; in sun3_scsi_probe()
551 if (dregs->csr == 0x1400) in sun3_scsi_probe()
554 dregs->csr = oldcsr; in sun3_scsi_probe()
569 dregs = (struct sun3_dma_regs *)(ioaddr + 8); in sun3_scsi_probe()
604 dregs->csr = 0; in sun3_scsi_probe()
606 dregs->csr = CSR_SCSI | CSR_FIFO | CSR_INTR; in sun3_scsi_probe()
608 dregs->fifo_count = 0; in sun3_scsi_probe()
610 dregs->fifo_count_hi = 0; in sun3_scsi_probe()
611 dregs->dma_addr_hi = 0; in sun3_scsi_probe()
612 dregs->dma_addr_lo = 0; in sun3_scsi_probe()
613 dregs->dma_count_hi = 0; in sun3_scsi_probe()
614 dregs->dma_count_lo = 0; in sun3_scsi_probe()
616 dregs->ivect = VME_DATA24 | (instance->irq & 0xff); in sun3_scsi_probe()