Lines Matching refs:urb

82 static void dlfb_urb_completion(struct urb *urb);
83 static struct urb *dlfb_get_urb(struct dlfb_data *dlfb);
84 static int dlfb_submit_urb(struct dlfb_data *dlfb, struct urb * urb, size_t len);
288 struct urb *urb;
293 urb = dlfb_get_urb(dlfb);
294 if (!urb)
297 buf = (char *) urb->transfer_buffer;
317 retval = dlfb_submit_urb(dlfb, urb, writesize);
540 static int dlfb_render_hline(struct dlfb_data *dlfb, struct urb **urb_ptr,
547 struct urb *urb = *urb_ptr;
549 u8 *cmd_end = (u8 *) urb->transfer_buffer + urb->transfer_buffer_length;
581 int len = cmd - (u8 *) urb->transfer_buffer;
582 if (dlfb_submit_urb(dlfb, urb, len))
585 urb = dlfb_get_urb(dlfb);
586 if (!urb)
588 *urb_ptr = urb;
589 cmd = urb->transfer_buffer;
590 cmd_end = &cmd[urb->transfer_buffer_length];
606 struct urb *urb;
629 urb = dlfb_get_urb(dlfb);
630 if (!urb) {
634 cmd = urb->transfer_buffer;
640 if (dlfb_render_hline(dlfb, &urb,
647 if (cmd > (char *) urb->transfer_buffer) {
649 if (cmd < (char *) urb->transfer_buffer + urb->transfer_buffer_length)
652 len = cmd - (char *) urb->transfer_buffer;
653 dlfb_submit_urb(dlfb, urb, len);
656 dlfb_urb_completion(urb);
790 struct urb *urb;
807 urb = dlfb_get_urb(dlfb);
808 if (!urb)
811 cmd = urb->transfer_buffer;
815 if (dlfb_render_hline(dlfb, &urb, (char *) info->fix.smem_start,
822 if (cmd > (char *) urb->transfer_buffer) {
824 if (cmd < (char *) urb->transfer_buffer + urb->transfer_buffer_length)
827 len = cmd - (char *) urb->transfer_buffer;
828 dlfb_submit_urb(dlfb, urb, len);
831 dlfb_urb_completion(urb);
1157 struct urb *urb;
1169 urb = dlfb_get_urb(dlfb);
1170 if (!urb)
1173 bufptr = (char *) urb->transfer_buffer;
1181 dlfb_submit_urb(dlfb, urb, bufptr -
1182 (char *) urb->transfer_buffer);
1712 dev_err(&intf->dev, "unable to allocate urb list\n");
1816 static void dlfb_urb_completion(struct urb *urb)
1818 struct urb_node *unode = urb->context;
1822 switch (urb->status) {
1834 __func__, urb->status);
1839 urb->transfer_buffer_length = dlfb->urbs.size; /* reset to actual */
1854 struct urb *urb;
1868 urb = unode->urb;
1871 usb_free_coherent(urb->dev, dlfb->urbs.size,
1872 urb->transfer_buffer, urb->transfer_dma);
1873 usb_free_urb(urb);
1882 struct urb *urb;
1903 urb = usb_alloc_urb(0, GFP_KERNEL);
1904 if (!urb) {
1908 unode->urb = urb;
1911 &urb->transfer_dma);
1914 usb_free_urb(urb);
1923 /* urb->transfer_buffer_length set to actual before submit */
1924 usb_fill_bulk_urb(urb, dlfb->udev,
1927 urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
1939 static struct urb *dlfb_get_urb(struct dlfb_data *dlfb)
1950 "wait for urb interrupted: %d available: %d\n",
1965 return unode->urb;
1968 static int dlfb_submit_urb(struct dlfb_data *dlfb, struct urb *urb, size_t len)
1974 urb->transfer_buffer_length = len; /* set to actual payload len */
1975 ret = usb_submit_urb(urb, GFP_KERNEL);
1977 dlfb_urb_completion(urb); /* because no one else will */
1979 dev_err(&dlfb->udev->dev, "submit urb error: %d\n", ret);