Lines Matching refs:urb

56  *	with one or more transfer descriptors (TDs) per urb
1351 * urb->transfer_flags:
1358 #define URB_NO_TRANSFER_DMA_MAP 0x0004 /* urb->transfer_dma valid on submit */
1385 struct urb;
1403 typedef void (*usb_complete_t)(struct urb *);
1406 * struct urb - USB Request Block
1585 * when the urb is owned by the hcd, that is, since the call to
1588 struct urb {
1589 /* private: usb core and host controller only fields in the urb */
1596 /* public: documented fields in the urb that can be used by drivers */
1597 struct list_head urb_list; /* list head for use by the urb's
1630 * usb_fill_control_urb - initializes a control urb
1631 * @urb: pointer to the urb to initialize.
1632 * @dev: pointer to the struct usb_device for this urb.
1640 * @context: what to set the urb context to.
1642 * Initializes a control urb with the proper information needed to submit
1651 * cache. For more information, check &struct urb.
1654 static inline void usb_fill_control_urb(struct urb *urb,
1663 urb->dev = dev;
1664 urb->pipe = pipe;
1665 urb->setup_packet = setup_packet;
1666 urb->transfer_buffer = transfer_buffer;
1667 urb->transfer_buffer_length = buffer_length;
1668 urb->complete = complete_fn;
1669 urb->context = context;
1673 * usb_fill_bulk_urb - macro to help initialize a bulk urb
1674 * @urb: pointer to the urb to initialize.
1675 * @dev: pointer to the struct usb_device for this urb.
1681 * @context: what to set the urb context to.
1683 * Initializes a bulk urb with the proper information needed to submit it
1689 static inline void usb_fill_bulk_urb(struct urb *urb,
1697 urb->dev = dev;
1698 urb->pipe = pipe;
1699 urb->transfer_buffer = transfer_buffer;
1700 urb->transfer_buffer_length = buffer_length;
1701 urb->complete = complete_fn;
1702 urb->context = context;
1706 * usb_fill_int_urb - macro to help initialize a interrupt urb
1707 * @urb: pointer to the urb to initialize.
1708 * @dev: pointer to the struct usb_device for this urb.
1714 * @context: what to set the urb context to.
1715 * @interval: what to set the urb interval to, encoded like
1718 * Initializes a interrupt urb with the proper information needed to submit
1729 static inline void usb_fill_int_urb(struct urb *urb,
1738 urb->dev = dev;
1739 urb->pipe = pipe;
1740 urb->transfer_buffer = transfer_buffer;
1741 urb->transfer_buffer_length = buffer_length;
1742 urb->complete = complete_fn;
1743 urb->context = context;
1749 urb->interval = 1 << (interval - 1);
1751 urb->interval = interval;
1754 urb->start_frame = -1;
1757 extern void usb_init_urb(struct urb *urb);
1758 extern struct urb *usb_alloc_urb(int iso_packets, gfp_t mem_flags);
1759 extern void usb_free_urb(struct urb *urb);
1761 extern struct urb *usb_get_urb(struct urb *urb);
1762 extern int usb_submit_urb(struct urb *urb, gfp_t mem_flags);
1763 extern int usb_unlink_urb(struct urb *urb);
1764 extern void usb_kill_urb(struct urb *urb);
1765 extern void usb_poison_urb(struct urb *urb);
1766 extern void usb_unpoison_urb(struct urb *urb);
1767 extern void usb_block_urb(struct urb *urb);
1774 extern void usb_anchor_urb(struct urb *urb, struct usb_anchor *anchor);
1775 extern void usb_unanchor_urb(struct urb *urb);
1778 extern struct urb *usb_get_from_anchor(struct usb_anchor *anchor);
1786 * @urb: URB to be checked
1788 * Return: 1 if @urb describes an IN transfer (device-to-host),
1791 static inline int usb_urb_dir_in(struct urb *urb)
1793 return (urb->transfer_flags & URB_DIR_MASK) == URB_DIR_IN;
1798 * @urb: URB to be checked
1800 * Return: 1 if @urb describes an OUT transfer (host-to-device),
1803 static inline int usb_urb_dir_out(struct urb *urb)
1805 return (urb->transfer_flags & URB_DIR_MASK) == URB_DIR_OUT;
1809 int usb_urb_ep_type_check(const struct urb *urb);
1913 struct urb **urbs;