Lines Matching refs:intr
373 struct zd_usb_interrupt *intr = &usb->intr; in handle_regs_int_override() local
375 spin_lock(&intr->lock); in handle_regs_int_override()
376 if (atomic_read(&intr->read_regs_enabled)) { in handle_regs_int_override()
377 atomic_set(&intr->read_regs_enabled, 0); in handle_regs_int_override()
378 intr->read_regs_int_overridden = 1; in handle_regs_int_override()
379 complete(&intr->read_regs.completion); in handle_regs_int_override()
381 spin_unlock(&intr->lock); in handle_regs_int_override()
387 struct zd_usb_interrupt *intr = &usb->intr; in handle_regs_int() local
392 spin_lock(&intr->lock); in handle_regs_int()
402 } else if (atomic_read(&intr->read_regs_enabled)) { in handle_regs_int()
404 intr->read_regs.length = urb->actual_length; in handle_regs_int()
405 if (len > sizeof(intr->read_regs.buffer)) in handle_regs_int()
406 len = sizeof(intr->read_regs.buffer); in handle_regs_int()
408 memcpy(intr->read_regs.buffer, urb->transfer_buffer, len); in handle_regs_int()
416 if (!check_read_regs(usb, intr->read_regs.req, in handle_regs_int()
417 intr->read_regs.req_count)) in handle_regs_int()
420 atomic_set(&intr->read_regs_enabled, 0); in handle_regs_int()
421 intr->read_regs_int_overridden = 0; in handle_regs_int()
422 complete(&intr->read_regs.completion); in handle_regs_int()
428 spin_unlock(&intr->lock); in handle_regs_int()
431 if (int_num == CR_INTERRUPT && atomic_read(&intr->read_regs_enabled)) in handle_regs_int()
440 struct zd_usb_interrupt *intr; in int_urb_complete() local
473 intr = &usb->intr; in int_urb_complete()
474 if (hdr->id != USB_INT_ID_REGS && atomic_read(&intr->read_regs_enabled)) in int_urb_complete()
516 struct zd_usb_interrupt *intr = &usb->intr; in usb_int_enabled() local
519 spin_lock_irqsave(&intr->lock, flags); in usb_int_enabled()
520 urb = intr->urb; in usb_int_enabled()
521 spin_unlock_irqrestore(&intr->lock, flags); in usb_int_enabled()
529 struct zd_usb_interrupt *intr = &usb->intr; in zd_usb_enable_int() local
541 spin_lock_irq(&intr->lock); in zd_usb_enable_int()
542 if (intr->urb) { in zd_usb_enable_int()
543 spin_unlock_irq(&intr->lock); in zd_usb_enable_int()
547 intr->urb = urb; in zd_usb_enable_int()
548 spin_unlock_irq(&intr->lock); in zd_usb_enable_int()
551 intr->buffer = usb_alloc_coherent(udev, USB_MAX_EP_INT_BUFFER, in zd_usb_enable_int()
552 GFP_KERNEL, &intr->buffer_dma); in zd_usb_enable_int()
553 if (!intr->buffer) { in zd_usb_enable_int()
560 intr->buffer, USB_MAX_EP_INT_BUFFER, in zd_usb_enable_int()
562 intr->interval); in zd_usb_enable_int()
563 urb->transfer_dma = intr->buffer_dma; in zd_usb_enable_int()
566 dev_dbg_f(zd_usb_dev(usb), "submit urb %p\n", intr->urb); in zd_usb_enable_int()
577 intr->buffer, intr->buffer_dma); in zd_usb_enable_int()
579 spin_lock_irq(&intr->lock); in zd_usb_enable_int()
580 intr->urb = NULL; in zd_usb_enable_int()
581 spin_unlock_irq(&intr->lock); in zd_usb_enable_int()
592 struct zd_usb_interrupt *intr = &usb->intr; in zd_usb_disable_int() local
597 spin_lock_irqsave(&intr->lock, flags); in zd_usb_disable_int()
598 urb = intr->urb; in zd_usb_disable_int()
600 spin_unlock_irqrestore(&intr->lock, flags); in zd_usb_disable_int()
603 intr->urb = NULL; in zd_usb_disable_int()
604 buffer = intr->buffer; in zd_usb_disable_int()
605 buffer_dma = intr->buffer_dma; in zd_usb_disable_int()
606 intr->buffer = NULL; in zd_usb_disable_int()
607 spin_unlock_irqrestore(&intr->lock, flags); in zd_usb_disable_int()
1170 struct zd_usb_interrupt *intr = &usb->intr; in init_usb_interrupt() local
1172 spin_lock_init(&intr->lock); in init_usb_interrupt()
1173 intr->interval = int_urb_interval(zd_usb_to_usbdev(usb)); in init_usb_interrupt()
1174 init_completion(&intr->read_regs.completion); in init_usb_interrupt()
1175 atomic_set(&intr->read_regs_enabled, 0); in init_usb_interrupt()
1176 intr->read_regs.cr_int_addr = cpu_to_le16((u16)CR_INTERRUPT); in init_usb_interrupt()
1615 struct zd_usb_interrupt *intr = &usb->intr; in prepare_read_regs_int() local
1617 spin_lock_irq(&intr->lock); in prepare_read_regs_int()
1618 atomic_set(&intr->read_regs_enabled, 1); in prepare_read_regs_int()
1619 intr->read_regs.req = req; in prepare_read_regs_int()
1620 intr->read_regs.req_count = count; in prepare_read_regs_int()
1621 reinit_completion(&intr->read_regs.completion); in prepare_read_regs_int()
1622 spin_unlock_irq(&intr->lock); in prepare_read_regs_int()
1627 struct zd_usb_interrupt *intr = &usb->intr; in disable_read_regs_int() local
1629 spin_lock_irq(&intr->lock); in disable_read_regs_int()
1630 atomic_set(&intr->read_regs_enabled, 0); in disable_read_regs_int()
1631 spin_unlock_irq(&intr->lock); in disable_read_regs_int()
1638 struct zd_usb_interrupt *intr = &usb->intr; in check_read_regs() local
1639 struct read_regs_int *rr = &intr->read_regs; in check_read_regs()
1679 struct zd_usb_interrupt *intr = &usb->intr; in get_results() local
1680 struct read_regs_int *rr = &intr->read_regs; in get_results()
1683 spin_lock_irq(&intr->lock); in get_results()
1688 *retry = !!intr->read_regs_int_overridden; in get_results()
1704 spin_unlock_irq(&intr->lock); in get_results()
1769 timeout = wait_for_completion_timeout(&usb->intr.read_regs.completion, in zd_usb_ioread16v()