Lines Matching refs:parport_ip32_dma

476 static struct parport_ip32_dma_data parport_ip32_dma;  variable
489 spin_lock_irqsave(&parport_ip32_dma.lock, flags); in parport_ip32_dma_setup_context()
490 if (parport_ip32_dma.left > 0) { in parport_ip32_dma_setup_context()
494 volatile u64 __iomem *ctxreg = (parport_ip32_dma.ctx == 0) ? in parport_ip32_dma_setup_context()
499 if (parport_ip32_dma.left <= limit) { in parport_ip32_dma_setup_context()
500 count = parport_ip32_dma.left; in parport_ip32_dma_setup_context()
510 (unsigned int)parport_ip32_dma.buf, in parport_ip32_dma_setup_context()
511 (unsigned int)parport_ip32_dma.next, in parport_ip32_dma_setup_context()
513 parport_ip32_dma.ctx, ctxval ? "*" : ""); in parport_ip32_dma_setup_context()
515 ctxval |= parport_ip32_dma.next & in parport_ip32_dma_setup_context()
520 parport_ip32_dma.next += count; in parport_ip32_dma_setup_context()
521 parport_ip32_dma.left -= count; in parport_ip32_dma_setup_context()
522 parport_ip32_dma.ctx ^= 1U; in parport_ip32_dma_setup_context()
527 if (parport_ip32_dma.left == 0 && parport_ip32_dma.irq_on) { in parport_ip32_dma_setup_context()
531 parport_ip32_dma.irq_on = 0; in parport_ip32_dma_setup_context()
533 spin_unlock_irqrestore(&parport_ip32_dma.lock, flags); in parport_ip32_dma_setup_context()
543 if (parport_ip32_dma.left) in parport_ip32_dma_interrupt()
544 pr_trace(NULL, "(%d): ctx=%d", irq, parport_ip32_dma.ctx); in parport_ip32_dma_interrupt()
584 if (!parport_ip32_dma.irq_on) { in parport_ip32_dma_start()
588 parport_ip32_dma.irq_on = 1; in parport_ip32_dma_start()
592 parport_ip32_dma.dir = dir; in parport_ip32_dma_start()
593 parport_ip32_dma.buf = dma_map_single(&p->bus_dev, addr, count, dir); in parport_ip32_dma_start()
594 parport_ip32_dma.len = count; in parport_ip32_dma_start()
595 parport_ip32_dma.next = parport_ip32_dma.buf; in parport_ip32_dma_start()
596 parport_ip32_dma.left = parport_ip32_dma.len; in parport_ip32_dma_start()
597 parport_ip32_dma.ctx = 0; in parport_ip32_dma_start()
604 (parport_ip32_dma.next & (MACEPAR_CONTEXT_DATA_BOUND - 1)); in parport_ip32_dma_start()
633 spin_lock_irq(&parport_ip32_dma.lock); in parport_ip32_dma_stop()
634 if (parport_ip32_dma.irq_on) { in parport_ip32_dma_stop()
638 parport_ip32_dma.irq_on = 0; in parport_ip32_dma_stop()
640 spin_unlock_irq(&parport_ip32_dma.lock); in parport_ip32_dma_stop()
668 parport_ip32_dma.left += res[0] + res[1]; in parport_ip32_dma_stop()
676 parport_ip32_dma.irq_on = 1; in parport_ip32_dma_stop()
678 dma_unmap_single(&p->bus_dev, parport_ip32_dma.buf, in parport_ip32_dma_stop()
679 parport_ip32_dma.len, parport_ip32_dma.dir); in parport_ip32_dma_stop()
689 return parport_ip32_dma.left; in parport_ip32_dma_get_residue()
701 spin_lock_init(&parport_ip32_dma.lock); in parport_ip32_dma_register()
702 parport_ip32_dma.irq_on = 1; in parport_ip32_dma_register()