/linux-4.1.27/drivers/usb/wusbcore/ |
H A D | wa-xfer.c | 30 * arrive in the DTI URB. Read it, get the xfer ID, see if there is 66 * timer when a xfer is queued. If the timer expires, release 71 * and their activity record (if no last-xfer-done-ts in the 75 * resources (max-segments-at-the-same-time per xfer, 122 struct wa_xfer *xfer; /* out xfer */ member in struct:wa_seg 125 int isoc_frame_offset; /* starting frame offset in the xfer URB. */ 144 * Protected by xfer->lock 168 static void __wa_populate_dto_urb_isoc(struct wa_xfer *xfer, 170 static void wa_complete_remaining_xfer_segs(struct wa_xfer *xfer, 173 static inline void wa_xfer_init(struct wa_xfer *xfer) wa_xfer_init() argument 175 kref_init(&xfer->refcnt); wa_xfer_init() 176 INIT_LIST_HEAD(&xfer->list_node); wa_xfer_init() 177 spin_lock_init(&xfer->lock); wa_xfer_init() 183 * Note that freeing xfer->seg[cnt]->tr_urb will free the containing 184 * xfer->seg[cnt] memory that was allocated by __wa_xfer_setup_segs. 188 struct wa_xfer *xfer = container_of(_xfer, struct wa_xfer, refcnt); wa_xfer_destroy() local 189 if (xfer->seg) { wa_xfer_destroy() 191 for (cnt = 0; cnt < xfer->segs; cnt++) { wa_xfer_destroy() 192 struct wa_seg *seg = xfer->seg[cnt]; wa_xfer_destroy() 202 kfree(xfer->seg); wa_xfer_destroy() 204 kfree(xfer); wa_xfer_destroy() 207 static void wa_xfer_get(struct wa_xfer *xfer) wa_xfer_get() argument 209 kref_get(&xfer->refcnt); wa_xfer_get() 212 static void wa_xfer_put(struct wa_xfer *xfer) wa_xfer_put() argument 214 kref_put(&xfer->refcnt, wa_xfer_destroy); wa_xfer_put() 271 * xfer is referenced 273 * xfer->lock has to be unlocked 275 * We take xfer->lock for setting the result; this is a barrier 280 static void wa_xfer_giveback(struct wa_xfer *xfer) wa_xfer_giveback() argument 284 spin_lock_irqsave(&xfer->wa->xfer_list_lock, flags); wa_xfer_giveback() 285 list_del_init(&xfer->list_node); wa_xfer_giveback() 286 usb_hcd_unlink_urb_from_ep(&(xfer->wa->wusb->usb_hcd), xfer->urb); wa_xfer_giveback() 287 spin_unlock_irqrestore(&xfer->wa->xfer_list_lock, flags); wa_xfer_giveback() 289 wusbhc_giveback_urb(xfer->wa->wusb, xfer->urb, xfer->result); wa_xfer_giveback() 290 wa_put(xfer->wa); wa_xfer_giveback() 291 wa_xfer_put(xfer); wa_xfer_giveback() 295 * xfer is referenced 297 * xfer->lock has to be unlocked 299 static void wa_xfer_completion(struct wa_xfer *xfer) wa_xfer_completion() argument 301 if (xfer->wusb_dev) wa_xfer_completion() 302 wusb_dev_put(xfer->wusb_dev); wa_xfer_completion() 303 rpipe_put(xfer->ep->hcpriv); wa_xfer_completion() 304 wa_xfer_giveback(xfer); wa_xfer_completion() 315 static void wa_xfer_id_init(struct wa_xfer *xfer) wa_xfer_id_init() argument 317 xfer->id = atomic_add_return(1, &xfer->wa->xfer_id_count); wa_xfer_id_init() 320 /* Return the xfer's ID. */ wa_xfer_id() 321 static inline u32 wa_xfer_id(struct wa_xfer *xfer) wa_xfer_id() argument 323 return xfer->id; wa_xfer_id() 326 /* Return the xfer's ID in transport format (little endian). */ wa_xfer_id_le32() 327 static inline __le32 wa_xfer_id_le32(struct wa_xfer *xfer) wa_xfer_id_le32() argument 329 return cpu_to_le32(xfer->id); wa_xfer_id_le32() 335 * xfer->lock has to be locked 337 static unsigned __wa_xfer_is_done(struct wa_xfer *xfer) __wa_xfer_is_done() argument 339 struct device *dev = &xfer->wa->usb_iface->dev; __wa_xfer_is_done() 342 struct urb *urb = xfer->urb; __wa_xfer_is_done() 345 result = xfer->segs_done == xfer->segs_submitted; __wa_xfer_is_done() 349 for (cnt = 0; cnt < xfer->segs; cnt++) { __wa_xfer_is_done() 350 seg = xfer->seg[cnt]; __wa_xfer_is_done() 354 dev_dbg(dev, "xfer %p ID %08X#%u: bad short segments (%zu)\n", __wa_xfer_is_done() 355 xfer, wa_xfer_id(xfer), cnt, __wa_xfer_is_done() 361 if (!(usb_pipeisoc(xfer->urb->pipe)) __wa_xfer_is_done() 362 && seg->result < xfer->seg_size __wa_xfer_is_done() 363 && cnt != xfer->segs-1) __wa_xfer_is_done() 365 dev_dbg(dev, "xfer %p ID %08X#%u: DONE short %d " __wa_xfer_is_done() 367 xfer, wa_xfer_id(xfer), seg->index, found_short, __wa_xfer_is_done() 371 xfer->result = seg->result; __wa_xfer_is_done() 372 dev_dbg(dev, "xfer %p ID %08X#%u: ERROR result %zi(0x%08zX)\n", __wa_xfer_is_done() 373 xfer, wa_xfer_id(xfer), seg->index, seg->result, __wa_xfer_is_done() 377 xfer->result = seg->result; __wa_xfer_is_done() 378 dev_dbg(dev, "xfer %p ID %08X#%u: ABORTED result %zi(0x%08zX)\n", __wa_xfer_is_done() 379 xfer, wa_xfer_id(xfer), seg->index, seg->result, __wa_xfer_is_done() 383 dev_warn(dev, "xfer %p ID %08X#%u: is_done bad state %d\n", __wa_xfer_is_done() 384 xfer, wa_xfer_id(xfer), cnt, seg->status); __wa_xfer_is_done() 385 xfer->result = -EINVAL; __wa_xfer_is_done() 389 xfer->result = 0; __wa_xfer_is_done() 395 * Mark the given segment as done. Return true if this completes the xfer. 400 * xfer->lock has to be locked 402 static unsigned __wa_xfer_mark_seg_as_done(struct wa_xfer *xfer, __wa_xfer_mark_seg_as_done() argument 406 xfer->segs_done++; __wa_xfer_mark_seg_as_done() 409 return __wa_xfer_is_done(xfer); __wa_xfer_mark_seg_as_done() 450 * command. Forcibly clean up the xfer without waiting for a Transfer __wa_xfer_abort_cb() 454 struct wa_xfer *xfer; __wa_xfer_abort_cb() local 457 xfer = wa_xfer_get_by_id(wa, le32_to_cpu(b->cmd.dwTransferID)); __wa_xfer_abort_cb() 460 if (xfer) { __wa_xfer_abort_cb() 463 struct wa_rpipe *rpipe = xfer->ep->hcpriv; __wa_xfer_abort_cb() 465 dev_err(dev, "%s: cleaning up xfer %p ID 0x%08X.\n", __wa_xfer_abort_cb() 466 __func__, xfer, wa_xfer_id(xfer)); __wa_xfer_abort_cb() 467 spin_lock_irqsave(&xfer->lock, flags); __wa_xfer_abort_cb() 469 while (seg_index < xfer->segs) { __wa_xfer_abort_cb() 470 struct wa_seg *seg = xfer->seg[seg_index]; __wa_xfer_abort_cb() 480 wa_complete_remaining_xfer_segs(xfer, seg_index, __wa_xfer_abort_cb() 482 done = __wa_xfer_is_done(xfer); __wa_xfer_abort_cb() 483 spin_unlock_irqrestore(&xfer->lock, flags); __wa_xfer_abort_cb() 485 wa_xfer_completion(xfer); __wa_xfer_abort_cb() 487 wa_xfer_put(xfer); __wa_xfer_abort_cb() 489 dev_err(dev, "%s: xfer ID 0x%08X already gone.\n", __wa_xfer_abort_cb() 508 static int __wa_xfer_abort(struct wa_xfer *xfer) __wa_xfer_abort() argument 511 struct device *dev = &xfer->wa->usb_iface->dev; __wa_xfer_abort() 513 struct wa_rpipe *rpipe = xfer->ep->hcpriv; __wa_xfer_abort() 521 b->cmd.dwTransferID = wa_xfer_id_le32(xfer); __wa_xfer_abort() 522 b->wa = wa_get(xfer->wa); __wa_xfer_abort() 525 usb_fill_bulk_urb(&b->urb, xfer->wa->usb_dev, __wa_xfer_abort() 526 usb_sndbulkpipe(xfer->wa->usb_dev, __wa_xfer_abort() 527 xfer->wa->dto_epd->bEndpointAddress), __wa_xfer_abort() 536 wa_put(xfer->wa); __wa_xfer_abort() 538 dev_err(dev, "xfer %p: Can't submit abort request: %d\n", __wa_xfer_abort() 539 xfer, result); __wa_xfer_abort() 550 static int __wa_seg_calculate_isoc_frame_count(struct wa_xfer *xfer, __wa_seg_calculate_isoc_frame_count() argument 556 xfer->urb->iso_frame_desc; __wa_seg_calculate_isoc_frame_count() 558 while ((index < xfer->urb->number_of_packets) __wa_seg_calculate_isoc_frame_count() 560 <= xfer->seg_size)) { __wa_seg_calculate_isoc_frame_count() 568 if ((xfer->wa->quirks & WUSB_QUIRK_ALEREON_HWA_CONCAT_ISOC) __wa_seg_calculate_isoc_frame_count() 569 && (xfer->is_inbound == 0) __wa_seg_calculate_isoc_frame_count() 592 static ssize_t __wa_xfer_setup_sizes(struct wa_xfer *xfer, __wa_xfer_setup_sizes() argument 596 struct device *dev = &xfer->wa->usb_iface->dev; __wa_xfer_setup_sizes() 598 struct urb *urb = xfer->urb; __wa_xfer_setup_sizes() 599 struct wa_rpipe *rpipe = xfer->ep->hcpriv; __wa_xfer_setup_sizes() 620 xfer->is_inbound = urb->pipe & USB_DIR_IN ? 1 : 0; __wa_xfer_setup_sizes() 621 xfer->is_dma = urb->transfer_flags & URB_NO_TRANSFER_DMA_MAP ? 1 : 0; __wa_xfer_setup_sizes() 624 xfer->seg_size = le16_to_cpu(rpipe->descr.wBlocks) __wa_xfer_setup_sizes() 625 * 1 << (xfer->wa->wa_descr->bRPipeBlockSize - 1); __wa_xfer_setup_sizes() 629 if (xfer->seg_size < maxpktsize) { __wa_xfer_setup_sizes() 632 xfer->seg_size, maxpktsize); __wa_xfer_setup_sizes() 636 xfer->seg_size = (xfer->seg_size / maxpktsize) * maxpktsize; __wa_xfer_setup_sizes() 640 xfer->segs = 0; __wa_xfer_setup_sizes() 643 * xfer segments will be needed to send the isoc frames. __wa_xfer_setup_sizes() 647 index += __wa_seg_calculate_isoc_frame_count(xfer, __wa_xfer_setup_sizes() 649 ++xfer->segs; __wa_xfer_setup_sizes() 652 xfer->segs = DIV_ROUND_UP(urb->transfer_buffer_length, __wa_xfer_setup_sizes() 653 xfer->seg_size); __wa_xfer_setup_sizes() 654 if (xfer->segs == 0 && *pxfer_type == WA_XFER_TYPE_CTL) __wa_xfer_setup_sizes() 655 xfer->segs = 1; __wa_xfer_setup_sizes() 658 if (xfer->segs > WA_SEGS_MAX) { __wa_xfer_setup_sizes() 660 (urb->transfer_buffer_length/xfer->seg_size), __wa_xfer_setup_sizes() 671 struct wa_xfer *xfer, __wa_setup_isoc_packet_descr() 674 xfer->urb->iso_frame_desc; __wa_setup_isoc_packet_descr() 691 /* Fill in the common request header and xfer-type specific data. */ __wa_xfer_setup_hdr0() 692 static void __wa_xfer_setup_hdr0(struct wa_xfer *xfer, __wa_xfer_setup_hdr0() argument 697 struct wa_rpipe *rpipe = xfer->ep->hcpriv; __wa_xfer_setup_hdr0() 698 struct wa_seg *seg = xfer->seg[0]; __wa_xfer_setup_hdr0() 704 xfer_hdr0->dwTransferID = wa_xfer_id_le32(xfer); __wa_xfer_setup_hdr0() 710 xfer_ctl->bmAttribute = xfer->is_inbound ? 1 : 0; __wa_xfer_setup_hdr0() 711 memcpy(&xfer_ctl->baSetupData, xfer->urb->setup_packet, __wa_xfer_setup_hdr0() 726 __wa_setup_isoc_packet_descr(packet_desc, xfer, seg); __wa_xfer_setup_hdr0() 749 struct wa_xfer *xfer = seg->xfer; wa_seg_dto_cb() local 763 spin_lock_irqsave(&xfer->lock, flags); wa_seg_dto_cb() 764 wa = xfer->wa; wa_seg_dto_cb() 766 if (usb_pipeisoc(xfer->urb->pipe)) { wa_seg_dto_cb() 783 dev_dbg(dev, "xfer 0x%08X#%u: isoc frame = %d, holding_dto = %d, release_dto = %d.\n", wa_seg_dto_cb() 784 wa_xfer_id(xfer), seg->index, seg->isoc_frame_index, wa_seg_dto_cb() 787 spin_unlock_irqrestore(&xfer->lock, flags); wa_seg_dto_cb() 791 spin_lock_irqsave(&xfer->lock, flags); wa_seg_dto_cb() 794 dev_dbg(dev, "xfer 0x%08X#%u: data out done (%zu bytes)\n", wa_seg_dto_cb() 795 wa_xfer_id(xfer), seg->index, seg->result); wa_seg_dto_cb() 804 __wa_populate_dto_urb_isoc(xfer, seg, wa_seg_dto_cb() 809 wa_xfer_get(xfer); wa_seg_dto_cb() 812 dev_err(dev, "xfer 0x%08X#%u: DTO submit failed: %d\n", wa_seg_dto_cb() 813 wa_xfer_id(xfer), seg->index, result); wa_seg_dto_cb() 814 spin_unlock_irqrestore(&xfer->lock, flags); wa_seg_dto_cb() 818 spin_unlock_irqrestore(&xfer->lock, flags); wa_seg_dto_cb() 832 dev_err(dev, "xfer 0x%08X#%u: data out error %d\n", wa_seg_dto_cb() 833 wa_xfer_id(xfer), seg->index, urb->status); wa_seg_dto_cb() 838 wa_xfer_put(xfer); wa_seg_dto_cb() 843 wa_xfer_put(xfer); wa_seg_dto_cb() 845 spin_lock_irqsave(&xfer->lock, flags); wa_seg_dto_cb() 846 rpipe = xfer->ep->hcpriv; wa_seg_dto_cb() 854 __wa_xfer_abort(xfer); wa_seg_dto_cb() 856 done = __wa_xfer_mark_seg_as_done(xfer, seg, WA_SEG_ERROR); wa_seg_dto_cb() 858 spin_unlock_irqrestore(&xfer->lock, flags); wa_seg_dto_cb() 864 wa_xfer_completion(xfer); wa_seg_dto_cb() 868 wa_xfer_put(xfer); wa_seg_dto_cb() 886 struct wa_xfer *xfer = seg->xfer; wa_seg_iso_pack_desc_cb() local 896 spin_lock_irqsave(&xfer->lock, flags); wa_seg_iso_pack_desc_cb() 897 wa = xfer->wa; wa_seg_iso_pack_desc_cb() 899 dev_dbg(dev, "iso xfer %08X#%u: packet descriptor done\n", wa_seg_iso_pack_desc_cb() 900 wa_xfer_id(xfer), seg->index); wa_seg_iso_pack_desc_cb() 901 if (xfer->is_inbound && seg->status < WA_SEG_PENDING) wa_seg_iso_pack_desc_cb() 903 spin_unlock_irqrestore(&xfer->lock, flags); wa_seg_iso_pack_desc_cb() 909 spin_lock_irqsave(&xfer->lock, flags); wa_seg_iso_pack_desc_cb() 910 wa = xfer->wa; wa_seg_iso_pack_desc_cb() 912 rpipe = xfer->ep->hcpriv; wa_seg_iso_pack_desc_cb() 913 pr_err_ratelimited("iso xfer %08X#%u: packet descriptor error %d\n", wa_seg_iso_pack_desc_cb() 914 wa_xfer_id(xfer), seg->index, urb->status); wa_seg_iso_pack_desc_cb() 917 dev_err(dev, "iso xfer: URB max acceptable errors exceeded, resetting device\n"); wa_seg_iso_pack_desc_cb() 923 __wa_xfer_abort(xfer); wa_seg_iso_pack_desc_cb() 925 done = __wa_xfer_mark_seg_as_done(xfer, seg, wa_seg_iso_pack_desc_cb() 928 spin_unlock_irqrestore(&xfer->lock, flags); wa_seg_iso_pack_desc_cb() 930 wa_xfer_completion(xfer); wa_seg_iso_pack_desc_cb() 935 wa_xfer_put(xfer); wa_seg_iso_pack_desc_cb() 947 * seg->xfer could be already gone. 950 * because sometimes the xfer result callback arrives before this 959 struct wa_xfer *xfer = seg->xfer; wa_seg_tr_cb() local 969 spin_lock_irqsave(&xfer->lock, flags); wa_seg_tr_cb() 970 wa = xfer->wa; wa_seg_tr_cb() 972 dev_dbg(dev, "xfer %p ID 0x%08X#%u: request done\n", wa_seg_tr_cb() 973 xfer, wa_xfer_id(xfer), seg->index); wa_seg_tr_cb() 974 if (xfer->is_inbound && wa_seg_tr_cb() 976 !(usb_pipeisoc(xfer->urb->pipe))) wa_seg_tr_cb() 978 spin_unlock_irqrestore(&xfer->lock, flags); wa_seg_tr_cb() 984 spin_lock_irqsave(&xfer->lock, flags); wa_seg_tr_cb() 985 wa = xfer->wa; wa_seg_tr_cb() 987 rpipe = xfer->ep->hcpriv; wa_seg_tr_cb() 989 dev_err(dev, "xfer %p ID 0x%08X#%u: request error %d\n", wa_seg_tr_cb() 990 xfer, wa_xfer_id(xfer), seg->index, wa_seg_tr_cb() 1001 __wa_xfer_abort(xfer); wa_seg_tr_cb() 1003 done = __wa_xfer_mark_seg_as_done(xfer, seg, WA_SEG_ERROR); wa_seg_tr_cb() 1004 spin_unlock_irqrestore(&xfer->lock, flags); wa_seg_tr_cb() 1006 wa_xfer_completion(xfer); wa_seg_tr_cb() 1011 wa_xfer_put(xfer); wa_seg_tr_cb() 1099 static void __wa_populate_dto_urb_isoc(struct wa_xfer *xfer, __wa_populate_dto_urb_isoc() argument 1106 seg->dto_urb->transfer_dma = xfer->urb->transfer_dma + __wa_populate_dto_urb_isoc() 1107 xfer->urb->iso_frame_desc[curr_iso_frame].offset; __wa_populate_dto_urb_isoc() 1109 if (xfer->wa->quirks & WUSB_QUIRK_ALEREON_HWA_CONCAT_ISOC) __wa_populate_dto_urb_isoc() 1113 xfer->urb->iso_frame_desc[curr_iso_frame].length; __wa_populate_dto_urb_isoc() 1119 static int __wa_populate_dto_urb(struct wa_xfer *xfer, __wa_populate_dto_urb() argument 1124 if (xfer->is_dma) { __wa_populate_dto_urb() 1126 xfer->urb->transfer_dma + buf_itr_offset; __wa_populate_dto_urb() 1137 if (xfer->urb->transfer_buffer) { __wa_populate_dto_urb() 1139 xfer->urb->transfer_buffer + __wa_populate_dto_urb() 1148 * and copy the subset of the xfer->urb->sg that __wa_populate_dto_urb() 1153 xfer->urb->sg, __wa_populate_dto_urb() 1168 * The segments are freed by wa_xfer_destroy() when the xfer use count 1173 static int __wa_xfer_setup_segs(struct wa_xfer *xfer, size_t xfer_hdr_size) __wa_xfer_setup_segs() argument 1176 size_t alloc_size = sizeof(*xfer->seg[0]) __wa_xfer_setup_segs() 1177 - sizeof(xfer->seg[0]->xfer_hdr) + xfer_hdr_size; __wa_xfer_setup_segs() 1178 struct usb_device *usb_dev = xfer->wa->usb_dev; __wa_xfer_setup_segs() 1179 const struct usb_endpoint_descriptor *dto_epd = xfer->wa->dto_epd; __wa_xfer_setup_segs() 1184 xfer->seg = kcalloc(xfer->segs, sizeof(xfer->seg[0]), GFP_ATOMIC); __wa_xfer_setup_segs() 1185 if (xfer->seg == NULL) __wa_xfer_setup_segs() 1188 buf_size = xfer->urb->transfer_buffer_length; __wa_xfer_setup_segs() 1189 for (cnt = 0; cnt < xfer->segs; cnt++) { __wa_xfer_setup_segs() 1197 if (usb_pipeisoc(xfer->urb->pipe)) { __wa_xfer_setup_segs() 1199 __wa_seg_calculate_isoc_frame_count(xfer, __wa_xfer_setup_segs() 1206 seg = xfer->seg[cnt] = kmalloc(alloc_size + iso_pkt_descr_size, __wa_xfer_setup_segs() 1211 seg->xfer = xfer; __wa_xfer_setup_segs() 1218 buf_itr_size = min(buf_size, xfer->seg_size); __wa_xfer_setup_segs() 1220 if (usb_pipeisoc(xfer->urb->pipe)) { __wa_xfer_setup_segs() 1247 if (xfer->is_inbound == 0 && buf_size > 0) { __wa_xfer_setup_segs() 1258 if (usb_pipeisoc(xfer->urb->pipe)) { __wa_xfer_setup_segs() 1260 * Fill in the xfer buffer information for the __wa_xfer_setup_segs() 1265 __wa_populate_dto_urb_isoc(xfer, seg, __wa_xfer_setup_segs() 1268 /* fill in the xfer buffer information. */ __wa_xfer_setup_segs() 1269 result = __wa_populate_dto_urb(xfer, seg, __wa_xfer_setup_segs() 1288 usb_free_urb(xfer->seg[cnt]->dto_urb); __wa_xfer_setup_segs() 1290 usb_free_urb(xfer->seg[cnt]->isoc_pack_desc_urb); __wa_xfer_setup_segs() 1292 kfree(xfer->seg[cnt]); __wa_xfer_setup_segs() 1293 xfer->seg[cnt] = NULL; __wa_xfer_setup_segs() 1303 * structure allocated to it and linked in xfer->seg[index] 1309 static int __wa_xfer_setup(struct wa_xfer *xfer, struct urb *urb) __wa_xfer_setup() argument 1312 struct device *dev = &xfer->wa->usb_iface->dev; __wa_xfer_setup() 1317 result = __wa_xfer_setup_sizes(xfer, &xfer_type); __wa_xfer_setup() 1321 result = __wa_xfer_setup_segs(xfer, xfer_hdr_size); __wa_xfer_setup() 1323 dev_err(dev, "xfer %p: Failed to allocate %d segments: %d\n", __wa_xfer_setup() 1324 xfer, xfer->segs, result); __wa_xfer_setup() 1328 xfer_hdr0 = &xfer->seg[0]->xfer_hdr; __wa_xfer_setup() 1329 wa_xfer_id_init(xfer); __wa_xfer_setup() 1330 __wa_xfer_setup_hdr0(xfer, xfer_hdr0, xfer_type, xfer_hdr_size); __wa_xfer_setup() 1336 cpu_to_le32(xfer->seg[0]->isoc_size); __wa_xfer_setup() 1337 for (cnt = 1; cnt < xfer->segs; cnt++) { __wa_xfer_setup() 1339 struct wa_seg *seg = xfer->seg[cnt]; __wa_xfer_setup() 1356 __wa_setup_isoc_packet_descr(packet_desc, xfer, seg); __wa_xfer_setup() 1361 xfer_hdr0->dwTransferLength = transfer_size > xfer->seg_size ? __wa_xfer_setup() 1362 cpu_to_le32(xfer->seg_size) : __wa_xfer_setup() 1364 transfer_size -= xfer->seg_size; __wa_xfer_setup() 1365 for (cnt = 1; cnt < xfer->segs; cnt++) { __wa_xfer_setup() 1366 xfer_hdr = &xfer->seg[cnt]->xfer_hdr; __wa_xfer_setup() 1370 transfer_size > xfer->seg_size ? __wa_xfer_setup() 1371 cpu_to_le32(xfer->seg_size) __wa_xfer_setup() 1373 xfer->seg[cnt]->status = WA_SEG_READY; __wa_xfer_setup() 1374 transfer_size -= xfer->seg_size; __wa_xfer_setup() 1389 static int __wa_seg_submit(struct wa_rpipe *rpipe, struct wa_xfer *xfer, __wa_seg_submit() argument 1398 * Take a ref for each segment urb so the xfer cannot disappear until __wa_seg_submit() 1401 wa_xfer_get(xfer); __wa_seg_submit() 1406 pr_err("%s: xfer %p#%u: REQ submit failed: %d\n", __wa_seg_submit() 1407 __func__, xfer, seg->index, result); __wa_seg_submit() 1408 wa_xfer_put(xfer); __wa_seg_submit() 1413 wa_xfer_get(xfer); __wa_seg_submit() 1417 pr_err("%s: xfer %p#%u: ISO packet descriptor submit failed: %d\n", __wa_seg_submit() 1418 __func__, xfer, seg->index, result); __wa_seg_submit() 1419 wa_xfer_put(xfer); __wa_seg_submit() 1425 struct wahc *wa = xfer->wa; __wa_seg_submit() 1426 wa_xfer_get(xfer); __wa_seg_submit() 1429 pr_err("%s: xfer %p#%u: DTO submit failed: %d\n", __wa_seg_submit() 1430 __func__, xfer, seg->index, result); __wa_seg_submit() 1431 wa_xfer_put(xfer); __wa_seg_submit() 1462 * xfer->lock normally nests the seg_lock and not viceversa. 1469 struct wa_xfer *xfer; __wa_xfer_delayed_run() local 1481 xfer = seg->xfer; __wa_xfer_delayed_run() 1483 * Get a reference to the xfer in case the callbacks for the __wa_xfer_delayed_run() 1485 * the xfer before this function completes. __wa_xfer_delayed_run() 1487 wa_xfer_get(xfer); __wa_xfer_delayed_run() 1488 result = __wa_seg_submit(rpipe, xfer, seg, &dto_done); __wa_xfer_delayed_run() 1492 dev_dbg(dev, "xfer %p ID %08X#%u submitted from delayed [%d segments available] %d\n", __wa_xfer_delayed_run() 1493 xfer, wa_xfer_id(xfer), seg->index, __wa_xfer_delayed_run() 1499 spin_lock_irqsave(&xfer->lock, flags); __wa_xfer_delayed_run() 1500 __wa_xfer_abort(xfer); __wa_xfer_delayed_run() 1505 xfer->segs_done++; __wa_xfer_delayed_run() 1506 done = __wa_xfer_is_done(xfer); __wa_xfer_delayed_run() 1507 spin_unlock_irqrestore(&xfer->lock, flags); __wa_xfer_delayed_run() 1509 wa_xfer_completion(xfer); __wa_xfer_delayed_run() 1512 wa_xfer_put(xfer); __wa_xfer_delayed_run() 1549 * xfer->lock is taken 1554 static int __wa_xfer_submit(struct wa_xfer *xfer) __wa_xfer_submit() argument 1557 struct wahc *wa = xfer->wa; __wa_xfer_submit() 1562 struct wa_rpipe *rpipe = xfer->ep->hcpriv; __wa_xfer_submit() 1568 list_add_tail(&xfer->list_node, &wa->xfer_list); __wa_xfer_submit() 1574 for (cnt = 0; cnt < xfer->segs; cnt++) { __wa_xfer_submit() 1579 seg = xfer->seg[cnt]; __wa_xfer_submit() 1588 result = __wa_seg_submit(rpipe, xfer, seg, __wa_xfer_submit() 1590 dev_dbg(dev, "xfer %p ID 0x%08X#%u: available %u empty %u submitted\n", __wa_xfer_submit() 1591 xfer, wa_xfer_id(xfer), cnt, available, __wa_xfer_submit() 1597 __wa_xfer_abort(xfer); __wa_xfer_submit() 1604 dev_dbg(dev, "xfer %p ID 0x%08X#%u: available %u empty %u delayed\n", __wa_xfer_submit() 1605 xfer, wa_xfer_id(xfer), cnt, available, empty); __wa_xfer_submit() 1609 xfer->segs_submitted++; __wa_xfer_submit() 1636 * xfer->wa filled and refcounted 1637 * xfer->ep filled with rpipe refcounted if 1639 * xfer->urb filled and refcounted (this is the case when called 1643 * xfer->gfp filled 1648 * the submitted URBs or from the xfer-result path to kick in. If xfer 1649 * result never kicks in, the xfer will timeout from the USB code and 1652 static int wa_urb_enqueue_b(struct wa_xfer *xfer) wa_urb_enqueue_b() argument 1656 struct urb *urb = xfer->urb; wa_urb_enqueue_b() 1657 struct wahc *wa = xfer->wa; wa_urb_enqueue_b() 1662 result = rpipe_get_by_ep(wa, xfer->ep, urb, xfer->gfp); wa_urb_enqueue_b() 1684 spin_lock_irqsave(&xfer->lock, flags); wa_urb_enqueue_b() 1685 xfer->wusb_dev = wusb_dev; wa_urb_enqueue_b() 1692 result = __wa_xfer_setup(xfer, urb); wa_urb_enqueue_b() 1698 * Get a xfer reference since __wa_xfer_submit starts asynchronous wa_urb_enqueue_b() 1699 * operations that may try to complete the xfer before this function wa_urb_enqueue_b() 1702 wa_xfer_get(xfer); wa_urb_enqueue_b() 1703 result = __wa_xfer_submit(xfer); wa_urb_enqueue_b() 1708 spin_unlock_irqrestore(&xfer->lock, flags); wa_urb_enqueue_b() 1709 wa_xfer_put(xfer); wa_urb_enqueue_b() 1719 spin_unlock_irqrestore(&xfer->lock, flags); wa_urb_enqueue_b() 1724 rpipe_put(xfer->ep->hcpriv); wa_urb_enqueue_b() 1726 xfer->result = result; wa_urb_enqueue_b() 1730 done = __wa_xfer_is_done(xfer); wa_urb_enqueue_b() 1731 xfer->result = result; wa_urb_enqueue_b() 1732 spin_unlock_irqrestore(&xfer->lock, flags); wa_urb_enqueue_b() 1734 wa_xfer_completion(xfer); wa_urb_enqueue_b() 1735 wa_xfer_put(xfer); wa_urb_enqueue_b() 1745 * wa->xfer_list_lock. If dequeue() jumps in, it first locks xfer->lock 1753 struct wa_xfer *xfer, *next; wa_urb_enqueue_run() local 1765 * can take xfer->lock as well as lock mutexes. wa_urb_enqueue_run() 1767 list_for_each_entry_safe(xfer, next, &tmp_list, list_node) { wa_urb_enqueue_run() 1768 list_del_init(&xfer->list_node); wa_urb_enqueue_run() 1770 urb = xfer->urb; wa_urb_enqueue_run() 1771 if (wa_urb_enqueue_b(xfer) < 0) wa_urb_enqueue_run() 1772 wa_xfer_giveback(xfer); wa_urb_enqueue_run() 1784 struct wa_xfer *xfer, *next; wa_process_errored_transfers_run() local 1799 list_for_each_entry_safe(xfer, next, &tmp_list, list_node) { wa_process_errored_transfers_run() 1804 spin_lock_irqsave(&xfer->lock, flags); wa_process_errored_transfers_run() 1805 ep = xfer->ep; wa_process_errored_transfers_run() 1807 spin_unlock_irqrestore(&xfer->lock, flags); wa_process_errored_transfers_run() 1812 /* complete the xfer. This removes it from the tmp list. */ wa_process_errored_transfers_run() 1813 wa_xfer_completion(xfer); wa_process_errored_transfers_run() 1838 struct wa_xfer *xfer; wa_urb_enqueue() local 1846 dev_err(dev, "BUG? urb %p: NULL xfer buffer & NODMA\n", urb); wa_urb_enqueue() 1857 xfer = kzalloc(sizeof(*xfer), gfp); wa_urb_enqueue() 1858 if (xfer == NULL) wa_urb_enqueue() 1864 wa_xfer_init(xfer); wa_urb_enqueue() 1865 xfer->wa = wa_get(wa); wa_urb_enqueue() 1866 xfer->urb = urb; wa_urb_enqueue() 1867 xfer->gfp = gfp; wa_urb_enqueue() 1868 xfer->ep = ep; wa_urb_enqueue() 1869 urb->hcpriv = xfer; wa_urb_enqueue() 1871 dev_dbg(dev, "xfer %p urb %p pipe 0x%02x [%d bytes] %s %s %s\n", wa_urb_enqueue() 1872 xfer, urb, urb->pipe, urb->transfer_buffer_length, wa_urb_enqueue() 1880 list_add_tail(&xfer->list_node, &wa->xfer_delayed_list); wa_urb_enqueue() 1884 result = wa_urb_enqueue_b(xfer); wa_urb_enqueue() 1893 wa_put(xfer->wa); wa_urb_enqueue() 1894 wa_xfer_put(xfer); wa_urb_enqueue() 1904 kfree(xfer); wa_urb_enqueue() 1923 * still had no time to set the xfer up. Because 1935 struct wa_xfer *xfer; wa_urb_dequeue() local 1947 * Get a xfer ref to prevent a race with wa_xfer_giveback wa_urb_dequeue() 1948 * cleaning up the xfer while we are working with it. wa_urb_dequeue() 1956 xfer = urb->hcpriv; wa_urb_dequeue() 1957 if (xfer == NULL) wa_urb_dequeue() 1959 spin_lock_irqsave(&xfer->lock, flags); wa_urb_dequeue() 1960 pr_debug("%s: DEQUEUE xfer id 0x%08X\n", __func__, wa_xfer_id(xfer)); wa_urb_dequeue() 1961 rpipe = xfer->ep->hcpriv; wa_urb_dequeue() 1963 pr_debug("%s: xfer %p id 0x%08X has no RPIPE. %s", wa_urb_dequeue() 1964 __func__, xfer, wa_xfer_id(xfer), wa_urb_dequeue() 1973 if (__wa_xfer_is_done(xfer)) { wa_urb_dequeue() 1974 pr_debug("%s: xfer %p id 0x%08X already done.\n", __func__, wa_urb_dequeue() 1975 xfer, wa_xfer_id(xfer)); wa_urb_dequeue() 1981 if (!list_empty(&xfer->list_node) && xfer->seg == NULL) wa_urb_dequeue() 1984 if (xfer->seg == NULL) /* still hasn't reached */ wa_urb_dequeue() 1986 /* Ok, the xfer is in flight already, it's been setup and submitted.*/ wa_urb_dequeue() 1987 xfer_abort_pending = __wa_xfer_abort(xfer) >= 0; wa_urb_dequeue() 1993 for (cnt = 0; cnt < xfer->segs; cnt++) { wa_urb_dequeue() 1994 seg = xfer->seg[cnt]; wa_urb_dequeue() 1995 pr_debug("%s: xfer id 0x%08X#%d status = %d\n", wa_urb_dequeue() 1996 __func__, wa_xfer_id(xfer), cnt, seg->status); wa_urb_dequeue() 2000 printk(KERN_ERR "xfer %p#%u: dequeue bad state %u\n", wa_urb_dequeue() 2001 xfer, cnt, seg->status); wa_urb_dequeue() 2007 * this xfer have been submitted, __wa_xfer_is_done will wa_urb_dequeue() 2014 xfer->segs_done++; wa_urb_dequeue() 2024 * and will increment xfer->segs_done. Cleaning up wa_urb_dequeue() 2025 * here could cause wa_buf_in_cb to access the xfer wa_urb_dequeue() 2047 xfer->segs_done++; wa_urb_dequeue() 2053 xfer->result = urb->status; /* -ENOENT or -ECONNRESET */ wa_urb_dequeue() 2054 done = __wa_xfer_is_done(xfer); wa_urb_dequeue() 2055 spin_unlock_irqrestore(&xfer->lock, flags); wa_urb_dequeue() 2057 wa_xfer_completion(xfer); wa_urb_dequeue() 2060 wa_xfer_put(xfer); wa_urb_dequeue() 2064 spin_unlock_irqrestore(&xfer->lock, flags); wa_urb_dequeue() 2065 wa_xfer_put(xfer); wa_urb_dequeue() 2069 list_del_init(&xfer->list_node); wa_urb_dequeue() 2071 xfer->result = urb->status; wa_urb_dequeue() 2072 spin_unlock_irqrestore(&xfer->lock, flags); wa_urb_dequeue() 2073 wa_xfer_giveback(xfer); wa_urb_dequeue() 2074 wa_xfer_put(xfer); wa_urb_dequeue() 2133 * the xfer will complete cleanly. 2135 * xfer->lock must be held 2138 static void wa_complete_remaining_xfer_segs(struct wa_xfer *xfer, wa_complete_remaining_xfer_segs() argument 2142 struct wa_rpipe *rpipe = xfer->ep->hcpriv; wa_complete_remaining_xfer_segs() 2144 for (index = starting_index; index < xfer->segs_submitted; index++) { wa_complete_remaining_xfer_segs() 2145 struct wa_seg *current_seg = xfer->seg[index]; wa_complete_remaining_xfer_segs() 2159 xfer->segs_done++; wa_complete_remaining_xfer_segs() 2165 WARN(1, "%s: xfer 0x%08X#%d. bad seg status = %d\n", wa_complete_remaining_xfer_segs() 2166 __func__, wa_xfer_id(xfer), index, wa_complete_remaining_xfer_segs() 2175 struct urb *buf_in_urb, struct wa_xfer *xfer, struct wa_seg *seg) __wa_populate_buf_in_urb_isoc() 2180 xfer->urb->iso_frame_desc; __wa_populate_buf_in_urb_isoc() 2216 buf_in_urb->transfer_dma = xfer->urb->transfer_dma + __wa_populate_buf_in_urb_isoc() 2230 static int wa_populate_buf_in_urb(struct urb *buf_in_urb, struct wa_xfer *xfer, wa_populate_buf_in_urb() argument 2234 struct wa_seg *seg = xfer->seg[seg_idx]; wa_populate_buf_in_urb() 2240 if (xfer->is_dma) { wa_populate_buf_in_urb() 2241 buf_in_urb->transfer_dma = xfer->urb->transfer_dma wa_populate_buf_in_urb() 2242 + (seg_idx * xfer->seg_size); wa_populate_buf_in_urb() 2251 if (xfer->urb->transfer_buffer) { wa_populate_buf_in_urb() 2253 xfer->urb->transfer_buffer wa_populate_buf_in_urb() 2254 + (seg_idx * xfer->seg_size); wa_populate_buf_in_urb() 2259 and copy the subset of the xfer->urb->sg wa_populate_buf_in_urb() 2263 xfer->urb->sg, wa_populate_buf_in_urb() 2264 seg_idx * xfer->seg_size, wa_populate_buf_in_urb() 2282 * Process a xfer result completion message 2288 static void wa_xfer_result_chew(struct wahc *wa, struct wa_xfer *xfer, wa_xfer_result_chew() argument 2303 spin_lock_irqsave(&xfer->lock, flags); wa_xfer_result_chew() 2305 if (unlikely(seg_idx >= xfer->segs)) wa_xfer_result_chew() 2307 seg = xfer->seg[seg_idx]; wa_xfer_result_chew() 2308 rpipe = xfer->ep->hcpriv; wa_xfer_result_chew() 2310 dev_dbg(dev, "xfer %p ID 0x%08X#%u: bTransferStatus 0x%02x (seg status %u)\n", wa_xfer_result_chew() 2311 xfer, wa_xfer_id(xfer), seg_idx, usb_status, seg->status); wa_xfer_result_chew() 2319 dev_err(dev, "xfer %p#%u: Bad segment state %u\n", wa_xfer_result_chew() 2320 xfer, seg_idx, seg->status); wa_xfer_result_chew() 2325 dev_err(dev, "DTI: xfer %p 0x%08X:#%u failed (0x%02x)\n", wa_xfer_result_chew() 2326 xfer, xfer->id, seg->index, usb_status); wa_xfer_result_chew() 2337 * transfers with data or below for no data, the xfer will complete. wa_xfer_result_chew() 2340 wa_complete_remaining_xfer_segs(xfer, seg->index + 1, wa_xfer_result_chew() 2342 if (usb_pipeisoc(xfer->urb->pipe) wa_xfer_result_chew() 2345 wa->dti_isoc_xfer_in_progress = wa_xfer_id(xfer); wa_xfer_result_chew() 2348 } else if (xfer->is_inbound && !usb_pipeisoc(xfer->urb->pipe) wa_xfer_result_chew() 2352 result = wa_populate_buf_in_urb(buf_in_urb, xfer, seg_idx, wa_xfer_result_chew() 2366 done = __wa_xfer_mark_seg_as_done(xfer, seg, WA_SEG_DONE); wa_xfer_result_chew() 2368 spin_unlock_irqrestore(&xfer->lock, flags); wa_xfer_result_chew() 2370 wa_xfer_completion(xfer); wa_xfer_result_chew() 2382 dev_err(dev, "xfer %p#%u: can't submit DTI data phase: %d\n", wa_xfer_result_chew() 2383 xfer, seg_idx, result); wa_xfer_result_chew() 2388 __wa_xfer_abort(xfer); wa_xfer_result_chew() 2391 xfer->segs_done++; wa_xfer_result_chew() 2393 wa_complete_remaining_xfer_segs(xfer, seg->index + 1, seg->status); wa_xfer_result_chew() 2394 done = __wa_xfer_is_done(xfer); wa_xfer_result_chew() 2400 usb_endpoint_xfer_control(&xfer->ep->desc) && wa_xfer_result_chew() 2405 /* move xfer from xfer_list to xfer_errored_list. */ wa_xfer_result_chew() 2406 list_move_tail(&xfer->list_node, &wa->xfer_errored_list); wa_xfer_result_chew() 2408 spin_unlock_irqrestore(&xfer->lock, flags); wa_xfer_result_chew() 2411 spin_unlock_irqrestore(&xfer->lock, flags); wa_xfer_result_chew() 2413 wa_xfer_completion(xfer); wa_xfer_result_chew() 2421 spin_unlock_irqrestore(&xfer->lock, flags); wa_xfer_result_chew() 2422 wa_urb_dequeue(wa, xfer->urb, -ENOENT); wa_xfer_result_chew() 2424 dev_err(dev, "xfer %p#%u: bad segment\n", xfer, seg_idx); wa_xfer_result_chew() 2434 spin_unlock_irqrestore(&xfer->lock, flags); wa_xfer_result_chew() 2447 struct wa_xfer *xfer; wa_process_iso_packet_status() local 2455 /* We have a xfer result buffer; check it */ wa_process_iso_packet_status() 2464 xfer = wa_xfer_get_by_id(wa, wa->dti_isoc_xfer_in_progress); wa_process_iso_packet_status() 2465 if (xfer == NULL) { wa_process_iso_packet_status() 2466 dev_err(dev, "DTI Error: isoc packet status--unknown xfer 0x%08x\n", wa_process_iso_packet_status() 2470 spin_lock_irqsave(&xfer->lock, flags); wa_process_iso_packet_status() 2471 if (unlikely(wa->dti_isoc_xfer_seg >= xfer->segs)) wa_process_iso_packet_status() 2473 seg = xfer->seg[wa->dti_isoc_xfer_seg]; wa_process_iso_packet_status() 2474 rpipe = xfer->ep->hcpriv; wa_process_iso_packet_status() 2488 /* write isoc packet status and lengths back to the xfer urb. */ wa_process_iso_packet_status() 2490 xfer->urb->start_frame = wa_process_iso_packet_status() 2494 xfer->urb->iso_frame_desc; wa_process_iso_packet_status() 2512 if (xfer->is_inbound && data_frame_count) { wa_process_iso_packet_status() 2528 buf_in_urb, xfer, seg); wa_process_iso_packet_status() 2540 &(xfer->urb->iso_frame_desc[urb_frame_index]); wa_process_iso_packet_status() 2564 done = __wa_xfer_mark_seg_as_done(xfer, seg, WA_SEG_DONE); wa_process_iso_packet_status() 2566 spin_unlock_irqrestore(&xfer->lock, flags); wa_process_iso_packet_status() 2572 wa_xfer_completion(xfer); wa_process_iso_packet_status() 2575 wa_xfer_put(xfer); wa_process_iso_packet_status() 2579 spin_unlock_irqrestore(&xfer->lock, flags); wa_process_iso_packet_status() 2580 wa_xfer_put(xfer); wa_process_iso_packet_status() 2593 * seg->xfer could be already gone. 2598 struct wa_xfer *xfer = seg->xfer; wa_buf_in_cb() local 2611 spin_lock_irqsave(&xfer->lock, flags); wa_buf_in_cb() 2612 wa = xfer->wa; wa_buf_in_cb() 2616 rpipe = xfer->ep->hcpriv; wa_buf_in_cb() 2618 if (usb_pipeisoc(xfer->urb->pipe)) { wa_buf_in_cb() 2620 xfer->urb->iso_frame_desc; wa_buf_in_cb() 2641 spin_unlock_irqrestore(&xfer->lock, flags); wa_buf_in_cb() 2645 spin_lock_irqsave(&xfer->lock, flags); wa_buf_in_cb() 2653 xfer, seg); wa_buf_in_cb() 2675 "xfer %p 0x%08X#%u: data in done (%zu bytes)\n", wa_buf_in_cb() 2676 xfer, wa_xfer_id(xfer), seg->index, wa_buf_in_cb() 2679 done = __wa_xfer_mark_seg_as_done(xfer, seg, wa_buf_in_cb() 2682 spin_unlock_irqrestore(&xfer->lock, flags); wa_buf_in_cb() 2684 wa_xfer_completion(xfer); wa_buf_in_cb() 2698 spin_lock_irqsave(&xfer->lock, flags); wa_buf_in_cb() 2700 dev_err(dev, "xfer %p 0x%08X#%u: data in error %d\n", wa_buf_in_cb() 2701 xfer, wa_xfer_id(xfer), seg->index, wa_buf_in_cb() 2712 done = __wa_xfer_mark_seg_as_done(xfer, seg, wa_buf_in_cb() 2715 __wa_xfer_abort(xfer); wa_buf_in_cb() 2716 spin_unlock_irqrestore(&xfer->lock, flags); wa_buf_in_cb() 2718 wa_xfer_completion(xfer); wa_buf_in_cb() 2754 * repost the DTI-URB. If it is a xfer_result then do the xfer seg 2776 struct wa_xfer *xfer; wa_dti_cb() local 2778 /* We have a xfer result buffer; check it */ wa_dti_cb() 2779 dev_dbg(dev, "DTI: xfer result %d bytes at %p\n", wa_dti_cb() 2782 dev_err(dev, "DTI Error: xfer result--bad size xfer result (%d bytes vs %zu needed)\n", wa_dti_cb() 2789 dev_err(dev, "DTI Error: xfer result--bad header length %u\n", wa_dti_cb() 2794 dev_err(dev, "DTI Error: xfer result--bad header type 0x%02x\n", wa_dti_cb() 2802 dev_dbg(dev, "%s: xfer 0x%08X#%u not found.\n", wa_dti_cb() 2807 xfer = wa_xfer_get_by_id(wa, xfer_id); wa_dti_cb() 2808 if (xfer == NULL) { wa_dti_cb() 2810 dev_err(dev, "DTI Error: xfer result--unknown xfer 0x%08x (status 0x%02x)\n", wa_dti_cb() 2814 wa_xfer_result_chew(wa, xfer, xfer_result); wa_dti_cb() 2815 wa_xfer_put(xfer); wa_dti_cb() 2910 * don't really set it up and start it until the first xfer complete 669 __wa_setup_isoc_packet_descr( struct wa_xfer_packet_info_hwaiso *packet_desc, struct wa_xfer *xfer, struct wa_seg *seg) __wa_setup_isoc_packet_descr() argument 2174 __wa_populate_buf_in_urb_isoc(struct wahc *wa, struct urb *buf_in_urb, struct wa_xfer *xfer, struct wa_seg *seg) __wa_populate_buf_in_urb_isoc() argument
|
H A D | Makefile | 25 wa-xfer.o
|
H A D | wa-hc.h | 50 * xfer Transfer management -- this is all the code that gets a 54 * the drivers for DWA (xfer, rpipe). 172 * List of active transfers to verify existence from a xfer id 173 * gotten from the xfer result message. Can't use urb->list because 175 * when we get the xfer result message. We can't really rely on the 176 * pointer (will have to change for 64 bits) as the xfer id is 32 bits. 215 * dti_isoc_xfer_seg identify which xfer the incoming isoc packet 221 struct urb *dti_urb; /* URB for reading xfer results */ 237 * lock for the above xfer lists. Can be taken while a xfer->lock is
|
/linux-4.1.27/drivers/iio/imu/ |
H A D | adis16400_buffer.c | 27 kfree(adis->xfer); adis16400_update_scan_mode() 35 adis->xfer = kcalloc(2, sizeof(*adis->xfer), GFP_KERNEL); adis16400_update_scan_mode() 36 if (!adis->xfer) adis16400_update_scan_mode() 47 adis->xfer[0].tx_buf = tx; adis16400_update_scan_mode() 48 adis->xfer[0].bits_per_word = 8; adis16400_update_scan_mode() 49 adis->xfer[0].len = 2; adis16400_update_scan_mode() 50 adis->xfer[1].rx_buf = adis->buffer; adis16400_update_scan_mode() 51 adis->xfer[1].bits_per_word = 8; adis16400_update_scan_mode() 52 adis->xfer[1].len = burst_length; adis16400_update_scan_mode() 55 spi_message_add_tail(&adis->xfer[0], &adis->msg); adis16400_update_scan_mode() 56 spi_message_add_tail(&adis->xfer[1], &adis->msg); adis16400_update_scan_mode()
|
H A D | adis_buffer.c | 32 kfree(adis->xfer); adis_update_scan_mode() 37 adis->xfer = kcalloc(scan_count + 1, sizeof(*adis->xfer), GFP_KERNEL); adis_update_scan_mode() 38 if (!adis->xfer) adis_update_scan_mode() 51 adis->xfer[j].bits_per_word = 8; adis_update_scan_mode() 53 adis->xfer[j].cs_change = 1; adis_update_scan_mode() 54 adis->xfer[j].len = 2; adis_update_scan_mode() 55 adis->xfer[j].delay_usecs = adis->data->read_delay; adis_update_scan_mode() 57 adis->xfer[j].tx_buf = &tx[j]; adis_update_scan_mode() 59 adis->xfer[j].rx_buf = &rx[j - 1]; adis_update_scan_mode() 60 spi_message_add_tail(&adis->xfer[j], &adis->msg); adis_update_scan_mode() 168 kfree(adis->xfer); adis_cleanup_buffer_and_trigger()
|
/linux-4.1.27/include/trace/events/ |
H A D | spi.h | 113 TP_PROTO(struct spi_message *msg, struct spi_transfer *xfer), 115 TP_ARGS(msg, xfer), 120 __field( struct spi_transfer *, xfer ) 127 __entry->xfer = xfer; 128 __entry->len = xfer->len; 133 (struct spi_message *)__entry->xfer, 139 TP_PROTO(struct spi_message *msg, struct spi_transfer *xfer), 141 TP_ARGS(msg, xfer) 147 TP_PROTO(struct spi_message *msg, struct spi_transfer *xfer), 149 TP_ARGS(msg, xfer)
|
/linux-4.1.27/drivers/input/misc/ |
H A D | ad714x-spi.c | 36 struct spi_transfer xfer[2]; ad714x_spi_read() local 41 memset(xfer, 0, sizeof(xfer)); ad714x_spi_read() 45 xfer[0].tx_buf = &chip->xfer_buf[0]; ad714x_spi_read() 46 xfer[0].len = sizeof(chip->xfer_buf[0]); ad714x_spi_read() 47 spi_message_add_tail(&xfer[0], &message); ad714x_spi_read() 49 xfer[1].rx_buf = &chip->xfer_buf[1]; ad714x_spi_read() 50 xfer[1].len = sizeof(chip->xfer_buf[1]) * len; ad714x_spi_read() 51 spi_message_add_tail(&xfer[1], &message); ad714x_spi_read()
|
/linux-4.1.27/drivers/mfd/ |
H A D | tps65912-spi.c | 33 struct spi_transfer xfer; tps65912_spi_write() local 39 xfer.tx_buf = &tx_buf; tps65912_spi_write() 40 xfer.rx_buf = NULL; tps65912_spi_write() 41 xfer.len = sizeof(unsigned long); tps65912_spi_write() 42 xfer.bits_per_word = 24; tps65912_spi_write() 45 spi_message_add_tail(&xfer, &msg); tps65912_spi_write() 57 struct spi_transfer xfer; tps65912_spi_read() local 66 xfer.tx_buf = &tx_buf; tps65912_spi_read() 67 xfer.rx_buf = &rx_buf; tps65912_spi_read() 68 xfer.len = sizeof(unsigned long); tps65912_spi_read() 69 xfer.bits_per_word = 24; tps65912_spi_read() 72 spi_message_add_tail(&xfer, &msg); tps65912_spi_read()
|
H A D | tps6507x.c | 41 struct i2c_msg xfer[2]; tps6507x_i2c_read_device() local 45 xfer[0].addr = i2c->addr; tps6507x_i2c_read_device() 46 xfer[0].flags = 0; tps6507x_i2c_read_device() 47 xfer[0].len = 1; tps6507x_i2c_read_device() 48 xfer[0].buf = ® tps6507x_i2c_read_device() 51 xfer[1].addr = i2c->addr; tps6507x_i2c_read_device() 52 xfer[1].flags = I2C_M_RD; tps6507x_i2c_read_device() 53 xfer[1].len = bytes; tps6507x_i2c_read_device() 54 xfer[1].buf = dest; tps6507x_i2c_read_device() 56 ret = i2c_transfer(i2c->adapter, xfer, 2); tps6507x_i2c_read_device()
|
H A D | tps65912-i2c.c | 29 struct i2c_msg xfer[2]; tps65912_i2c_read() local 33 xfer[0].addr = i2c->addr; tps65912_i2c_read() 34 xfer[0].flags = 0; tps65912_i2c_read() 35 xfer[0].len = 1; tps65912_i2c_read() 36 xfer[0].buf = ® tps65912_i2c_read() 39 xfer[1].addr = i2c->addr; tps65912_i2c_read() 40 xfer[1].flags = I2C_M_RD; tps65912_i2c_read() 41 xfer[1].len = bytes; tps65912_i2c_read() 42 xfer[1].buf = dest; tps65912_i2c_read() 44 ret = i2c_transfer(i2c->adapter, xfer, 2); tps65912_i2c_read()
|
/linux-4.1.27/drivers/spi/ |
H A D | spi-qup.c | 143 struct spi_transfer *xfer; member in struct:spi_qup 211 struct spi_transfer *xfer) spi_qup_fifo_read() 213 u8 *rx_buf = xfer->rx_buf; spi_qup_fifo_read() 219 while (controller->rx_bytes < xfer->len) { spi_qup_fifo_read() 247 struct spi_transfer *xfer) spi_qup_fifo_write() 249 const u8 *tx_buf = xfer->tx_buf; spi_qup_fifo_write() 255 while (controller->tx_bytes < xfer->len) { spi_qup_fifo_write() 284 static int spi_qup_prep_sg(struct spi_master *master, struct spi_transfer *xfer, spi_qup_prep_sg() argument 298 nents = xfer->tx_sg.nents; spi_qup_prep_sg() 299 sgl = xfer->tx_sg.sgl; spi_qup_prep_sg() 302 nents = xfer->rx_sg.nents; spi_qup_prep_sg() 303 sgl = xfer->rx_sg.sgl; spi_qup_prep_sg() 319 struct spi_transfer *xfer) spi_qup_dma_terminate() 321 if (xfer->tx_buf) spi_qup_dma_terminate() 323 if (xfer->rx_buf) spi_qup_dma_terminate() 327 static int spi_qup_do_dma(struct spi_master *master, struct spi_transfer *xfer) spi_qup_do_dma() argument 332 if (xfer->rx_buf) spi_qup_do_dma() 334 else if (xfer->tx_buf) spi_qup_do_dma() 337 if (xfer->rx_buf) { spi_qup_do_dma() 338 ret = spi_qup_prep_sg(master, xfer, DMA_DEV_TO_MEM, rx_done); spi_qup_do_dma() 345 if (xfer->tx_buf) { spi_qup_do_dma() 346 ret = spi_qup_prep_sg(master, xfer, DMA_MEM_TO_DEV, tx_done); spi_qup_do_dma() 356 static int spi_qup_do_pio(struct spi_master *master, struct spi_transfer *xfer) spi_qup_do_pio() argument 373 spi_qup_fifo_write(qup, xfer); spi_qup_do_pio() 381 struct spi_transfer *xfer; spi_qup_qup_irq() local 387 xfer = controller->xfer; spi_qup_qup_irq() 388 controller->xfer = NULL; spi_qup_qup_irq() 399 if (!xfer) { spi_qup_qup_irq() 429 spi_qup_fifo_read(controller, xfer); spi_qup_qup_irq() 432 spi_qup_fifo_write(controller, xfer); spi_qup_qup_irq() 437 controller->xfer = xfer; spi_qup_qup_irq() 440 if (controller->rx_bytes == xfer->len || error) spi_qup_qup_irq() 447 spi_qup_get_mode(struct spi_master *master, struct spi_transfer *xfer) spi_qup_get_mode() argument 454 if (xfer->bits_per_word <= 8) spi_qup_get_mode() 456 else if (xfer->bits_per_word <= 16) spi_qup_get_mode() 459 qup->n_words = xfer->len / qup->w_size; spi_qup_get_mode() 470 static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer) spi_qup_io_config() argument 476 if (spi->mode & SPI_LOOP && xfer->len > controller->in_fifo_sz) { spi_qup_io_config() 478 xfer->len, controller->in_fifo_sz); spi_qup_io_config() 482 ret = clk_set_rate(controller->cclk, xfer->speed_hz); spi_qup_io_config() 485 xfer->speed_hz); spi_qup_io_config() 494 mode = spi_qup_get_mode(spi->master, xfer); spi_qup_io_config() 524 if (xfer->tx_buf) spi_qup_io_config() 572 if ((xfer->speed_hz >= SPI_HS_MIN_RATE) && !(spi->mode & SPI_LOOP)) spi_qup_io_config() 581 config |= xfer->bits_per_word - 1; spi_qup_io_config() 585 if (!xfer->tx_buf) spi_qup_io_config() 587 if (!xfer->rx_buf) spi_qup_io_config() 613 struct spi_transfer *xfer) spi_qup_transfer_one() 619 ret = spi_qup_io_config(spi, xfer); spi_qup_transfer_one() 623 timeout = DIV_ROUND_UP(xfer->speed_hz, MSEC_PER_SEC); spi_qup_transfer_one() 624 timeout = DIV_ROUND_UP(xfer->len * 8, timeout); spi_qup_transfer_one() 630 controller->xfer = xfer; spi_qup_transfer_one() 637 ret = spi_qup_do_dma(master, xfer); spi_qup_transfer_one() 639 ret = spi_qup_do_pio(master, xfer); spi_qup_transfer_one() 655 controller->xfer = NULL; spi_qup_transfer_one() 661 spi_qup_dma_terminate(master, xfer); spi_qup_transfer_one() 667 struct spi_transfer *xfer) spi_qup_can_dma() 675 if (xfer->rx_buf && (xfer->len % qup->in_blk_sz || spi_qup_can_dma() 677 !IS_ALIGNED((size_t)xfer->rx_buf, dma_align))) spi_qup_can_dma() 680 if (xfer->tx_buf && (xfer->len % qup->out_blk_sz || spi_qup_can_dma() 682 !IS_ALIGNED((size_t)xfer->tx_buf, dma_align))) spi_qup_can_dma() 685 mode = spi_qup_get_mode(master, xfer); spi_qup_can_dma() 210 spi_qup_fifo_read(struct spi_qup *controller, struct spi_transfer *xfer) spi_qup_fifo_read() argument 246 spi_qup_fifo_write(struct spi_qup *controller, struct spi_transfer *xfer) spi_qup_fifo_write() argument 318 spi_qup_dma_terminate(struct spi_master *master, struct spi_transfer *xfer) spi_qup_dma_terminate() argument 611 spi_qup_transfer_one(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) spi_qup_transfer_one() argument 666 spi_qup_can_dma(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) spi_qup_can_dma() argument
|
H A D | spi-atmel.c | 384 struct spi_transfer *xfer) atmel_spi_use_dma() 386 return as->use_dma && xfer->len >= DMA_MIN_BYTES; atmel_spi_use_dma() 508 struct spi_transfer *xfer) atmel_spi_next_xfer_pio() 511 unsigned long xfer_pos = xfer->len - as->current_remaining_bytes; atmel_spi_next_xfer_pio() 522 if (xfer->tx_buf) { atmel_spi_next_xfer_pio() 523 if (xfer->bits_per_word > 8) atmel_spi_next_xfer_pio() 524 spi_writel(as, TDR, *(u16 *)(xfer->tx_buf + xfer_pos)); atmel_spi_next_xfer_pio() 526 spi_writel(as, TDR, *(u8 *)(xfer->tx_buf + xfer_pos)); atmel_spi_next_xfer_pio() 532 " start pio xfer %p: len %u tx %p rx %p bitpw %d\n", atmel_spi_next_xfer_pio() 533 xfer, xfer->len, xfer->tx_buf, xfer->rx_buf, atmel_spi_next_xfer_pio() 534 xfer->bits_per_word); atmel_spi_next_xfer_pio() 544 struct spi_transfer *xfer, atmel_spi_next_xfer_dma_submit() 567 if (xfer->rx_buf) { atmel_spi_next_xfer_dma_submit() 568 as->dma.sgrx.dma_address = xfer->rx_dma + xfer->len - *plen; atmel_spi_next_xfer_dma_submit() 577 if (xfer->tx_buf) { atmel_spi_next_xfer_dma_submit() 578 as->dma.sgtx.dma_address = xfer->tx_dma + xfer->len - *plen; atmel_spi_next_xfer_dma_submit() 608 " start dma xfer %p: len %u tx %p/%08llx rx %p/%08llx\n", atmel_spi_next_xfer_dma_submit() 609 xfer, xfer->len, xfer->tx_buf, (unsigned long long)xfer->tx_dma, atmel_spi_next_xfer_dma_submit() 610 xfer->rx_buf, (unsigned long long)xfer->rx_dma); atmel_spi_next_xfer_dma_submit() 642 struct spi_transfer *xfer, atmel_spi_next_xfer_data() 651 if (xfer->rx_buf) atmel_spi_next_xfer_data() 652 *rx_dma = xfer->rx_dma + xfer->len - *plen; atmel_spi_next_xfer_data() 659 if (xfer->tx_buf) atmel_spi_next_xfer_data() 660 *tx_dma = xfer->tx_dma + xfer->len - *plen; atmel_spi_next_xfer_data() 675 struct spi_transfer *xfer) atmel_spi_set_xfer_speed() 689 if (xfer->speed_hz) atmel_spi_set_xfer_speed() 690 scbr = DIV_ROUND_UP(bus_hz, xfer->speed_hz); atmel_spi_set_xfer_speed() 705 xfer->speed_hz, scbr, bus_hz/255); atmel_spi_set_xfer_speed() 711 xfer->speed_hz, scbr, bus_hz); atmel_spi_set_xfer_speed() 727 struct spi_transfer *xfer) atmel_spi_pdc_next_xfer() 736 atmel_spi_next_xfer_data(master, xfer, &tx_dma, &rx_dma, &len); atmel_spi_pdc_next_xfer() 748 " start xfer %p: len %u tx %p/%08llx rx %p/%08llx\n", atmel_spi_pdc_next_xfer() 749 xfer, xfer->len, xfer->tx_buf, atmel_spi_pdc_next_xfer() 750 (unsigned long long)xfer->tx_dma, xfer->rx_buf, atmel_spi_pdc_next_xfer() 751 (unsigned long long)xfer->rx_dma); atmel_spi_pdc_next_xfer() 755 atmel_spi_next_xfer_data(master, xfer, &tx_dma, &rx_dma, &len); atmel_spi_pdc_next_xfer() 767 " next xfer %p: len %u tx %p/%08llx rx %p/%08llx\n", atmel_spi_pdc_next_xfer() 768 xfer, xfer->len, xfer->tx_buf, atmel_spi_pdc_next_xfer() 769 (unsigned long long)xfer->tx_dma, xfer->rx_buf, atmel_spi_pdc_next_xfer() 770 (unsigned long long)xfer->rx_dma); atmel_spi_pdc_next_xfer() 795 atmel_spi_dma_map_xfer(struct atmel_spi *as, struct spi_transfer *xfer) atmel_spi_dma_map_xfer() argument 799 xfer->tx_dma = xfer->rx_dma = INVALID_DMA_ADDRESS; atmel_spi_dma_map_xfer() 800 if (xfer->tx_buf) { atmel_spi_dma_map_xfer() 803 void *nonconst_tx = (void *)xfer->tx_buf; atmel_spi_dma_map_xfer() 805 xfer->tx_dma = dma_map_single(dev, atmel_spi_dma_map_xfer() 806 nonconst_tx, xfer->len, atmel_spi_dma_map_xfer() 808 if (dma_mapping_error(dev, xfer->tx_dma)) atmel_spi_dma_map_xfer() 811 if (xfer->rx_buf) { atmel_spi_dma_map_xfer() 812 xfer->rx_dma = dma_map_single(dev, atmel_spi_dma_map_xfer() 813 xfer->rx_buf, xfer->len, atmel_spi_dma_map_xfer() 815 if (dma_mapping_error(dev, xfer->rx_dma)) { atmel_spi_dma_map_xfer() 816 if (xfer->tx_buf) atmel_spi_dma_map_xfer() 818 xfer->tx_dma, xfer->len, atmel_spi_dma_map_xfer() 827 struct spi_transfer *xfer) atmel_spi_dma_unmap_xfer() 829 if (xfer->tx_dma != INVALID_DMA_ADDRESS) atmel_spi_dma_unmap_xfer() 830 dma_unmap_single(master->dev.parent, xfer->tx_dma, atmel_spi_dma_unmap_xfer() 831 xfer->len, DMA_TO_DEVICE); atmel_spi_dma_unmap_xfer() 832 if (xfer->rx_dma != INVALID_DMA_ADDRESS) atmel_spi_dma_unmap_xfer() 833 dma_unmap_single(master->dev.parent, xfer->rx_dma, atmel_spi_dma_unmap_xfer() 834 xfer->len, DMA_FROM_DEVICE); atmel_spi_dma_unmap_xfer() 848 atmel_spi_pump_pio_data(struct atmel_spi *as, struct spi_transfer *xfer) atmel_spi_pump_pio_data() argument 852 unsigned long xfer_pos = xfer->len - as->current_remaining_bytes; atmel_spi_pump_pio_data() 854 if (xfer->rx_buf) { atmel_spi_pump_pio_data() 855 if (xfer->bits_per_word > 8) { atmel_spi_pump_pio_data() 856 rxp16 = (u16 *)(((u8 *)xfer->rx_buf) + xfer_pos); atmel_spi_pump_pio_data() 859 rxp = ((u8 *)xfer->rx_buf) + xfer_pos; atmel_spi_pump_pio_data() 865 if (xfer->bits_per_word > 8) { atmel_spi_pump_pio_data() 886 struct spi_transfer *xfer; atmel_spi_pio_interrupt() local 902 * updated with the last xfer. atmel_spi_pio_interrupt() 920 xfer = as->current_transfer; atmel_spi_pio_interrupt() 921 atmel_spi_pump_pio_data(as, xfer); atmel_spi_pio_interrupt() 1046 struct spi_transfer *xfer) atmel_spi_one_transfer() 1059 if (!(xfer->tx_buf || xfer->rx_buf) && xfer->len) { atmel_spi_one_transfer() 1064 if (xfer->bits_per_word) { atmel_spi_one_transfer() 1067 if (bits != xfer->bits_per_word - 8) { atmel_spi_one_transfer() 1079 && (atmel_spi_use_dma(as, xfer) || as->use_pdc)) { atmel_spi_one_transfer() 1080 if (atmel_spi_dma_map_xfer(as, xfer) < 0) atmel_spi_one_transfer() 1084 atmel_spi_set_xfer_speed(as, msg->spi, xfer); atmel_spi_one_transfer() 1087 as->current_transfer = xfer; atmel_spi_one_transfer() 1088 as->current_remaining_bytes = xfer->len; atmel_spi_one_transfer() 1093 atmel_spi_pdc_next_xfer(master, msg, xfer); atmel_spi_one_transfer() 1094 } else if (atmel_spi_use_dma(as, xfer)) { atmel_spi_one_transfer() 1097 xfer, &len); atmel_spi_one_transfer() 1101 atmel_spi_next_xfer_pio(master, xfer); atmel_spi_one_transfer() 1108 atmel_spi_next_xfer_pio(master, xfer); atmel_spi_one_transfer() 1151 } else if (atmel_spi_use_dma(as, xfer)) { atmel_spi_one_transfer() 1156 && (atmel_spi_use_dma(as, xfer) || as->use_pdc)) atmel_spi_one_transfer() 1157 atmel_spi_dma_unmap_xfer(master, xfer); atmel_spi_one_transfer() 1163 msg->actual_length += xfer->len; atmel_spi_one_transfer() 1167 && (atmel_spi_use_dma(as, xfer) || as->use_pdc)) atmel_spi_one_transfer() 1168 atmel_spi_dma_unmap_xfer(master, xfer); atmel_spi_one_transfer() 1170 if (xfer->delay_usecs) atmel_spi_one_transfer() 1171 udelay(xfer->delay_usecs); atmel_spi_one_transfer() 1173 if (xfer->cs_change) { atmel_spi_one_transfer() 1174 if (list_is_last(&xfer->transfer_list, atmel_spi_one_transfer() 1193 struct spi_transfer *xfer; atmel_spi_transfer_one_message() local 1211 list_for_each_entry(xfer, &msg->transfers, transfer_list) { atmel_spi_transfer_one_message() 1212 ret = atmel_spi_one_transfer(master, msg, xfer); atmel_spi_transfer_one_message() 1220 list_for_each_entry(xfer, &msg->transfers, transfer_list) { atmel_spi_transfer_one_message() 1222 " xfer %p: len %u tx %p/%pad rx %p/%pad\n", atmel_spi_transfer_one_message() 1223 xfer, xfer->len, atmel_spi_transfer_one_message() 1224 xfer->tx_buf, &xfer->tx_dma, atmel_spi_transfer_one_message() 1225 xfer->rx_buf, &xfer->rx_dma); atmel_spi_transfer_one_message() 383 atmel_spi_use_dma(struct atmel_spi *as, struct spi_transfer *xfer) atmel_spi_use_dma() argument 507 atmel_spi_next_xfer_pio(struct spi_master *master, struct spi_transfer *xfer) atmel_spi_next_xfer_pio() argument 543 atmel_spi_next_xfer_dma_submit(struct spi_master *master, struct spi_transfer *xfer, u32 *plen) atmel_spi_next_xfer_dma_submit() argument 641 atmel_spi_next_xfer_data(struct spi_master *master, struct spi_transfer *xfer, dma_addr_t *tx_dma, dma_addr_t *rx_dma, u32 *plen) atmel_spi_next_xfer_data() argument 673 atmel_spi_set_xfer_speed(struct atmel_spi *as, struct spi_device *spi, struct spi_transfer *xfer) atmel_spi_set_xfer_speed() argument 725 atmel_spi_pdc_next_xfer(struct spi_master *master, struct spi_message *msg, struct spi_transfer *xfer) atmel_spi_pdc_next_xfer() argument 826 atmel_spi_dma_unmap_xfer(struct spi_master *master, struct spi_transfer *xfer) atmel_spi_dma_unmap_xfer() argument 1044 atmel_spi_one_transfer(struct spi_master *master, struct spi_message *msg, struct spi_transfer *xfer) atmel_spi_one_transfer() argument
|
H A D | spi-octeon.c | 49 struct spi_transfer *xfer, octeon_spi_do_transfer() 68 speed_hz = xfer->speed_hz ? : spi->max_speed_hz; octeon_spi_do_transfer() 90 tx_buf = xfer->tx_buf; octeon_spi_do_transfer() 91 rx_buf = xfer->rx_buf; octeon_spi_do_transfer() 92 len = xfer->len; octeon_spi_do_transfer() 130 mpi_tx.s.leavecs = xfer->cs_change; octeon_spi_do_transfer() 132 mpi_tx.s.leavecs = !xfer->cs_change; octeon_spi_do_transfer() 144 if (xfer->delay_usecs) octeon_spi_do_transfer() 145 udelay(xfer->delay_usecs); octeon_spi_do_transfer() 147 return xfer->len; octeon_spi_do_transfer() 156 struct spi_transfer *xfer; octeon_spi_transfer_one_message() local 158 list_for_each_entry(xfer, &msg->transfers, transfer_list) { octeon_spi_transfer_one_message() 159 bool last_xfer = list_is_last(&xfer->transfer_list, octeon_spi_transfer_one_message() 161 int r = octeon_spi_do_transfer(p, msg, xfer, last_xfer); octeon_spi_transfer_one_message() 47 octeon_spi_do_transfer(struct octeon_spi *p, struct spi_message *msg, struct spi_transfer *xfer, bool last_xfer) octeon_spi_do_transfer() argument
|
H A D | spi-dw-mid.c | 116 struct spi_transfer *xfer) mid_spi_can_dma() 123 return xfer->len > dws->fifo_len; mid_spi_can_dma() 150 struct spi_transfer *xfer) dw_spi_dma_prepare_tx() 155 if (!xfer->tx_buf) dw_spi_dma_prepare_tx() 168 xfer->tx_sg.sgl, dw_spi_dma_prepare_tx() 169 xfer->tx_sg.nents, dw_spi_dma_prepare_tx() 196 struct spi_transfer *xfer) dw_spi_dma_prepare_rx() 201 if (!xfer->rx_buf) dw_spi_dma_prepare_rx() 214 xfer->rx_sg.sgl, dw_spi_dma_prepare_rx() 215 xfer->rx_sg.nents, dw_spi_dma_prepare_rx() 227 static int mid_spi_dma_setup(struct dw_spi *dws, struct spi_transfer *xfer) mid_spi_dma_setup() argument 234 if (xfer->tx_buf) mid_spi_dma_setup() 236 if (xfer->rx_buf) mid_spi_dma_setup() 248 static int mid_spi_dma_transfer(struct dw_spi *dws, struct spi_transfer *xfer) mid_spi_dma_transfer() argument 253 txdesc = dw_spi_dma_prepare_tx(dws, xfer); mid_spi_dma_transfer() 256 rxdesc = dw_spi_dma_prepare_rx(dws, xfer); mid_spi_dma_transfer() 115 mid_spi_can_dma(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) mid_spi_can_dma() argument 149 dw_spi_dma_prepare_tx(struct dw_spi *dws, struct spi_transfer *xfer) dw_spi_dma_prepare_tx() argument 195 dw_spi_dma_prepare_rx(struct dw_spi *dws, struct spi_transfer *xfer) dw_spi_dma_prepare_rx() argument
|
H A D | spi-img-spfi.c | 234 struct spi_transfer *xfer) img_spfi_start_pio() 238 const void *tx_buf = xfer->tx_buf; img_spfi_start_pio() 239 void *rx_buf = xfer->rx_buf; img_spfi_start_pio() 244 tx_bytes = xfer->len; img_spfi_start_pio() 246 rx_bytes = xfer->len; img_spfi_start_pio() 251 msecs_to_jiffies(xfer->len * 8 * 1000 / xfer->speed_hz + 100); img_spfi_start_pio() 316 struct spi_transfer *xfer) img_spfi_start_dma() 325 if (xfer->rx_buf) { img_spfi_start_dma() 327 if (xfer->len % 4 == 0) { img_spfi_start_dma() 338 rxdesc = dmaengine_prep_slave_sg(spfi->rx_ch, xfer->rx_sg.sgl, img_spfi_start_dma() 339 xfer->rx_sg.nents, img_spfi_start_dma() 349 if (xfer->tx_buf) { img_spfi_start_dma() 351 if (xfer->len % 4 == 0) { img_spfi_start_dma() 362 txdesc = dmaengine_prep_slave_sg(spfi->tx_ch, xfer->tx_sg.sgl, img_spfi_start_dma() 363 xfer->tx_sg.nents, img_spfi_start_dma() 373 if (xfer->rx_buf) { img_spfi_start_dma() 381 if (xfer->tx_buf) { img_spfi_start_dma() 494 struct spi_transfer *xfer) img_spfi_config() 503 div = DIV_ROUND_UP(clk_get_rate(spfi->spfi_clk), xfer->speed_hz); img_spfi_config() 512 spfi_writel(spfi, xfer->len << SPFI_TRANSACTION_TSIZE_SHIFT, img_spfi_config() 517 if (xfer->tx_buf) img_spfi_config() 519 if (xfer->rx_buf) img_spfi_config() 522 if (xfer->tx_nbits == SPI_NBITS_DUAL && img_spfi_config() 523 xfer->rx_nbits == SPI_NBITS_DUAL) img_spfi_config() 525 else if (xfer->tx_nbits == SPI_NBITS_QUAD && img_spfi_config() 526 xfer->rx_nbits == SPI_NBITS_QUAD) img_spfi_config() 534 struct spi_transfer *xfer) img_spfi_transfer_one() 539 if (xfer->len > SPFI_TRANSACTION_TSIZE_MASK) { img_spfi_transfer_one() 542 xfer->len, SPFI_TRANSACTION_TSIZE_MASK); img_spfi_transfer_one() 546 img_spfi_config(master, spi, xfer); img_spfi_transfer_one() 547 if (master->can_dma && master->can_dma(master, spi, xfer)) img_spfi_transfer_one() 548 ret = img_spfi_start_dma(master, spi, xfer); img_spfi_transfer_one() 550 ret = img_spfi_start_pio(master, spi, xfer); img_spfi_transfer_one() 556 struct spi_transfer *xfer) img_spfi_can_dma() 558 if (xfer->len > SPFI_32BIT_FIFO_SIZE) img_spfi_can_dma() 232 img_spfi_start_pio(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) img_spfi_start_pio() argument 314 img_spfi_start_dma(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) img_spfi_start_dma() argument 493 img_spfi_config(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) img_spfi_config() argument 532 img_spfi_transfer_one(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) img_spfi_transfer_one() argument 555 img_spfi_can_dma(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) img_spfi_can_dma() argument
|
H A D | spi-rspi.c | 249 struct spi_transfer *xfer); 652 const struct spi_transfer *xfer) __rspi_can_dma() 654 return xfer->len > rspi->ops->fifo_size; __rspi_can_dma() 658 struct spi_transfer *xfer) rspi_can_dma() 662 return __rspi_can_dma(rspi, xfer); rspi_can_dma() 666 struct spi_transfer *xfer) rspi_dma_check_then_transfer() 668 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { rspi_dma_check_then_transfer() 670 int ret = rspi_dma_transfer(rspi, &xfer->tx_sg, rspi_dma_check_then_transfer() 671 xfer->rx_buf ? &xfer->rx_sg : NULL); rspi_dma_check_then_transfer() 680 struct spi_transfer *xfer) rspi_common_transfer() 684 ret = rspi_dma_check_then_transfer(rspi, xfer); rspi_common_transfer() 688 ret = rspi_pio_transfer(rspi, xfer->tx_buf, xfer->rx_buf, xfer->len); rspi_common_transfer() 699 struct spi_transfer *xfer) rspi_transfer_one() 705 if (xfer->rx_buf) { rspi_transfer_one() 713 return rspi_common_transfer(rspi, xfer); rspi_transfer_one() 718 struct spi_transfer *xfer) rspi_rz_transfer_one() 724 return rspi_common_transfer(rspi, xfer); rspi_rz_transfer_one() 764 struct spi_transfer *xfer) qspi_transfer_out_in() 770 ret = rspi_dma_check_then_transfer(rspi, xfer); qspi_transfer_out_in() 774 ret = qspi_trigger_transfer_out_int(rspi, xfer->tx_buf, qspi_transfer_out_in() 775 xfer->rx_buf, xfer->len); qspi_transfer_out_in() 782 static int qspi_transfer_out(struct rspi_data *rspi, struct spi_transfer *xfer) qspi_transfer_out() argument 786 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { qspi_transfer_out() 787 ret = rspi_dma_transfer(rspi, &xfer->tx_sg, NULL); qspi_transfer_out() 792 ret = rspi_pio_transfer(rspi, xfer->tx_buf, NULL, xfer->len); qspi_transfer_out() 802 static int qspi_transfer_in(struct rspi_data *rspi, struct spi_transfer *xfer) qspi_transfer_in() argument 804 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { qspi_transfer_in() 805 int ret = rspi_dma_transfer(rspi, NULL, &xfer->rx_sg); qspi_transfer_in() 810 return rspi_pio_transfer(rspi, NULL, xfer->rx_buf, xfer->len); qspi_transfer_in() 814 struct spi_transfer *xfer) qspi_transfer_one() 819 return qspi_transfer_out_in(rspi, xfer); qspi_transfer_one() 820 } else if (xfer->tx_nbits > SPI_NBITS_SINGLE) { qspi_transfer_one() 822 return qspi_transfer_out(rspi, xfer); qspi_transfer_one() 823 } else if (xfer->rx_nbits > SPI_NBITS_SINGLE) { qspi_transfer_one() 825 return qspi_transfer_in(rspi, xfer); qspi_transfer_one() 828 return qspi_transfer_out_in(rspi, xfer); qspi_transfer_one() 854 static u16 qspi_transfer_mode(const struct spi_transfer *xfer) qspi_transfer_mode() argument 856 if (xfer->tx_buf) qspi_transfer_mode() 857 switch (xfer->tx_nbits) { qspi_transfer_mode() 865 if (xfer->rx_buf) qspi_transfer_mode() 866 switch (xfer->rx_nbits) { qspi_transfer_mode() 881 const struct spi_transfer *xfer; qspi_setup_sequencer() local 885 list_for_each_entry(xfer, &msg->transfers, transfer_list) { qspi_setup_sequencer() 886 mode = qspi_transfer_mode(xfer); qspi_setup_sequencer() 888 len += xfer->len; qspi_setup_sequencer() 907 len = xfer->len; qspi_setup_sequencer() 651 __rspi_can_dma(const struct rspi_data *rspi, const struct spi_transfer *xfer) __rspi_can_dma() argument 657 rspi_can_dma(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) rspi_can_dma() argument 665 rspi_dma_check_then_transfer(struct rspi_data *rspi, struct spi_transfer *xfer) rspi_dma_check_then_transfer() argument 679 rspi_common_transfer(struct rspi_data *rspi, struct spi_transfer *xfer) rspi_common_transfer() argument 698 rspi_transfer_one(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) rspi_transfer_one() argument 716 rspi_rz_transfer_one(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) rspi_rz_transfer_one() argument 763 qspi_transfer_out_in(struct rspi_data *rspi, struct spi_transfer *xfer) qspi_transfer_out_in() argument 813 qspi_transfer_one(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) qspi_transfer_one() argument
|
H A D | spi-meson-spifc.c | 193 * @xfer: the current SPI transfer 201 struct spi_transfer *xfer, meson_spifc_txrx() 208 if (xfer->tx_buf) meson_spifc_txrx() 209 meson_spifc_fill_buffer(spifc, xfer->tx_buf + offset, len); meson_spifc_txrx() 223 keep_cs = xfer->cs_change; meson_spifc_txrx() 225 keep_cs = !xfer->cs_change; meson_spifc_txrx() 238 if (!ret && xfer->rx_buf) meson_spifc_txrx() 239 meson_spifc_drain_buffer(spifc, xfer->rx_buf + offset, len); meson_spifc_txrx() 248 * @xfer: the current SPI transfer 253 struct spi_transfer *xfer) meson_spifc_transfer_one() 258 meson_spifc_setup_speed(spifc, xfer->speed_hz); meson_spifc_transfer_one() 262 while (done < xfer->len && !ret) { meson_spifc_transfer_one() 263 len = min_t(int, xfer->len - done, SPIFC_BUFFER_SIZE); meson_spifc_transfer_one() 264 ret = meson_spifc_txrx(spifc, xfer, done, len, meson_spifc_transfer_one() 265 spi_transfer_is_last(master, xfer), meson_spifc_transfer_one() 266 done + len >= xfer->len); meson_spifc_transfer_one() 200 meson_spifc_txrx(struct meson_spifc *spifc, struct spi_transfer *xfer, int offset, int len, bool last_xfer, bool last_chunk) meson_spifc_txrx() argument 251 meson_spifc_transfer_one(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) meson_spifc_transfer_one() argument
|
H A D | spi-omap-100k.c | 188 omap1_spi100k_txrx_pio(struct spi_device *spi, struct spi_transfer *xfer) omap1_spi100k_txrx_pio() argument 194 count = xfer->len; omap1_spi100k_txrx_pio() 202 rx = xfer->rx_buf; omap1_spi100k_txrx_pio() 203 tx = xfer->tx_buf; omap1_spi100k_txrx_pio() 206 if (xfer->tx_buf != NULL) omap1_spi100k_txrx_pio() 208 if (xfer->rx_buf != NULL) omap1_spi100k_txrx_pio() 215 rx = xfer->rx_buf; omap1_spi100k_txrx_pio() 216 tx = xfer->tx_buf; omap1_spi100k_txrx_pio() 219 if (xfer->tx_buf != NULL) omap1_spi100k_txrx_pio() 221 if (xfer->rx_buf != NULL) omap1_spi100k_txrx_pio() 228 rx = xfer->rx_buf; omap1_spi100k_txrx_pio() 229 tx = xfer->tx_buf; omap1_spi100k_txrx_pio() 232 if (xfer->tx_buf != NULL) omap1_spi100k_txrx_pio() 234 if (xfer->rx_buf != NULL) omap1_spi100k_txrx_pio() 342 /* ignore the "leave it on after last xfer" hint */ omap1_spi100k_transfer_one_message()
|
H A D | spi-s3c64xx.c | 175 * @xfer_completion: To indicate completion of xfer task. 178 * @cur_speed: Stores the active xfer clock speed. 368 struct spi_transfer *xfer) s3c64xx_spi_can_dma() 372 return xfer->len > (FIFO_LVL_MASK(sdd) >> 1) + 1; s3c64xx_spi_can_dma() 377 struct spi_transfer *xfer, int dma_mode) enable_datapath() 391 /* Always shift in data in FIFO, even if xfer is Tx only, enable_datapath() 396 writel(((xfer->len * 8 / sdd->cur_bpw) & 0xffff) enable_datapath() 401 if (xfer->tx_buf != NULL) { enable_datapath() 406 prepare_dma(&sdd->tx_dma, &xfer->tx_sg); enable_datapath() 411 xfer->tx_buf, xfer->len / 4); enable_datapath() 415 xfer->tx_buf, xfer->len / 2); enable_datapath() 419 xfer->tx_buf, xfer->len); enable_datapath() 425 if (xfer->rx_buf != NULL) { enable_datapath() 435 writel(((xfer->len * 8 / sdd->cur_bpw) & 0xffff) enable_datapath() 438 prepare_dma(&sdd->rx_dma, &xfer->rx_sg); enable_datapath() 468 struct spi_transfer *xfer) wait_for_dma() 475 /* millisecs to xfer 'len' bytes @ 'cur_speed' */ wait_for_dma() 476 ms = xfer->len * 8 * 1000 / sdd->cur_speed; wait_for_dma() 483 * If the previous xfer was completed within timeout, then wait_for_dma() 491 if (val && !xfer->rx_buf) { wait_for_dma() 511 struct spi_transfer *xfer) wait_for_pio() 521 /* millisecs to xfer 'len' bytes @ 'cur_speed' */ wait_for_pio() 522 ms = xfer->len * 8 * 1000 / sdd->cur_speed; wait_for_pio() 528 } while (RX_FIFO_LVL(status, sdd) < xfer->len && --val); wait_for_pio() 532 if (!xfer->rx_buf) { wait_for_pio() 545 loops = xfer->len / ((FIFO_LVL_MASK(sdd) >> 1) + 1); wait_for_pio() 546 buf = xfer->rx_buf; wait_for_pio() 672 struct spi_transfer *xfer) s3c64xx_spi_transfer_one() 684 bpw = xfer->bits_per_word; s3c64xx_spi_transfer_one() 685 speed = xfer->speed_hz ? : spi->max_speed_hz; s3c64xx_spi_transfer_one() 697 (xfer->len > ((FIFO_LVL_MASK(sdd) >> 1) + 1)))) s3c64xx_spi_transfer_one() 706 enable_datapath(sdd, spi, xfer, use_dma); s3c64xx_spi_transfer_one() 719 status = wait_for_dma(sdd, xfer); s3c64xx_spi_transfer_one() 721 status = wait_for_pio(sdd, xfer); s3c64xx_spi_transfer_one() 725 xfer->rx_buf ? 1 : 0, xfer->tx_buf ? 1 : 0, s3c64xx_spi_transfer_one() 728 xfer->len); s3c64xx_spi_transfer_one() 731 if (xfer->tx_buf != NULL s3c64xx_spi_transfer_one() 734 if (xfer->rx_buf != NULL s3c64xx_spi_transfer_one() 366 s3c64xx_spi_can_dma(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) s3c64xx_spi_can_dma() argument 375 enable_datapath(struct s3c64xx_spi_driver_data *sdd, struct spi_device *spi, struct spi_transfer *xfer, int dma_mode) enable_datapath() argument 467 wait_for_dma(struct s3c64xx_spi_driver_data *sdd, struct spi_transfer *xfer) wait_for_dma() argument 510 wait_for_pio(struct s3c64xx_spi_driver_data *sdd, struct spi_transfer *xfer) wait_for_pio() argument 670 s3c64xx_spi_transfer_one(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) s3c64xx_spi_transfer_one() argument
|
H A D | spi-clps711x.c | 63 struct spi_transfer *xfer) spi_clps711x_transfer_one() 68 clk_set_rate(hw->spi_clk, xfer->speed_hz ? : spi->max_speed_hz); spi_clps711x_transfer_one() 70 hw->len = xfer->len; spi_clps711x_transfer_one() 71 hw->bpw = xfer->bits_per_word; spi_clps711x_transfer_one() 72 hw->tx_buf = (u8 *)xfer->tx_buf; spi_clps711x_transfer_one() 73 hw->rx_buf = (u8 *)xfer->rx_buf; spi_clps711x_transfer_one() 61 spi_clps711x_transfer_one(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) spi_clps711x_transfer_one() argument
|
H A D | spi.c | 536 struct spi_transfer *xfer; __spi_map_msg() local 545 list_for_each_entry(xfer, &msg->transfers, transfer_list) { __spi_map_msg() 546 if (!master->can_dma(master, msg->spi, xfer)) __spi_map_msg() 549 if (xfer->tx_buf != NULL) { __spi_map_msg() 550 ret = spi_map_buf(master, tx_dev, &xfer->tx_sg, __spi_map_msg() 551 (void *)xfer->tx_buf, xfer->len, __spi_map_msg() 557 if (xfer->rx_buf != NULL) { __spi_map_msg() 558 ret = spi_map_buf(master, rx_dev, &xfer->rx_sg, __spi_map_msg() 559 xfer->rx_buf, xfer->len, __spi_map_msg() 562 spi_unmap_buf(master, tx_dev, &xfer->tx_sg, __spi_map_msg() 576 struct spi_transfer *xfer; spi_unmap_msg() local 585 list_for_each_entry(xfer, &msg->transfers, transfer_list) { spi_unmap_msg() 590 if (xfer->tx_buf == master->dummy_tx) spi_unmap_msg() 591 xfer->tx_buf = NULL; spi_unmap_msg() 592 if (xfer->rx_buf == master->dummy_rx) spi_unmap_msg() 593 xfer->rx_buf = NULL; spi_unmap_msg() 595 if (!master->can_dma(master, msg->spi, xfer)) spi_unmap_msg() 598 spi_unmap_buf(master, rx_dev, &xfer->rx_sg, DMA_FROM_DEVICE); spi_unmap_msg() 599 spi_unmap_buf(master, tx_dev, &xfer->tx_sg, DMA_TO_DEVICE); spi_unmap_msg() 620 struct spi_transfer *xfer; spi_map_msg() local 628 list_for_each_entry(xfer, &msg->transfers, transfer_list) { spi_map_msg() 630 !xfer->tx_buf) spi_map_msg() 631 max_tx = max(xfer->len, max_tx); spi_map_msg() 633 !xfer->rx_buf) spi_map_msg() 634 max_rx = max(xfer->len, max_rx); spi_map_msg() 655 list_for_each_entry(xfer, &msg->transfers, spi_map_msg() 657 if (!xfer->tx_buf) spi_map_msg() 658 xfer->tx_buf = master->dummy_tx; spi_map_msg() 659 if (!xfer->rx_buf) spi_map_msg() 660 xfer->rx_buf = master->dummy_rx; spi_map_msg() 678 struct spi_transfer *xfer; spi_transfer_one_message() local 685 list_for_each_entry(xfer, &msg->transfers, transfer_list) { spi_transfer_one_message() 686 trace_spi_transfer_start(msg, xfer); spi_transfer_one_message() 688 if (xfer->tx_buf || xfer->rx_buf) { spi_transfer_one_message() 691 ret = master->transfer_one(master, msg->spi, xfer); spi_transfer_one_message() 700 ms = xfer->len * 8 * 1000 / xfer->speed_hz; spi_transfer_one_message() 713 if (xfer->len) spi_transfer_one_message() 716 xfer->len); spi_transfer_one_message() 719 trace_spi_transfer_stop(msg, xfer); spi_transfer_one_message() 724 if (xfer->delay_usecs) spi_transfer_one_message() 725 udelay(xfer->delay_usecs); spi_transfer_one_message() 727 if (xfer->cs_change) { spi_transfer_one_message() 728 if (list_is_last(&xfer->transfer_list, spi_transfer_one_message() 738 msg->actual_length += xfer->len; spi_transfer_one_message() 1814 struct spi_transfer *xfer; __spi_validate() local 1829 list_for_each_entry(xfer, &message->transfers, transfer_list) { __spi_validate() 1830 if (xfer->rx_buf && xfer->tx_buf) __spi_validate() 1832 if ((flags & SPI_MASTER_NO_TX) && xfer->tx_buf) __spi_validate() 1834 if ((flags & SPI_MASTER_NO_RX) && xfer->rx_buf) __spi_validate() 1845 list_for_each_entry(xfer, &message->transfers, transfer_list) { __spi_validate() 1846 message->frame_length += xfer->len; __spi_validate() 1847 if (!xfer->bits_per_word) __spi_validate() 1848 xfer->bits_per_word = spi->bits_per_word; __spi_validate() 1850 if (!xfer->speed_hz) __spi_validate() 1851 xfer->speed_hz = spi->max_speed_hz; __spi_validate() 1854 xfer->speed_hz > master->max_speed_hz) __spi_validate() 1855 xfer->speed_hz = master->max_speed_hz; __spi_validate() 1859 if (xfer->bits_per_word > 32) __spi_validate() 1862 BIT(xfer->bits_per_word - 1))) __spi_validate() 1870 if (xfer->bits_per_word <= 8) __spi_validate() 1872 else if (xfer->bits_per_word <= 16) __spi_validate() 1878 if (xfer->len % w_size) __spi_validate() 1881 if (xfer->speed_hz && master->min_speed_hz && __spi_validate() 1882 xfer->speed_hz < master->min_speed_hz) __spi_validate() 1885 if (xfer->tx_buf && !xfer->tx_nbits) __spi_validate() 1886 xfer->tx_nbits = SPI_NBITS_SINGLE; __spi_validate() 1887 if (xfer->rx_buf && !xfer->rx_nbits) __spi_validate() 1888 xfer->rx_nbits = SPI_NBITS_SINGLE; __spi_validate() 1893 if (xfer->tx_buf) { __spi_validate() 1894 if (xfer->tx_nbits != SPI_NBITS_SINGLE && __spi_validate() 1895 xfer->tx_nbits != SPI_NBITS_DUAL && __spi_validate() 1896 xfer->tx_nbits != SPI_NBITS_QUAD) __spi_validate() 1898 if ((xfer->tx_nbits == SPI_NBITS_DUAL) && __spi_validate() 1901 if ((xfer->tx_nbits == SPI_NBITS_QUAD) && __spi_validate() 1906 if (xfer->rx_buf) { __spi_validate() 1907 if (xfer->rx_nbits != SPI_NBITS_SINGLE && __spi_validate() 1908 xfer->rx_nbits != SPI_NBITS_DUAL && __spi_validate() 1909 xfer->rx_nbits != SPI_NBITS_QUAD) __spi_validate() 1911 if ((xfer->rx_nbits == SPI_NBITS_DUAL) && __spi_validate() 1914 if ((xfer->rx_nbits == SPI_NBITS_QUAD) && __spi_validate()
|
H A D | spi-omap2-mcspi.c | 391 struct spi_transfer *xfer, omap2_mcspi_tx_dma() 400 count = xfer->len; omap2_mcspi_tx_dma() 409 sg_dma_address(&sg) = xfer->tx_dma; omap2_mcspi_tx_dma() 410 sg_dma_len(&sg) = xfer->len; omap2_mcspi_tx_dma() 428 omap2_mcspi_rx_dma(struct spi_device *spi, struct spi_transfer *xfer, omap2_mcspi_rx_dma() argument 441 count = xfer->len; omap2_mcspi_rx_dma() 442 dma_count = xfer->len; omap2_mcspi_rx_dma() 467 sg_dma_address(&sg) = xfer->rx_dma; omap2_mcspi_rx_dma() 486 dma_unmap_single(mcspi->dev, xfer->rx_dma, count, omap2_mcspi_rx_dma() 505 ((u8 *)xfer->rx_buf)[elements++] = w; omap2_mcspi_rx_dma() 507 ((u16 *)xfer->rx_buf)[elements++] = w; omap2_mcspi_rx_dma() 509 ((u32 *)xfer->rx_buf)[elements++] = w; omap2_mcspi_rx_dma() 524 ((u8 *)xfer->rx_buf)[elements] = w; omap2_mcspi_rx_dma() 526 ((u16 *)xfer->rx_buf)[elements] = w; omap2_mcspi_rx_dma() 528 ((u32 *)xfer->rx_buf)[elements] = w; omap2_mcspi_rx_dma() 538 omap2_mcspi_txrx_dma(struct spi_device *spi, struct spi_transfer *xfer) omap2_mcspi_txrx_dma() argument 571 count = xfer->len; omap2_mcspi_txrx_dma() 589 rx = xfer->rx_buf; omap2_mcspi_txrx_dma() 590 tx = xfer->tx_buf; omap2_mcspi_txrx_dma() 593 omap2_mcspi_tx_dma(spi, xfer, cfg); omap2_mcspi_txrx_dma() 596 count = omap2_mcspi_rx_dma(spi, xfer, cfg, es); omap2_mcspi_txrx_dma() 600 dma_unmap_single(mcspi->dev, xfer->tx_dma, xfer->len, omap2_mcspi_txrx_dma() 638 omap2_mcspi_txrx_pio(struct spi_device *spi, struct spi_transfer *xfer) omap2_mcspi_txrx_pio() argument 651 count = xfer->len; omap2_mcspi_txrx_pio() 670 rx = xfer->rx_buf; omap2_mcspi_txrx_pio() 671 tx = xfer->tx_buf; omap2_mcspi_txrx_pio() 718 rx = xfer->rx_buf; omap2_mcspi_txrx_pio() 719 tx = xfer->tx_buf; omap2_mcspi_txrx_pio() 765 rx = xfer->rx_buf; omap2_mcspi_txrx_pio() 766 tx = xfer->tx_buf; omap2_mcspi_txrx_pio() 811 if (xfer->rx_buf == NULL) { omap2_mcspi_txrx_pio() 1170 /* ignore the "leave it on after last xfer" hint */ omap2_mcspi_work() 390 omap2_mcspi_tx_dma(struct spi_device *spi, struct spi_transfer *xfer, struct dma_slave_config cfg) omap2_mcspi_tx_dma() argument
|
H A D | spi-rockchip.c | 565 struct spi_transfer *xfer) rockchip_spi_transfer_one() 573 if (!xfer->tx_buf && !xfer->rx_buf) { rockchip_spi_transfer_one() 578 rs->speed = xfer->speed_hz; rockchip_spi_transfer_one() 579 rs->bpw = xfer->bits_per_word; rockchip_spi_transfer_one() 582 rs->tx = xfer->tx_buf; rockchip_spi_transfer_one() 583 rs->tx_end = rs->tx + xfer->len; rockchip_spi_transfer_one() 584 rs->rx = xfer->rx_buf; rockchip_spi_transfer_one() 585 rs->rx_end = rs->rx + xfer->len; rockchip_spi_transfer_one() 586 rs->len = xfer->len; rockchip_spi_transfer_one() 588 rs->tx_sg = xfer->tx_sg; rockchip_spi_transfer_one() 589 rs->rx_sg = xfer->rx_sg; rockchip_spi_transfer_one() 599 if (master->can_dma && master->can_dma(master, spi, xfer)) rockchip_spi_transfer_one() 626 struct spi_transfer *xfer) rockchip_spi_can_dma() 630 return (xfer->len > rs->fifo_len); rockchip_spi_can_dma() 562 rockchip_spi_transfer_one( struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) rockchip_spi_transfer_one() argument 624 rockchip_spi_can_dma(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) rockchip_spi_can_dma() argument
|
H A D | spi-orion.c | 327 orion_spi_write_read(struct spi_device *spi, struct spi_transfer *xfer) orion_spi_write_read() argument 333 count = xfer->len; orion_spi_write_read() 336 const u8 *tx = xfer->tx_buf; orion_spi_write_read() 337 u8 *rx = xfer->rx_buf; orion_spi_write_read() 345 const u16 *tx = xfer->tx_buf; orion_spi_write_read() 346 u16 *rx = xfer->rx_buf; orion_spi_write_read() 356 return xfer->len - count; orion_spi_write_read()
|
H A D | spi-tegra20-sflash.c | 323 struct spi_transfer *xfer; tegra_sflash_transfer_one_message() local 330 list_for_each_entry(xfer, &msg->transfers, transfer_list) { tegra_sflash_transfer_one_message() 332 ret = tegra_sflash_start_transfer_one(spi, xfer, tegra_sflash_transfer_one_message() 354 msg->actual_length += xfer->len; tegra_sflash_transfer_one_message() 355 if (xfer->cs_change && xfer->delay_usecs) { tegra_sflash_transfer_one_message() 358 udelay(xfer->delay_usecs); tegra_sflash_transfer_one_message()
|
H A D | spi-dln2.c | 656 struct spi_transfer *xfer) dln2_spi_transfer_one() 662 status = dln2_spi_transfer_setup(dln2, xfer->speed_hz, dln2_spi_transfer_one() 663 xfer->bits_per_word, dln2_spi_transfer_one() 670 if (!xfer->cs_change && !spi_transfer_is_last(master, xfer)) dln2_spi_transfer_one() 673 status = dln2_spi_rdwr(dln2, xfer->tx_buf, xfer->rx_buf, dln2_spi_transfer_one() 674 xfer->len, attr); dln2_spi_transfer_one() 654 dln2_spi_transfer_one(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) dln2_spi_transfer_one() argument
|
H A D | spi-dw.h | 94 int (*dma_setup)(struct dw_spi *dws, struct spi_transfer *xfer); 96 struct spi_transfer *xfer); 97 int (*dma_transfer)(struct dw_spi *dws, struct spi_transfer *xfer);
|
H A D | spi-tegra114.c | 807 struct spi_transfer *xfer; tegra_spi_transfer_one_message() local 815 list_for_each_entry(xfer, &msg->transfers, transfer_list) { tegra_spi_transfer_one_message() 820 cmd1 = tegra_spi_setup_transfer_one(spi, xfer, is_first_msg); tegra_spi_transfer_one_message() 822 if (!xfer->len) { tegra_spi_transfer_one_message() 828 ret = tegra_spi_start_transfer_one(spi, xfer, cmd1); tegra_spi_transfer_one_message() 850 msg->actual_length += xfer->len; tegra_spi_transfer_one_message() 856 tegra_spi_transfer_delay(xfer->delay_usecs); tegra_spi_transfer_one_message() 858 } else if (list_is_last(&xfer->transfer_list, tegra_spi_transfer_one_message() 860 if (xfer->cs_change) tegra_spi_transfer_one_message() 865 tegra_spi_transfer_delay(xfer->delay_usecs); tegra_spi_transfer_one_message() 867 } else if (xfer->cs_change) { tegra_spi_transfer_one_message() 870 tegra_spi_transfer_delay(xfer->delay_usecs); tegra_spi_transfer_one_message()
|
H A D | spi-tle62x0.c | 63 struct spi_transfer xfer = { tle62x0_read() local 76 spi_message_add_tail(&xfer, &msg); tle62x0_read()
|
/linux-4.1.27/Documentation/spi/ |
H A D | spidev_fdx.c | 50 struct spi_ioc_transfer xfer[2]; do_msg() local 54 memset(xfer, 0, sizeof xfer); do_msg() 61 xfer[0].tx_buf = (unsigned long)buf; do_msg() 62 xfer[0].len = 1; do_msg() 64 xfer[1].rx_buf = (unsigned long) buf; do_msg() 65 xfer[1].len = len; do_msg() 67 status = ioctl(fd, SPI_IOC_MESSAGE(2), xfer); do_msg()
|
/linux-4.1.27/drivers/gpu/drm/via/ |
H A D | via_dmablit.c | 96 const drm_via_dmablit_t *xfer, via_map_blit_for_device() 102 unsigned char *mem_addr = xfer->mem_addr; via_map_blit_for_device() 105 uint32_t fb_addr = xfer->fb_addr; via_map_blit_for_device() 117 for (cur_line = 0; cur_line < xfer->num_lines; ++cur_line) { via_map_blit_for_device() 119 line_len = xfer->line_length; via_map_blit_for_device() 153 mem_addr += xfer->mem_stride; via_map_blit_for_device() 154 fb_addr += xfer->fb_stride; via_map_blit_for_device() 231 via_lock_all_dma_pages(drm_via_sg_info_t *vsg, drm_via_dmablit_t *xfer) via_lock_all_dma_pages() argument 234 unsigned long first_pfn = VIA_PFN(xfer->mem_addr); via_lock_all_dma_pages() 235 vsg->num_pages = VIA_PFN(xfer->mem_addr + (xfer->num_lines * xfer->mem_stride - 1)) - via_lock_all_dma_pages() 243 (unsigned long)xfer->mem_addr, via_lock_all_dma_pages() 578 via_build_sg_info(struct drm_device *dev, drm_via_sg_info_t *vsg, drm_via_dmablit_t *xfer) via_build_sg_info() argument 580 int draw = xfer->to_fb; via_build_sg_info() 588 if (xfer->num_lines <= 0 || xfer->line_length <= 0) { via_build_sg_info() 600 if ((xfer->mem_stride - xfer->line_length) > 2*PAGE_SIZE) { via_build_sg_info() 602 "Length: %d\n", xfer->mem_stride, xfer->line_length); via_build_sg_info() 606 if ((xfer->mem_stride == xfer->line_length) && via_build_sg_info() 607 (xfer->fb_stride == xfer->line_length)) { via_build_sg_info() 608 xfer->mem_stride *= xfer->num_lines; via_build_sg_info() 609 xfer->line_length = xfer->mem_stride; via_build_sg_info() 610 xfer->fb_stride = xfer->mem_stride; via_build_sg_info() 611 xfer->num_lines = 1; via_build_sg_info() 619 if (xfer->num_lines > 2048 || (xfer->num_lines*xfer->mem_stride > (2048*2048*4))) { via_build_sg_info() 629 if (xfer->mem_stride < xfer->line_length || via_build_sg_info() 630 abs(xfer->fb_stride) < xfer->line_length) { via_build_sg_info() 642 if ((((unsigned long)xfer->mem_addr & 3) != ((unsigned long)xfer->fb_addr & 3)) || via_build_sg_info() 643 ((xfer->num_lines > 1) && ((xfer->mem_stride & 3) != (xfer->fb_stride & 3)))) { via_build_sg_info() 648 if ((((unsigned long)xfer->mem_addr & 15) || via_build_sg_info() 649 ((unsigned long)xfer->fb_addr & 3)) || via_build_sg_info() 650 ((xfer->num_lines > 1) && via_build_sg_info() 651 ((xfer->mem_stride & 15) || (xfer->fb_stride & 3)))) { via_build_sg_info() 657 if (0 != (ret = via_lock_all_dma_pages(vsg, xfer))) { via_build_sg_info() 663 via_map_blit_for_device(dev->pdev, xfer, vsg, 0); via_build_sg_info() 669 via_map_blit_for_device(dev->pdev, xfer, vsg, 1); via_build_sg_info() 725 via_dmablit(struct drm_device *dev, drm_via_dmablit_t *xfer) via_dmablit() argument 739 engine = (xfer->to_fb) ? 0 : 1; via_dmablit() 747 if (0 != (ret = via_build_sg_info(dev, vsg, xfer))) { via_dmablit() 758 xfer->sync.sync_handle = ++blitq->cur_blit_handle; via_dmablit() 761 xfer->sync.engine = engine; via_dmablit() 802 drm_via_dmablit_t *xfer = data; via_dma_blit() local 805 err = via_dmablit(dev, xfer); via_dma_blit() 95 via_map_blit_for_device(struct pci_dev *pdev, const drm_via_dmablit_t *xfer, drm_via_sg_info_t *vsg, int mode) via_map_blit_for_device() argument
|
/linux-4.1.27/drivers/input/touchscreen/ |
H A D | cyttsp4_spi.c | 51 struct spi_transfer xfer[2]; cyttsp_spi_xfer() local 73 memset(xfer, 0, sizeof(xfer)); cyttsp_spi_xfer() 80 xfer[0].tx_buf = wr_buf; cyttsp_spi_xfer() 81 xfer[0].rx_buf = rd_buf; cyttsp_spi_xfer() 84 xfer[0].len = length + CY_SPI_CMD_BYTES; cyttsp_spi_xfer() 85 spi_message_add_tail(&xfer[0], &msg); cyttsp_spi_xfer() 89 xfer[0].len = CY_SPI_RD_HEADER_BYTES; cyttsp_spi_xfer() 90 spi_message_add_tail(&xfer[0], &msg); cyttsp_spi_xfer() 92 xfer[1].rx_buf = buf; cyttsp_spi_xfer() 93 xfer[1].len = length; cyttsp_spi_xfer() 94 spi_message_add_tail(&xfer[1], &msg); cyttsp_spi_xfer() 105 __func__, retval, xfer[1].len, op); cyttsp_spi_xfer()
|
H A D | cyttsp_spi.c | 48 struct spi_transfer xfer[2]; cyttsp_spi_xfer() local 70 memset(xfer, 0, sizeof(xfer)); cyttsp_spi_xfer() 77 xfer[0].tx_buf = wr_buf; cyttsp_spi_xfer() 78 xfer[0].rx_buf = rd_buf; cyttsp_spi_xfer() 81 xfer[0].len = length + CY_SPI_CMD_BYTES; cyttsp_spi_xfer() 82 spi_message_add_tail(&xfer[0], &msg); cyttsp_spi_xfer() 86 xfer[0].len = CY_SPI_CMD_BYTES; cyttsp_spi_xfer() 87 spi_message_add_tail(&xfer[0], &msg); cyttsp_spi_xfer() 89 xfer[1].rx_buf = buf; cyttsp_spi_xfer() 90 xfer[1].len = length; cyttsp_spi_xfer() 91 spi_message_add_tail(&xfer[1], &msg); cyttsp_spi_xfer() 102 __func__, retval, xfer[1].len, op); cyttsp_spi_xfer()
|
H A D | ad7877.c | 161 struct spi_transfer xfer[6]; member in struct:ser_req 191 struct spi_transfer xfer[AD7877_NR_SENSE + 2]; member in struct:ad7877 226 req->xfer[0].tx_buf = &req->command; ad7877_read() 227 req->xfer[0].len = 2; ad7877_read() 228 req->xfer[0].cs_change = 1; ad7877_read() 230 req->xfer[1].rx_buf = &req->sample; ad7877_read() 231 req->xfer[1].len = 2; ad7877_read() 233 spi_message_add_tail(&req->xfer[0], &req->msg); ad7877_read() 234 spi_message_add_tail(&req->xfer[1], &req->msg); ad7877_read() 256 req->xfer[0].tx_buf = &req->command; ad7877_write() 257 req->xfer[0].len = 2; ad7877_write() 259 spi_message_add_tail(&req->xfer[0], &req->msg); ad7877_write() 292 req->xfer[0].tx_buf = &req->reset; ad7877_read_adc() 293 req->xfer[0].len = 2; ad7877_read_adc() 294 req->xfer[0].cs_change = 1; ad7877_read_adc() 296 req->xfer[1].tx_buf = &req->ref_on; ad7877_read_adc() 297 req->xfer[1].len = 2; ad7877_read_adc() 298 req->xfer[1].delay_usecs = ts->vref_delay_usecs; ad7877_read_adc() 299 req->xfer[1].cs_change = 1; ad7877_read_adc() 301 req->xfer[2].tx_buf = &req->command; ad7877_read_adc() 302 req->xfer[2].len = 2; ad7877_read_adc() 303 req->xfer[2].delay_usecs = ts->vref_delay_usecs; ad7877_read_adc() 304 req->xfer[2].cs_change = 1; ad7877_read_adc() 306 req->xfer[3].rx_buf = &req->sample; ad7877_read_adc() 307 req->xfer[3].len = 2; ad7877_read_adc() 308 req->xfer[3].cs_change = 1; ad7877_read_adc() 310 req->xfer[4].tx_buf = &ts->cmd_crtl2; /*REF OFF*/ ad7877_read_adc() 311 req->xfer[4].len = 2; ad7877_read_adc() 312 req->xfer[4].cs_change = 1; ad7877_read_adc() 314 req->xfer[5].tx_buf = &ts->cmd_crtl1; /*DEFAULT*/ ad7877_read_adc() 315 req->xfer[5].len = 2; ad7877_read_adc() 321 spi_message_add_tail(&req->xfer[i], &req->msg); ad7877_read_adc() 658 ts->xfer[0].tx_buf = &ts->cmd_crtl1; ad7877_setup_ts_def_msg() 659 ts->xfer[0].len = 2; ad7877_setup_ts_def_msg() 660 ts->xfer[0].cs_change = 1; ad7877_setup_ts_def_msg() 662 spi_message_add_tail(&ts->xfer[0], m); ad7877_setup_ts_def_msg() 664 ts->xfer[1].tx_buf = &ts->cmd_dummy; /* Send ZERO */ ad7877_setup_ts_def_msg() 665 ts->xfer[1].len = 2; ad7877_setup_ts_def_msg() 666 ts->xfer[1].cs_change = 1; ad7877_setup_ts_def_msg() 668 spi_message_add_tail(&ts->xfer[1], m); ad7877_setup_ts_def_msg() 671 ts->xfer[i + 2].rx_buf = &ts->conversion_data[AD7877_SEQ_YPOS + i]; ad7877_setup_ts_def_msg() 672 ts->xfer[i + 2].len = 2; ad7877_setup_ts_def_msg() 674 ts->xfer[i + 2].cs_change = 1; ad7877_setup_ts_def_msg() 675 spi_message_add_tail(&ts->xfer[i + 2], m); ad7877_setup_ts_def_msg()
|
H A D | ads7846.c | 118 struct spi_transfer xfer[18]; member in struct:ads7846 151 #define CS_CHANGE(xfer) ((xfer).cs_change = 1) 153 #define CS_CHANGE(xfer) ((xfer).cs_change = 0) 293 struct spi_transfer xfer[6]; member in struct:ser_req 304 struct spi_transfer xfer[2]; member in struct:ads7845_ser_req 328 req->xfer[0].tx_buf = &req->ref_on; ads7846_read12_ser() 329 req->xfer[0].len = 1; ads7846_read12_ser() 330 spi_message_add_tail(&req->xfer[0], &req->msg); ads7846_read12_ser() 332 req->xfer[1].rx_buf = &req->scratch; ads7846_read12_ser() 333 req->xfer[1].len = 2; ads7846_read12_ser() 336 req->xfer[1].delay_usecs = ts->vref_delay_usecs; ads7846_read12_ser() 337 spi_message_add_tail(&req->xfer[1], &req->msg); ads7846_read12_ser() 348 req->xfer[2].tx_buf = &req->command; ads7846_read12_ser() 349 req->xfer[2].len = 1; ads7846_read12_ser() 350 spi_message_add_tail(&req->xfer[2], &req->msg); ads7846_read12_ser() 352 req->xfer[3].rx_buf = &req->sample; ads7846_read12_ser() 353 req->xfer[3].len = 2; ads7846_read12_ser() 354 spi_message_add_tail(&req->xfer[3], &req->msg); ads7846_read12_ser() 360 req->xfer[4].tx_buf = &req->ref_off; ads7846_read12_ser() 361 req->xfer[4].len = 1; ads7846_read12_ser() 362 spi_message_add_tail(&req->xfer[4], &req->msg); ads7846_read12_ser() 364 req->xfer[5].rx_buf = &req->scratch; ads7846_read12_ser() 365 req->xfer[5].len = 2; ads7846_read12_ser() 366 CS_CHANGE(req->xfer[5]); ads7846_read12_ser() 367 spi_message_add_tail(&req->xfer[5], &req->msg); ads7846_read12_ser() 400 req->xfer[0].tx_buf = req->command; ads7845_read12_ser() 401 req->xfer[0].rx_buf = req->sample; ads7845_read12_ser() 402 req->xfer[0].len = 3; ads7845_read12_ser() 403 spi_message_add_tail(&req->xfer[0], &req->msg); ads7845_read12_ser() 978 struct spi_transfer *x = ts->xfer; ads7846_setup_spi_msg()
|
H A D | mms114.c | 78 struct i2c_msg xfer[2]; __mms114_read_reg() local 86 xfer[0].addr = client->addr; __mms114_read_reg() 87 xfer[0].flags = I2C_M_TEN | I2C_M_NOSTART; __mms114_read_reg() 88 xfer[0].len = 1; __mms114_read_reg() 89 xfer[0].buf = &buf; __mms114_read_reg() 92 xfer[1].addr = client->addr; __mms114_read_reg() 93 xfer[1].flags = I2C_M_RD; __mms114_read_reg() 94 xfer[1].len = len; __mms114_read_reg() 95 xfer[1].buf = val; __mms114_read_reg() 97 error = i2c_transfer(client->adapter, xfer, 2); __mms114_read_reg()
|
H A D | tsc2005.c | 164 struct spi_transfer xfer = { tsc2005_cmd() local 173 spi_message_add_tail(&xfer, &msg); tsc2005_cmd() 188 struct spi_transfer xfer = { tsc2005_write() local 197 spi_message_add_tail(&xfer, &msg); tsc2005_write()
|
H A D | atmel_mxt_ts.c | 595 struct i2c_msg xfer[2]; __mxt_read_reg() local 603 xfer[0].addr = client->addr; __mxt_read_reg() 604 xfer[0].flags = 0; __mxt_read_reg() 605 xfer[0].len = 2; __mxt_read_reg() 606 xfer[0].buf = buf; __mxt_read_reg() 609 xfer[1].addr = client->addr; __mxt_read_reg() 610 xfer[1].flags = I2C_M_RD; __mxt_read_reg() 611 xfer[1].len = len; __mxt_read_reg() 612 xfer[1].buf = val; __mxt_read_reg() 614 ret = i2c_transfer(client->adapter, xfer, 2); __mxt_read_reg()
|
/linux-4.1.27/drivers/base/regmap/ |
H A D | regmap-i2c.c | 148 struct i2c_msg xfer[2]; regmap_i2c_gather_write() local 157 xfer[0].addr = i2c->addr; regmap_i2c_gather_write() 158 xfer[0].flags = 0; regmap_i2c_gather_write() 159 xfer[0].len = reg_size; regmap_i2c_gather_write() 160 xfer[0].buf = (void *)reg; regmap_i2c_gather_write() 162 xfer[1].addr = i2c->addr; regmap_i2c_gather_write() 163 xfer[1].flags = I2C_M_NOSTART; regmap_i2c_gather_write() 164 xfer[1].len = val_size; regmap_i2c_gather_write() 165 xfer[1].buf = (void *)val; regmap_i2c_gather_write() 167 ret = i2c_transfer(i2c->adapter, xfer, 2); regmap_i2c_gather_write() 182 struct i2c_msg xfer[2]; regmap_i2c_read() local 185 xfer[0].addr = i2c->addr; regmap_i2c_read() 186 xfer[0].flags = 0; regmap_i2c_read() 187 xfer[0].len = reg_size; regmap_i2c_read() 188 xfer[0].buf = (void *)reg; regmap_i2c_read() 190 xfer[1].addr = i2c->addr; regmap_i2c_read() 191 xfer[1].flags = I2C_M_RD; regmap_i2c_read() 192 xfer[1].len = val_size; regmap_i2c_read() 193 xfer[1].buf = val; regmap_i2c_read() 195 ret = i2c_transfer(i2c->adapter, xfer, 2); regmap_i2c_read()
|
/linux-4.1.27/drivers/gpu/drm/exynos/ |
H A D | exynos_drm_dsi.c | 793 struct exynos_dsi_transfer *xfer) exynos_dsi_send_to_fifo() 796 const u8 *payload = xfer->tx_payload + xfer->tx_done; exynos_dsi_send_to_fifo() 797 u16 length = xfer->tx_len - xfer->tx_done; exynos_dsi_send_to_fifo() 798 bool first = !xfer->tx_done; exynos_dsi_send_to_fifo() 801 dev_dbg(dev, "< xfer %p: tx len %u, done %u, rx len %u, done %u\n", exynos_dsi_send_to_fifo() 802 xfer, xfer->tx_len, xfer->tx_done, xfer->rx_len, xfer->rx_done); exynos_dsi_send_to_fifo() 807 xfer->tx_done += length; exynos_dsi_send_to_fifo() 839 reg = (xfer->data[1] << 16) | (xfer->data[0] << 8) | xfer->data_id; exynos_dsi_send_to_fifo() 845 if (NEQV(xfer->flags & MIPI_DSI_MSG_USE_LPM, exynos_dsi_send_to_fifo() 847 exynos_dsi_set_cmd_lpm(dsi, xfer->flags & MIPI_DSI_MSG_USE_LPM); exynos_dsi_send_to_fifo() 853 if (xfer->flags & MIPI_DSI_MSG_REQ_ACK) exynos_dsi_send_to_fifo() 858 struct exynos_dsi_transfer *xfer) exynos_dsi_read_from_fifo() 860 u8 *payload = xfer->rx_payload + xfer->rx_done; exynos_dsi_read_from_fifo() 861 bool first = !xfer->rx_done; exynos_dsi_read_from_fifo() 872 if (xfer->rx_len >= 2) { exynos_dsi_read_from_fifo() 874 ++xfer->rx_done; exynos_dsi_read_from_fifo() 880 ++xfer->rx_done; exynos_dsi_read_from_fifo() 881 xfer->rx_len = xfer->rx_done; exynos_dsi_read_from_fifo() 882 xfer->result = 0; exynos_dsi_read_from_fifo() 887 xfer->result = 0; exynos_dsi_read_from_fifo() 892 if (length > xfer->rx_len) { exynos_dsi_read_from_fifo() 895 xfer->rx_len, length); exynos_dsi_read_from_fifo() 896 length = xfer->rx_len; exynos_dsi_read_from_fifo() 897 } else if (length < xfer->rx_len) exynos_dsi_read_from_fifo() 898 xfer->rx_len = length; exynos_dsi_read_from_fifo() 901 length = xfer->rx_len - xfer->rx_done; exynos_dsi_read_from_fifo() 902 xfer->rx_done += length; exynos_dsi_read_from_fifo() 929 if (xfer->rx_done == xfer->rx_len) exynos_dsi_read_from_fifo() 930 xfer->result = 0; exynos_dsi_read_from_fifo() 944 struct exynos_dsi_transfer *xfer; exynos_dsi_transfer_start() local 955 xfer = list_first_entry(&dsi->transfer_list, exynos_dsi_transfer_start() 960 if (xfer->tx_len && xfer->tx_done == xfer->tx_len) exynos_dsi_transfer_start() 964 exynos_dsi_send_to_fifo(dsi, xfer); exynos_dsi_transfer_start() 966 if (xfer->tx_len || xfer->rx_len) exynos_dsi_transfer_start() 969 xfer->result = 0; exynos_dsi_transfer_start() 970 complete(&xfer->completed); exynos_dsi_transfer_start() 974 list_del_init(&xfer->list); exynos_dsi_transfer_start() 985 struct exynos_dsi_transfer *xfer; exynos_dsi_transfer_finish() local 996 xfer = list_first_entry(&dsi->transfer_list, exynos_dsi_transfer_finish() 1002 "> xfer %p, tx_len %u, tx_done %u, rx_len %u, rx_done %u\n", exynos_dsi_transfer_finish() 1003 xfer, xfer->tx_len, xfer->tx_done, xfer->rx_len, xfer->rx_done); exynos_dsi_transfer_finish() 1005 if (xfer->tx_done != xfer->tx_len) exynos_dsi_transfer_finish() 1008 if (xfer->rx_done != xfer->rx_len) exynos_dsi_transfer_finish() 1009 exynos_dsi_read_from_fifo(dsi, xfer); exynos_dsi_transfer_finish() 1011 if (xfer->rx_done != xfer->rx_len) exynos_dsi_transfer_finish() 1016 list_del_init(&xfer->list); exynos_dsi_transfer_finish() 1021 if (!xfer->rx_len) exynos_dsi_transfer_finish() 1022 xfer->result = 0; exynos_dsi_transfer_finish() 1023 complete(&xfer->completed); exynos_dsi_transfer_finish() 1029 struct exynos_dsi_transfer *xfer) exynos_dsi_remove_transfer() 1037 xfer == list_first_entry(&dsi->transfer_list, exynos_dsi_remove_transfer() 1039 list_del_init(&xfer->list); exynos_dsi_remove_transfer() 1047 list_del_init(&xfer->list); exynos_dsi_remove_transfer() 1053 struct exynos_dsi_transfer *xfer) exynos_dsi_transfer() 1058 xfer->tx_done = 0; exynos_dsi_transfer() 1059 xfer->rx_done = 0; exynos_dsi_transfer() 1060 xfer->result = -ETIMEDOUT; exynos_dsi_transfer() 1061 init_completion(&xfer->completed); exynos_dsi_transfer() 1066 list_add_tail(&xfer->list, &dsi->transfer_list); exynos_dsi_transfer() 1073 wait_for_completion_timeout(&xfer->completed, exynos_dsi_transfer() 1075 if (xfer->result == -ETIMEDOUT) { exynos_dsi_transfer() 1076 exynos_dsi_remove_transfer(dsi, xfer); exynos_dsi_transfer() 1077 dev_err(dsi->dev, "xfer timed out: %*ph %*ph\n", 2, xfer->data, exynos_dsi_transfer() 1078 xfer->tx_len, xfer->tx_payload); exynos_dsi_transfer() 1083 return xfer->result; exynos_dsi_transfer() 1251 struct exynos_dsi_transfer xfer; exynos_dsi_host_transfer() local 1264 xfer.data_id = msg->type | (msg->channel << 6); exynos_dsi_host_transfer() 1271 xfer.tx_len = 0; exynos_dsi_host_transfer() 1272 xfer.data[0] = tx_buf[0]; exynos_dsi_host_transfer() 1273 xfer.data[1] = (msg->tx_len == 2) ? tx_buf[1] : 0; exynos_dsi_host_transfer() 1275 xfer.tx_len = msg->tx_len; exynos_dsi_host_transfer() 1276 xfer.data[0] = msg->tx_len & 0xff; exynos_dsi_host_transfer() 1277 xfer.data[1] = msg->tx_len >> 8; exynos_dsi_host_transfer() 1278 xfer.tx_payload = msg->tx_buf; exynos_dsi_host_transfer() 1281 xfer.rx_len = msg->rx_len; exynos_dsi_host_transfer() 1282 xfer.rx_payload = msg->rx_buf; exynos_dsi_host_transfer() 1283 xfer.flags = msg->flags; exynos_dsi_host_transfer() 1285 ret = exynos_dsi_transfer(dsi, &xfer); exynos_dsi_host_transfer() 1286 return (ret < 0) ? ret : xfer.rx_done; exynos_dsi_host_transfer() 792 exynos_dsi_send_to_fifo(struct exynos_dsi *dsi, struct exynos_dsi_transfer *xfer) exynos_dsi_send_to_fifo() argument 857 exynos_dsi_read_from_fifo(struct exynos_dsi *dsi, struct exynos_dsi_transfer *xfer) exynos_dsi_read_from_fifo() argument 1028 exynos_dsi_remove_transfer(struct exynos_dsi *dsi, struct exynos_dsi_transfer *xfer) exynos_dsi_remove_transfer() argument 1052 exynos_dsi_transfer(struct exynos_dsi *dsi, struct exynos_dsi_transfer *xfer) exynos_dsi_transfer() argument
|
/linux-4.1.27/drivers/net/caif/ |
H A D | caif_spi_slave.c | 86 memset(cfspi->xfer.va_tx, 0xFF, SPI_DMA_BUF_LEN); cfspi_xfer() 87 memset(cfspi->xfer.va_rx, 0xFF, SPI_DMA_BUF_LEN); cfspi_xfer() 99 ptr = (u8 *) cfspi->xfer.va_tx; cfspi_xfer() 116 ptr = (u8 *) cfspi->xfer.va_tx; cfspi_xfer() 123 cfspi->xfer.tx_dma_len = cfspi->tx_cpck_len + SPI_IND_SZ; cfspi_xfer() 124 cfspi->xfer.rx_dma_len = cfspi->rx_cpck_len + SPI_CMD_SZ; cfspi_xfer() 128 (cfspi->xfer.tx_dma_len % spi_frm_align)) { cfspi_xfer() 130 cfspi->xfer.tx_dma_len += spi_frm_align - cfspi_xfer() 131 (cfspi->xfer.tx_dma_len % spi_frm_align); cfspi_xfer() 136 (cfspi->xfer.rx_dma_len % spi_frm_align)) { cfspi_xfer() 138 cfspi->xfer.rx_dma_len += spi_frm_align - cfspi_xfer() 139 (cfspi->xfer.rx_dma_len % spi_frm_align); cfspi_xfer() 145 ret = cfspi->dev->init_xfer(&cfspi->xfer, cfspi->dev); cfspi_xfer() 170 * Clear the master talk bit. A xfer is always at cfspi_xfer() 179 if (SPI_XFER_TIME_USEC(cfspi->xfer.tx_dma_len, cfspi_xfer() 185 (cfspi->xfer.tx_dma_len, cfspi->dev->clk_mhz)); cfspi_xfer() 200 ptr = ((u8 *)(cfspi->xfer.va_rx + SPI_DATA_POS)); cfspi_xfer() 207 ptr = (u8 *) cfspi->xfer.va_rx; cfspi_xfer() 233 * Check whether we need to clear the xfer bit. cfspi_xfer()
|
H A D | caif_spi.c | 222 cfspi->xfer.va_tx[0], dbgfs_frame() 229 cfspi->xfer.va_rx, dbgfs_frame() 476 /* Wake up the xfer thread. */ cfspi_ss_cb() 502 /* Wake up xfer thread. */ cfspi_xmit() 615 cfspi->xfer.va_tx[0] = dma_alloc(&cfspi->xfer.pa_tx[0]); cfspi_init() 616 if (!cfspi->xfer.va_tx[0]) { cfspi_init() 621 cfspi->xfer.va_rx = dma_alloc(&cfspi->xfer.pa_rx); cfspi_init() 623 if (!cfspi->xfer.va_rx) { cfspi_init() 670 dma_free(cfspi->xfer.va_rx, cfspi->xfer.pa_rx); cfspi_init() 672 dma_free(cfspi->xfer.va_tx[0], cfspi->xfer.pa_tx[0]); cfspi_init() 688 dma_free(cfspi->xfer.va_rx, cfspi->xfer.pa_rx); cfspi_uninit() 689 dma_free(cfspi->xfer.va_tx[0], cfspi->xfer.pa_tx[0]); cfspi_uninit()
|
/linux-4.1.27/drivers/iio/adc/ |
H A D | ad7887.c | 58 struct spi_transfer xfer[4]; member in struct:ad7887_state 282 st->xfer[0].rx_buf = &st->data[0]; ad7887_probe() 283 st->xfer[0].tx_buf = &st->tx_cmd_buf[0]; ad7887_probe() 284 st->xfer[0].len = 2; ad7887_probe() 287 spi_message_add_tail(&st->xfer[0], &st->msg[AD7887_CH0]); ad7887_probe() 292 st->xfer[1].rx_buf = &st->data[0]; ad7887_probe() 293 st->xfer[1].tx_buf = &st->tx_cmd_buf[2]; ad7887_probe() 294 st->xfer[1].len = 2; ad7887_probe() 296 st->xfer[2].rx_buf = &st->data[2]; ad7887_probe() 297 st->xfer[2].tx_buf = &st->tx_cmd_buf[0]; ad7887_probe() 298 st->xfer[2].len = 2; ad7887_probe() 301 spi_message_add_tail(&st->xfer[1], &st->msg[AD7887_CH0_CH1]); ad7887_probe() 302 spi_message_add_tail(&st->xfer[2], &st->msg[AD7887_CH0_CH1]); ad7887_probe() 304 st->xfer[3].rx_buf = &st->data[2]; ad7887_probe() 305 st->xfer[3].tx_buf = &st->tx_cmd_buf[2]; ad7887_probe() 306 st->xfer[3].len = 2; ad7887_probe() 309 spi_message_add_tail(&st->xfer[3], &st->msg[AD7887_CH1]); ad7887_probe()
|
H A D | ad7476.c | 37 struct spi_transfer xfer; member in struct:ad7476_state 238 st->xfer.rx_buf = &st->data; ad7476_probe() 239 st->xfer.len = st->chip_info->channel[0].scan_type.storagebits / 8; ad7476_probe() 242 spi_message_add_tail(&st->xfer, &st->msg); ad7476_probe()
|
/linux-4.1.27/arch/m68k/include/asm/ |
H A D | mcfdma.h | 47 #define MCFDMA_DCR_SSIZE_MASK 0x0030 /* Src xfer size */ 48 #define MCFDMA_DCR_SSIZE_LONG 0x0000 /* Src xfer size, 00 = longw */ 49 #define MCFDMA_DCR_SSIZE_BYTE 0x0010 /* Src xfer size, 01 = byte */ 50 #define MCFDMA_DCR_SSIZE_WORD 0x0020 /* Src xfer size, 10 = word */ 51 #define MCFDMA_DCR_SSIZE_LINE 0x0030 /* Src xfer size, 11 = line */ 53 #define MCFDMA_DCR_DSIZE_MASK 0x0006 /* Dest xfer size */ 54 #define MCFDMA_DCR_DSIZE_LONG 0x0000 /* Dest xfer size, 00 = long */ 55 #define MCFDMA_DCR_DSIZE_BYTE 0x0002 /* Dest xfer size, 01 = byte */ 56 #define MCFDMA_DCR_DSIZE_WORD 0x0004 /* Dest xfer size, 10 = word */ 57 #define MCFDMA_DCR_DSIZE_LINE 0x0006 /* Dest xfer size, 11 = line */
|
/linux-4.1.27/sound/soc/codecs/ |
H A D | wm0010.c | 221 struct wm0010_boot_xfer *xfer = data; wm0010_boot_xfer_complete() local 222 struct snd_soc_codec *codec = xfer->codec; wm0010_boot_xfer_complete() 224 u32 *out32 = xfer->t.rx_buf; wm0010_boot_xfer_complete() 227 if (xfer->m.status != 0) { wm0010_boot_xfer_complete() 229 xfer->m.status); wm0010_boot_xfer_complete() 231 if (xfer->done) wm0010_boot_xfer_complete() 232 complete(xfer->done); wm0010_boot_xfer_complete() 236 for (i = 0; i < xfer->t.len / 4; i++) { wm0010_boot_xfer_complete() 334 if (xfer->done) wm0010_boot_xfer_complete() 335 complete(xfer->done); wm0010_boot_xfer_complete() 351 struct wm0010_boot_xfer *xfer; wm0010_firmware_load() local 414 xfer = kzalloc(sizeof(*xfer), GFP_KERNEL); wm0010_firmware_load() 415 if (!xfer) { wm0010_firmware_load() 420 xfer->codec = codec; wm0010_firmware_load() 421 list_add_tail(&xfer->list, &xfer_list); wm0010_firmware_load() 428 xfer->t.rx_buf = out; wm0010_firmware_load() 435 xfer->t.tx_buf = img; wm0010_firmware_load() 439 spi_message_init(&xfer->m); wm0010_firmware_load() 440 xfer->m.complete = wm0010_boot_xfer_complete; wm0010_firmware_load() 441 xfer->m.context = xfer; wm0010_firmware_load() 442 xfer->t.len = len; wm0010_firmware_load() 443 xfer->t.bits_per_word = 8; wm0010_firmware_load() 446 xfer->t.speed_hz = wm0010->sysclk / 6; wm0010_firmware_load() 448 xfer->t.speed_hz = wm0010->max_spi_freq; wm0010_firmware_load() 452 xfer->t.speed_hz = wm0010->board_max_spi_speed; wm0010_firmware_load() 456 wm0010->max_spi_freq = xfer->t.speed_hz; wm0010_firmware_load() 458 spi_message_add_tail(&xfer->t, &xfer->m); wm0010_firmware_load() 465 xfer->done = &done; wm0010_firmware_load() 468 ret = spi_async(spi, &xfer->m); wm0010_firmware_load() 487 xfer = list_first_entry(&xfer_list, struct wm0010_boot_xfer, wm0010_firmware_load() 489 kfree(xfer->t.rx_buf); wm0010_firmware_load() 490 kfree(xfer->t.tx_buf); wm0010_firmware_load() 491 list_del(&xfer->list); wm0010_firmware_load() 492 kfree(xfer); wm0010_firmware_load()
|
H A D | rt286.c | 233 struct i2c_msg xfer[2]; rt286_hw_read() local 254 xfer[0].addr = client->addr; rt286_hw_read() 255 xfer[0].flags = 0; rt286_hw_read() 256 xfer[0].len = 4; rt286_hw_read() 257 xfer[0].buf = (u8 *)&be_reg; rt286_hw_read() 260 xfer[1].addr = client->addr; rt286_hw_read() 261 xfer[1].flags = I2C_M_RD; rt286_hw_read() 262 xfer[1].len = 4; rt286_hw_read() 263 xfer[1].buf = (u8 *)&buf; rt286_hw_read() 265 ret = i2c_transfer(client->adapter, xfer, 2); rt286_hw_read()
|
/linux-4.1.27/drivers/rtc/ |
H A D | rtc-x1205.c | 180 int i, xfer; x1205_set_datetime() local 219 xfer = i2c_master_send(client, wel, 3); x1205_set_datetime() 220 if (xfer != 3) { x1205_set_datetime() 221 dev_err(&client->dev, "%s: wel - %d\n", __func__, xfer); x1205_set_datetime() 225 xfer = i2c_master_send(client, rwel, 3); x1205_set_datetime() 226 if (xfer != 3) { x1205_set_datetime() 227 dev_err(&client->dev, "%s: rwel - %d\n", __func__, xfer); x1205_set_datetime() 231 xfer = i2c_master_send(client, rdata, sizeof(rdata)); x1205_set_datetime() 232 if (xfer != sizeof(rdata)) { x1205_set_datetime() 236 xfer, rdata[1], rdata[2]); x1205_set_datetime() 249 xfer = i2c_master_send(client, rwel, 3); x1205_set_datetime() 250 if (xfer != 3) { x1205_set_datetime() 254 xfer); x1205_set_datetime() 261 xfer = i2c_master_send(client, al0e, 3); x1205_set_datetime() 262 if (xfer != 3) { x1205_set_datetime() 266 xfer); x1205_set_datetime() 275 xfer = i2c_master_send(client, diswe, 3); x1205_set_datetime() 276 if (xfer != 3) { x1205_set_datetime() 277 dev_err(&client->dev, "%s: diswe - %d\n", __func__, xfer); x1205_set_datetime() 387 int i, xfer; x1205_validate_client() local 435 xfer = i2c_transfer(client->adapter, msgs, 2); x1205_validate_client() 436 if (xfer != 2) { x1205_validate_client() 473 xfer = i2c_transfer(client->adapter, msgs, 2); x1205_validate_client() 474 if (xfer != 2) { x1205_validate_client()
|
H A D | rtc-ds1672.c | 77 int xfer; ds1672_set_mmss() local 87 xfer = i2c_master_send(client, buf, 6); ds1672_set_mmss() 88 if (xfer != 6) { ds1672_set_mmss() 89 dev_err(&client->dev, "%s: send: %d\n", __func__, xfer); ds1672_set_mmss()
|
/linux-4.1.27/drivers/media/pci/mantis/ |
H A D | mantis_i2c.c | 57 /* wait for xfer completion */ mantis_i2c_read() 66 /* wait for xfer completion */ mantis_i2c_read() 105 /* wait for xfer completion */ mantis_i2c_write() 114 /* wait for xfer completion */ mantis_i2c_write() 159 /* wait for xfer completion */ mantis_i2c_xfer() 166 /* check for xfer completion */ mantis_i2c_xfer() 168 /* check xfer was acknowledged */ mantis_i2c_xfer()
|
/linux-4.1.27/drivers/mtd/ |
H A D | ftl.c | 337 struct xfer_info_t *xfer; erase_xfer() local 340 xfer = &part->XferInfo[xfernum]; erase_xfer() 341 pr_debug("ftl_cs: erasing xfer unit at 0x%x\n", xfer->Offset); erase_xfer() 342 xfer->state = XFER_ERASING; erase_xfer() 353 erase->addr = xfer->Offset; erase_xfer() 360 xfer->EraseCount++; erase_xfer() 377 struct xfer_info_t *xfer; ftl_erase_callback() local 392 xfer = &part->XferInfo[i]; ftl_erase_callback() 394 xfer->state = XFER_ERASED; ftl_erase_callback() 396 xfer->state = XFER_FAILED; ftl_erase_callback() 408 struct xfer_info_t *xfer; prepare_xfer() local 414 xfer = &part->XferInfo[i]; prepare_xfer() 415 xfer->state = XFER_FAILED; prepare_xfer() 417 pr_debug("ftl_cs: preparing xfer unit at 0x%x\n", xfer->Offset); prepare_xfer() 422 header.EraseCount = cpu_to_le32(xfer->EraseCount); prepare_xfer() 424 ret = mtd_write(part->mbd.mtd, xfer->Offset, sizeof(header), &retlen, prepare_xfer() 435 offset = xfer->Offset + le32_to_cpu(part->header.BAMOffset); prepare_xfer() 446 xfer->state = XFER_PREPARED; prepare_xfer() 468 struct xfer_info_t *xfer; copy_erase_unit() local 477 xfer = &part->XferInfo[xferunit]; copy_erase_unit() 479 eun->Offset, xfer->Offset); copy_erase_unit() 501 xfer->state = XFER_UNKNOWN; copy_erase_unit() 502 offset = xfer->Offset + 20; /* Bad! */ copy_erase_unit() 514 src = eun->Offset; dest = xfer->Offset; copy_erase_unit() 528 printk(KERN_WARNING "ftl: Error reading old xfer unit in copy_erase_unit\n"); copy_erase_unit() 536 printk(KERN_WARNING "ftl: Error writing new xfer unit in copy_erase_unit\n"); copy_erase_unit() 553 xfer->Offset + le32_to_cpu(part->header.BAMOffset), copy_erase_unit() 564 ret = mtd_write(part->mbd.mtd, xfer->Offset + 20, sizeof(uint16_t), copy_erase_unit() 574 i = xfer->EraseCount; copy_erase_unit() 575 xfer->EraseCount = eun->EraseCount; copy_erase_unit() 577 i = xfer->Offset; copy_erase_unit() 578 xfer->Offset = eun->Offset; copy_erase_unit() 609 uint16_t i, eun, xfer; reclaim_block() local 616 best = 0xffffffff; xfer = 0xffff; reclaim_block() 641 xfer = i; reclaim_block() 648 if (xfer == 0xffff) { reclaim_block() 665 } while (xfer == 0xffff); reclaim_block() 695 ret = copy_erase_unit(part, eun, xfer); reclaim_block() 697 erase_xfer(part, xfer); reclaim_block()
|
/linux-4.1.27/drivers/video/backlight/ |
H A D | ili922x.c | 154 struct spi_transfer xfer; ili922x_read_status() local 159 memset(&xfer, 0, sizeof(struct spi_transfer)); ili922x_read_status() 161 xfer.tx_buf = tbuf; ili922x_read_status() 162 xfer.rx_buf = rbuf; ili922x_read_status() 163 xfer.cs_change = 1; ili922x_read_status() 164 CHECK_FREQ_REG(spi, &xfer); ili922x_read_status() 169 * we need 4-byte xfer here due to invalid dummy byte ili922x_read_status() 175 xfer.bits_per_word = 8; ili922x_read_status() 176 xfer.len = 4; ili922x_read_status() 177 spi_message_add_tail(&xfer, &msg); ili922x_read_status() 325 struct spi_transfer xfer; set_write_to_gram_reg() local 328 memset(&xfer, 0, sizeof(struct spi_transfer)); set_write_to_gram_reg() 331 xfer.tx_buf = tbuf; set_write_to_gram_reg() 332 xfer.rx_buf = NULL; set_write_to_gram_reg() 333 xfer.cs_change = 1; set_write_to_gram_reg() 339 xfer.bits_per_word = 8; set_write_to_gram_reg() 340 xfer.len = 3; set_write_to_gram_reg() 341 spi_message_add_tail(&xfer, &msg); set_write_to_gram_reg()
|
H A D | ili9320.c | 185 spi->xfer[0].tx_buf = spi->buffer_addr; ili9320_setup_spi() 186 spi->xfer[1].tx_buf = spi->buffer_data; ili9320_setup_spi() 187 spi->xfer[0].len = 3; ili9320_setup_spi() 188 spi->xfer[1].len = 3; ili9320_setup_spi() 189 spi->xfer[0].bits_per_word = 8; ili9320_setup_spi() 190 spi->xfer[1].bits_per_word = 8; ili9320_setup_spi() 191 spi->xfer[0].cs_change = 1; ili9320_setup_spi() 194 spi_message_add_tail(&spi->xfer[0], &spi->message); ili9320_setup_spi() 195 spi_message_add_tail(&spi->xfer[1], &spi->message); ili9320_setup_spi()
|
H A D | hx8357.c | 220 struct spi_transfer xfer[2]; hx8357_spi_write_then_read() local 224 memset(xfer, 0, sizeof(xfer)); hx8357_spi_write_then_read() 241 xfer[0].len = 2 * txlen; hx8357_spi_write_then_read() 242 xfer[0].bits_per_word = 9; hx8357_spi_write_then_read() 243 xfer[0].tx_buf = local_txbuf; hx8357_spi_write_then_read() 244 spi_message_add_tail(&xfer[0], &msg); hx8357_spi_write_then_read() 248 xfer[1].len = rxlen; hx8357_spi_write_then_read() 249 xfer[1].bits_per_word = 8; hx8357_spi_write_then_read() 250 xfer[1].rx_buf = rxbuf; hx8357_spi_write_then_read() 251 spi_message_add_tail(&xfer[1], &msg); hx8357_spi_write_then_read()
|
H A D | ili9320.h | 32 struct spi_transfer xfer[2]; member in struct:ili9320_spi
|
H A D | tosa_lcd.c | 50 struct spi_transfer xfer = { tosa_tg_send() local 58 spi_message_add_tail(&xfer, &msg); tosa_tg_send()
|
H A D | tdo24m.c | 33 struct spi_transfer xfer; member in struct:tdo24m 180 struct spi_transfer *x = &lcd->xfer; tdo24m_writes() 368 x = &lcd->xfer; tdo24m_probe()
|
H A D | ams369fg06.c | 168 struct spi_transfer xfer = { ams369fg06_spi_write_byte() local 176 spi_message_add_tail(&xfer, &msg); ams369fg06_spi_write_byte()
|
H A D | lms501kf03.c | 121 struct spi_transfer xfer = { lms501kf03_spi_write_byte() local 129 spi_message_add_tail(&xfer, &msg); lms501kf03_spi_write_byte()
|
H A D | corgi_lcd.c | 178 struct spi_transfer xfer = { corgi_ssp_lcdtg_send() local 186 spi_message_add_tail(&xfer, &msg); corgi_ssp_lcdtg_send()
|
H A D | ld9040.c | 431 struct spi_transfer xfer = { ld9040_spi_write_byte() local 439 spi_message_add_tail(&xfer, &msg); ld9040_spi_write_byte()
|
H A D | s6e63m0.c | 362 struct spi_transfer xfer = { s6e63m0_spi_write_byte() local 370 spi_message_add_tail(&xfer, &msg); s6e63m0_spi_write_byte()
|
/linux-4.1.27/drivers/media/i2c/s5c73m3/ |
H A D | s5c73m3-spi.c | 45 struct spi_transfer xfer = { spi_xmit() local 50 xfer.tx_buf = addr; spi_xmit() 52 xfer.rx_buf = addr; spi_xmit() 60 spi_message_add_tail(&xfer, &msg); spi_xmit()
|
/linux-4.1.27/drivers/staging/iio/meter/ |
H A D | ade7854-spi.c | 25 struct spi_transfer xfer = { ade7854_spi_write_reg_8() local 37 ret = spi_sync_transfer(st->spi, &xfer, 1); ade7854_spi_write_reg_8() 50 struct spi_transfer xfer = { ade7854_spi_write_reg_16() local 63 ret = spi_sync_transfer(st->spi, &xfer, 1); ade7854_spi_write_reg_16() 76 struct spi_transfer xfer = { ade7854_spi_write_reg_24() local 90 ret = spi_sync_transfer(st->spi, &xfer, 1); ade7854_spi_write_reg_24() 103 struct spi_transfer xfer = { ade7854_spi_write_reg_32() local 118 ret = spi_sync_transfer(st->spi, &xfer, 1); ade7854_spi_write_reg_32()
|
/linux-4.1.27/drivers/net/ethernet/micrel/ |
H A D | ks8851.c | 169 struct spi_transfer *xfer = &ks->spi_xfer1; ks8851_wrreg16() local 177 xfer->tx_buf = txb; ks8851_wrreg16() 178 xfer->rx_buf = NULL; ks8851_wrreg16() 179 xfer->len = 4; ks8851_wrreg16() 196 struct spi_transfer *xfer = &ks->spi_xfer1; ks8851_wrreg8() local 207 xfer->tx_buf = txb; ks8851_wrreg8() 208 xfer->rx_buf = NULL; ks8851_wrreg8() 209 xfer->len = 3; ks8851_wrreg8() 248 struct spi_transfer *xfer; ks8851_rdreg() local 258 xfer = &ks->spi_xfer1; ks8851_rdreg() 260 xfer->tx_buf = txb; ks8851_rdreg() 261 xfer->rx_buf = trx; ks8851_rdreg() 262 xfer->len = rxl + 2; ks8851_rdreg() 265 xfer = ks->spi_xfer2; ks8851_rdreg() 267 xfer->tx_buf = txb; ks8851_rdreg() 268 xfer->rx_buf = NULL; ks8851_rdreg() 269 xfer->len = 2; ks8851_rdreg() 271 xfer++; ks8851_rdreg() 272 xfer->tx_buf = NULL; ks8851_rdreg() 273 xfer->rx_buf = trx; ks8851_rdreg() 274 xfer->len = rxl; ks8851_rdreg() 464 struct spi_transfer *xfer = ks->spi_xfer2; ks8851_rdfifo() local 475 xfer->tx_buf = txb; ks8851_rdfifo() 476 xfer->rx_buf = NULL; ks8851_rdfifo() 477 xfer->len = 1; ks8851_rdfifo() 479 xfer++; ks8851_rdfifo() 480 xfer->rx_buf = buff; ks8851_rdfifo() 481 xfer->tx_buf = NULL; ks8851_rdfifo() 482 xfer->len = len; ks8851_rdfifo() 710 struct spi_transfer *xfer = ks->spi_xfer2; ks8851_wrpkt() local 729 xfer->tx_buf = &ks->txh.txb[1]; ks8851_wrpkt() 730 xfer->rx_buf = NULL; ks8851_wrpkt() 731 xfer->len = 5; ks8851_wrpkt() 733 xfer++; ks8851_wrpkt() 734 xfer->tx_buf = txp->data; ks8851_wrpkt() 735 xfer->rx_buf = NULL; ks8851_wrpkt() 736 xfer->len = ALIGN(txp->len, 4); ks8851_wrpkt()
|
/linux-4.1.27/drivers/media/usb/hdpvr/ |
H A D | hdpvr-i2c.c | 148 v4l2_warn(&dev->v4l2_dev, "refusing 2-phase i2c xfer " hdpvr_transfer() 155 v4l2_warn(&dev->v4l2_dev, "refusing complex xfer with " hdpvr_transfer() 163 * Write followed by atomic read is the only complex xfer that hdpvr_transfer() 169 v4l2_warn(&dev->v4l2_dev, "refusing %d-phase i2c xfer\n", num); hdpvr_transfer()
|
/linux-4.1.27/drivers/staging/iio/frequency/ |
H A D | ad9834.h | 45 * @xfer: default spi transfer 59 struct spi_transfer xfer; member in struct:ad9834_state
|
H A D | ad9832.h | 66 * @xfer: default spi transfer 84 struct spi_transfer xfer; member in struct:ad9832_state
|
H A D | ad9832.c | 240 st->xfer.tx_buf = &st->data; ad9832_probe() 241 st->xfer.len = 2; ad9832_probe() 244 spi_message_add_tail(&st->xfer, &st->msg); ad9832_probe()
|
H A D | ad9834.c | 365 st->xfer.tx_buf = &st->data; ad9834_probe() 366 st->xfer.len = 2; ad9834_probe() 369 spi_message_add_tail(&st->xfer, &st->msg); ad9834_probe()
|
/linux-4.1.27/drivers/block/ |
H A D | loop.c | 782 struct loop_func_table *xfer = lo->lo_encryption; loop_release_xfer() local 784 if (xfer) { loop_release_xfer() 785 if (xfer->release) loop_release_xfer() 786 err = xfer->release(lo); loop_release_xfer() 789 module_put(xfer->owner); loop_release_xfer() 795 loop_init_xfer(struct loop_device *lo, struct loop_func_table *xfer, loop_init_xfer() argument 800 if (xfer) { loop_init_xfer() 801 struct module *owner = xfer->owner; loop_init_xfer() 805 if (xfer->init) loop_init_xfer() 806 err = xfer->init(lo, i); loop_init_xfer() 810 lo->lo_encryption = xfer; loop_init_xfer() 896 struct loop_func_table *xfer; loop_set_status() local 917 xfer = xfer_funcs[type]; loop_set_status() 918 if (xfer == NULL) loop_set_status() 921 xfer = NULL; loop_set_status() 923 err = loop_init_xfer(lo, xfer, info); loop_set_status() 939 if (!xfer) loop_set_status() 940 xfer = &none_funcs; loop_set_status() 941 lo->transfer = xfer->transfer; loop_set_status() 942 lo->ioctl = xfer->ioctl; loop_set_status() 1405 struct loop_func_table *xfer = data; unregister_transfer_cb() local 1408 if (lo->lo_encryption == xfer) unregister_transfer_cb() 1417 struct loop_func_table *xfer; loop_unregister_transfer() local 1419 if (n == 0 || n >= MAX_LO_CRYPT || (xfer = xfer_funcs[n]) == NULL) loop_unregister_transfer() 1423 idr_for_each(&loop_index_idr, &unregister_transfer_cb, xfer); loop_unregister_transfer()
|
/linux-4.1.27/drivers/staging/comedi/drivers/ |
H A D | pcmda12.c | 40 * enable "simultaneous xfer" mode for this board, in which AO writes 84 * Initiate transfer if not in simultaneaous xfer pcmda12_ao_insn_write() 103 * Initiate simultaneaous xfer mode by reading one of the pcmda12_ao_insn_read()
|
H A D | ni_labpc_common.c | 158 enum transfer_type xfer, labpc_setup_cmd6_reg() 182 if (xfer == fifo_half_full_transfer) labpc_setup_cmd6_reg() 633 enum transfer_type xfer; labpc_ai_cmd() local 662 xfer = isa_dma_transfer; labpc_ai_cmd() 669 xfer = fifo_half_full_transfer; labpc_ai_cmd() 671 xfer = fifo_not_empty_transfer; labpc_ai_cmd() 672 devpriv->current_transfer = xfer; labpc_ai_cmd() 676 labpc_setup_cmd6_reg(dev, s, mode, xfer, range, aref, labpc_ai_cmd() 717 if (xfer == isa_dma_transfer) labpc_ai_cmd() 723 if (xfer == fifo_not_empty_transfer) labpc_ai_cmd() 155 labpc_setup_cmd6_reg(struct comedi_device *dev, struct comedi_subdevice *s, enum scan_mode mode, enum transfer_type xfer, unsigned int range, unsigned int aref, bool ena_intr) labpc_setup_cmd6_reg() argument
|
H A D | cb_pcimdda.c | 108 * If the simultaneous xfer mode is selected by the cb_pcimdda_ao_insn_write()
|
/linux-4.1.27/drivers/gpu/drm/i2c/ |
H A D | adv7511.c | 494 struct i2c_msg xfer[2]; adv7511_get_edid_block() local 523 xfer[0].addr = adv7511->i2c_edid->addr; adv7511_get_edid_block() 524 xfer[0].flags = 0; adv7511_get_edid_block() 525 xfer[0].len = 1; adv7511_get_edid_block() 526 xfer[0].buf = &offset; adv7511_get_edid_block() 527 xfer[1].addr = adv7511->i2c_edid->addr; adv7511_get_edid_block() 528 xfer[1].flags = I2C_M_RD; adv7511_get_edid_block() 529 xfer[1].len = 64; adv7511_get_edid_block() 530 xfer[1].buf = adv7511->edid_buf; adv7511_get_edid_block() 535 ret = i2c_transfer(adv7511->i2c_edid->adapter, xfer, adv7511_get_edid_block() 536 ARRAY_SIZE(xfer)); adv7511_get_edid_block() 542 xfer[1].buf += 64; adv7511_get_edid_block()
|
/linux-4.1.27/include/net/caif/ |
H A D | caif_spi.h | 73 int (*init_xfer) (struct cfspi_xfer *xfer, struct cfspi_dev *dev); 74 void (*sig_xfer) (bool xfer, struct cfspi_dev *dev); 111 struct cfspi_xfer xfer; member in struct:cfspi
|
/linux-4.1.27/arch/sh/drivers/dma/ |
H A D | dmabrg.c | 25 * 0 | USB-DMA | ... | xfer done | DMABRGI1 45 * Bits 9-8: USB error/xfer ENABLE, 46 * Bits 1-0: USB error/xfer STATUS.
|
H A D | dma-pvr2.c | 78 .xfer = pvr2_xfer_dma,
|
H A D | dma-g2.c | 139 pr_debug("count, sar, dar, mode, ctrl, chan, xfer: %ld, 0x%08lx, " g2_xfer_dma() 158 .xfer = g2_xfer_dma,
|
H A D | dma-api.c | 296 return info->ops->xfer(channel); dma_xfer()
|
H A D | dma-sh.c | 370 .xfer = sh_dmac_xfer_dma,
|
/linux-4.1.27/drivers/iio/gyro/ |
H A D | adis16130.c | 50 struct spi_transfer xfer = { adis16130_spi_read() local 61 ret = spi_sync_transfer(st->us, &xfer, 1); adis16130_spi_read()
|
/linux-4.1.27/drivers/scsi/ |
H A D | sun3_scsi.h | 45 unsigned short count; /* words to be xfer'd */ 61 #define UDC_COUNT 0x32 /* words to xfer */
|
H A D | qlogicfas408.c | 301 /* note that request_bufflen is the total xfer size when sg is used */ ql_pcmd() 307 outb(reqlen, qbase); /* low-mid xfer cnt */ ql_pcmd() 308 outb(reqlen >> 8, qbase + 1); /* low-mid xfer cnt */ ql_pcmd() 309 outb(reqlen >> 16, qbase + 0xe); /* high xfer cnt */ ql_pcmd() 310 outb(0x90, qbase + 3); /* command do xfer */ ql_pcmd()
|
H A D | initio.c | 540 if (inb(host->addr + TUL_XStatus) & XPEND) { /* if DMA xfer is pending, abort DMA xfer */ initio_stop_bm() 542 /* wait Abort DMA xfer done */ initio_stop_bm() 1366 /* Into before CDB xfer */ initio_state_1() 1397 /* Into before CDB xfer */ initio_state_2() 1405 * state before CDB xfer is done 1536 * State after dma xfer done or phase change before xfer done 1555 if (inb(host->addr + TUL_XStatus) & XPEND) { /* DMA xfer pending, Send STOP */ initio_state_5() 1556 /* tell Hardware scsi xfer has been terminated */ initio_state_5() 1558 /* wait until DMA xfer not pending */ initio_state_5() 1570 if (inb(host->addr + TUL_XStatus) & XPEND) { /* if DMA xfer is pending, abort DMA xfer */ initio_state_5() 1572 /* wait Abort DMA xfer done */ initio_state_5() 1600 if (xcnt < 0) { /* this sgp xfer half done */ initio_state_5() 1602 sgp->data += (u32) xcnt; /* new ptr to be xfer */ initio_state_5() 1603 sgp->len -= (u32) xcnt; /* new len to be xfer */ initio_state_5() 1713 if (scb->flags & SCF_SG) { /* S/G xfer */ initio_xfer_data_in() 1723 return 0; /* return to OS, wait xfer done , let jas_isr come in */ initio_xfer_data_in() 1745 if (scb->flags & SCF_SG) { /* S/G xfer */ initio_xfer_data_out() 1756 return 0; /* return to OS, wait xfer done , let jas_isr come in */ initio_xfer_data_out() 1897 /* if DMA xfer is pending, abort DMA xfer */ int_initio_scsi_rst() 1900 /* wait Abort DMA xfer done */ int_initio_scsi_rst() 2325 /* Initialize the sync. xfer register values to an asyn xfer */ initio_post_scsi_rst()
|
H A D | initio.h | 204 #define TSC_EN_WDACK 0x04 /* Enable DACK while wide SCSI xfer */ 291 /* Command Codes of Tulip xfer Command register */ 363 u32 xferlen; /*18 Current xfer len */ 364 u32 totxlen; /*1C Total xfer len */
|
H A D | dtc.c | 97 #define DTC_RESUME_XFER 0x3982 /* wo - resume data xfer
|
H A D | mac53c94.c | 312 printk(KERN_DEBUG "intr %x before data xfer complete\n", intr); mac53c94_interrupt()
|
/linux-4.1.27/drivers/media/usb/as102/ |
H A D | as102_drv.h | 48 /* token cmd xfer id */
|
/linux-4.1.27/drivers/scsi/pcmcia/ |
H A D | nsp_message.c | 69 nsp_msg(KERN_DEBUG, "msgout: xfer short"); nsp_message_out()
|
/linux-4.1.27/drivers/staging/iio/accel/ |
H A D | sca3000_ring.c | 42 struct spi_transfer xfer[2] = { sca3000_read_data() local 55 xfer[1].rx_buf = *rx_p; sca3000_read_data() 57 ret = spi_sync_transfer(st->us, xfer, ARRAY_SIZE(xfer)); sca3000_read_data()
|
H A D | sca3000_core.c | 94 struct spi_transfer xfer[2] = { sca3000_read_data_short() local 105 return spi_sync_transfer(st->us, xfer, ARRAY_SIZE(xfer)); sca3000_read_data_short() 133 struct spi_transfer xfer[3] = { __sca3000_unlock_reg_lock() local 154 return spi_sync_transfer(st->us, xfer, ARRAY_SIZE(xfer)); __sca3000_unlock_reg_lock()
|
H A D | lis3l02dq_core.c | 57 struct spi_transfer xfer = { lis3l02dq_spi_read_reg_8() local 68 ret = spi_sync_transfer(st->us, &xfer, 1); lis3l02dq_spi_read_reg_8()
|
/linux-4.1.27/drivers/video/fbdev/omap2/displays-new/ |
H A D | panel-tpo-td043mtea1.c | 102 struct spi_transfer xfer; tpo_td043_write() local 108 memset(&xfer, 0, sizeof(xfer)); tpo_td043_write() 111 xfer.tx_buf = &w; tpo_td043_write() 112 xfer.bits_per_word = 16; tpo_td043_write() 113 xfer.len = 2; tpo_td043_write() 114 spi_message_add_tail(&xfer, &m); tpo_td043_write()
|
H A D | panel-sony-acx565akm.c | 120 struct spi_transfer *x, xfer[5]; acx565akm_transfer() local 127 memset(xfer, 0, sizeof(xfer)); acx565akm_transfer() 128 x = &xfer[0]; acx565akm_transfer()
|
/linux-4.1.27/drivers/net/ieee802154/ |
H A D | cc2520.c | 212 struct spi_transfer xfer = { cc2520_cmd_strobe() local 219 spi_message_add_tail(&xfer, &msg); cc2520_cmd_strobe() 222 priv->buf[xfer.len++] = cmd; cc2520_cmd_strobe() 242 struct spi_transfer xfer = { cc2520_get_status() local 249 spi_message_add_tail(&xfer, &msg); cc2520_get_status() 252 priv->buf[xfer.len++] = CC2520_CMD_SNOP; cc2520_get_status() 271 struct spi_transfer xfer = { cc2520_write_register() local 278 spi_message_add_tail(&xfer, &msg); cc2520_write_register() 283 priv->buf[xfer.len++] = CC2520_CMD_REGISTER_WRITE | reg; cc2520_write_register() 284 priv->buf[xfer.len++] = value; cc2520_write_register() 286 priv->buf[xfer.len++] = CC2520_CMD_MEMORY_WRITE; cc2520_write_register() 287 priv->buf[xfer.len++] = reg; cc2520_write_register() 288 priv->buf[xfer.len++] = value; cc2520_write_register()
|
H A D | mrf24j40.c | 104 struct spi_transfer xfer = { write_short_reg() local 111 spi_message_add_tail(&xfer, &msg); write_short_reg() 130 struct spi_transfer xfer = { read_short_reg() local 137 spi_message_add_tail(&xfer, &msg); read_short_reg() 159 struct spi_transfer xfer = { read_long_reg() local 166 spi_message_add_tail(&xfer, &msg); read_long_reg() 190 struct spi_transfer xfer = { write_long_reg() local 197 spi_message_add_tail(&xfer, &msg); write_long_reg()
|
/linux-4.1.27/drivers/usb/gadget/udc/ |
H A D | omap_udc.h | 110 # define UDC_TXN_TSC 0x03ff /* units in xfer */ 113 # define UDC_RXN_TC 0x00ff /* packets in xfer */
|
/linux-4.1.27/drivers/net/wireless/ath/ath10k/ |
H A D | pci.c | 92 struct bmi_xfer *xfer); 1363 struct bmi_xfer xfer = {}; ath10k_pci_hif_exchange_bmi_msg() local 1401 xfer.wait_for_resp = true; ath10k_pci_hif_exchange_bmi_msg() 1402 xfer.resp_len = 0; ath10k_pci_hif_exchange_bmi_msg() 1404 ath10k_ce_rx_post_buf(ce_rx, &xfer, resp_paddr); ath10k_pci_hif_exchange_bmi_msg() 1407 ret = ath10k_ce_send(ce_tx, &xfer, req_paddr, req_len, -1, 0); ath10k_pci_hif_exchange_bmi_msg() 1411 ret = ath10k_pci_bmi_wait(ce_tx, ce_rx, &xfer); ath10k_pci_hif_exchange_bmi_msg() 1436 *resp_len = min(*resp_len, xfer.resp_len); ath10k_pci_hif_exchange_bmi_msg() 1437 memcpy(resp, tresp, xfer.resp_len); ath10k_pci_hif_exchange_bmi_msg() 1448 struct bmi_xfer *xfer; ath10k_pci_bmi_send_done() local 1453 if (ath10k_ce_completed_send_next(ce_state, (void **)&xfer, &ce_data, ath10k_pci_bmi_send_done() 1457 xfer->tx_done = true; ath10k_pci_bmi_send_done() 1463 struct bmi_xfer *xfer; ath10k_pci_bmi_recv_data() local 1469 if (ath10k_ce_completed_recv_next(ce_state, (void **)&xfer, &ce_data, ath10k_pci_bmi_recv_data() 1473 if (WARN_ON_ONCE(!xfer)) ath10k_pci_bmi_recv_data() 1476 if (!xfer->wait_for_resp) { ath10k_pci_bmi_recv_data() 1481 xfer->resp_len = nbytes; ath10k_pci_bmi_recv_data() 1482 xfer->rx_done = true; ath10k_pci_bmi_recv_data() 1487 struct bmi_xfer *xfer) ath10k_pci_bmi_wait() 1495 if (xfer->tx_done && (xfer->rx_done == xfer->wait_for_resp)) ath10k_pci_bmi_wait() 1485 ath10k_pci_bmi_wait(struct ath10k_ce_pipe *tx_pipe, struct ath10k_ce_pipe *rx_pipe, struct bmi_xfer *xfer) ath10k_pci_bmi_wait() argument
|
/linux-4.1.27/arch/mips/include/asm/mach-au1x00/ |
H A D | au1xxx_dbdma.h | 265 #define DSCR_SRC1_STS_MASK (3 << 30) /* Src xfer size */ 266 #define DSCR_SRC1_SAM_MASK (3 << 28) /* Src xfer movement */ 273 #define DSCR_DEST1_DTS_MASK (3 << 30) /* Dest xfer size */ 274 #define DSCR_DEST1_DAM_MASK (3 << 28) /* Dest xfer movement */
|
/linux-4.1.27/drivers/hwmon/ |
H A D | max1111.c | 43 struct spi_transfer xfer[2]; member in struct:max1111_data 47 /* protect msg, xfer and buffers from multiple access */ 166 x = &data->xfer[0]; setup_transfer()
|
/linux-4.1.27/drivers/mmc/host/ |
H A D | mvsdio.c | 147 u32 cmdreg = 0, xfer = 0, intr = 0; mvsd_request() local 183 xfer |= MVSD_XFER_MODE_HW_WR_DATA_EN; mvsd_request() 185 xfer |= MVSD_XFER_MODE_TO_HOST; mvsd_request() 189 xfer |= MVSD_XFER_MODE_PIO; mvsd_request() 213 xfer |= MVSD_XFER_MODE_AUTO_CMD12; mvsd_request() 228 host->xfer_mode |= xfer; mvsd_request()
|
H A D | atmel-mci.c | 831 dev_dbg(&host->pdev->dev, "(%s) set pending xfer complete\n", __func__); atmci_pdc_complete() 869 "(%s) set pending xfer complete\n", __func__); atmci_dma_complete() 1102 "(%s) set pending xfer complete\n", __func__); atmci_stop_transfer() 1125 "(%s) set pending xfer complete\n", __func__); atmci_stop_transfer_dma() 1732 dev_dbg(&host->pdev->dev, "FSM: xfer complete?\n"); atmci_tasklet_func() 1738 "(%s) set completed xfer complete\n", atmci_tasklet_func()
|
/linux-4.1.27/drivers/media/usb/dvb-usb/ |
H A D | dib0700_core.c | 149 deb_info("set the USB xfer len to %i Ts packet\n", nb_ts_packets); dib0700_set_usb_xfer_len() 154 deb_info("this firmware does not allow to change the USB xfer len\n"); dib0700_set_usb_xfer_len() 162 * I2C master xfer function (supported in 1.20 firmware) 265 * I2C master xfer function (pre-1.20 firmware) 555 * the USB xfer length can be set */ dib0700_streaming_ctrl() 559 deb_info("can not set the USB xfer len\n"); dib0700_streaming_ctrl()
|
H A D | cinergyT2-core.c | 37 MODULE_PARM_DESC(debug, "set debugging level (1=info, xfer=2, rc=4 "
|
H A D | dtt200u.c | 19 MODULE_PARM_DESC(debug, "set debugging level (1=info,xfer=2 (or-able))." DVB_USB_DEBUG_STATUS);
|
H A D | dvb-usb-init.c | 19 MODULE_PARM_DESC(debug, "set debugging level (1=info,xfer=2,pll=4,ts=8,err=16,rc=32,fw=64,mem=128,uxfer=256 (or-able))." DVB_USB_DEBUG_STATUS);
|
H A D | gp8psk.c | 23 MODULE_PARM_DESC(debug, "set debugging level (1=info,xfer=2,rc=4 (or-able))." DVB_USB_DEBUG_STATUS);
|
H A D | vp702x.c | 23 MODULE_PARM_DESC(debug, "set debugging level (1=info,xfer=2,rc=4 (or-able))." DVB_USB_DEBUG_STATUS);
|
H A D | vp7045.c | 20 MODULE_PARM_DESC(debug, "set debugging level (1=info,xfer=2,rc=4 (or-able))." DVB_USB_DEBUG_STATUS);
|
H A D | dibusb-common.c | 135 * I2C master xfer function
|
H A D | friio.c | 19 "set debugging level (1=info,2=xfer,4=rc,8=fe (or-able))."
|
H A D | opera1.c | 46 "set debugging level (1=info,xfer=2,pll=4,ts=8,err=16,rc=32,fw=64 (or-able))."
|
/linux-4.1.27/drivers/block/rsxx/ |
H A D | cregs.c | 460 unsigned int xfer; issue_creg_rw() local 467 xfer = min_t(unsigned int, size8, MAX_CREG_DATA8); issue_creg_rw() 469 st = __issue_creg_rw(card, op, addr, xfer, issue_creg_rw() 474 data = (char *)data + xfer; issue_creg_rw() 475 addr += xfer; issue_creg_rw() 476 size8 -= xfer; issue_creg_rw()
|
/linux-4.1.27/drivers/media/pci/saa7134/ |
H A D | saa7134-i2c.c | 248 d2printk("start xfer\n"); saa7134_i2c_xfer() 249 d1printk(KERN_DEBUG "%s: i2c xfer:",dev->name); saa7134_i2c_xfer() 307 d2printk("xfer done\n"); saa7134_i2c_xfer()
|
/linux-4.1.27/drivers/ata/ |
H A D | pata_hpt366.c | 45 * 16:18 udma_cycle_time. Clock cycles for UDMA xfer? 46 * 19:21 pre_high_time. Time to initialize 1st cycle for PIO and MW DMA xfer. 52 * PIO xfer.
|
H A D | pata_hpt3x2n.c | 57 * 18:20 udma_cycle_time. Clock cycles for UDMA xfer. 59 * 22:24 pre_high_time. Time to initialize 1st cycle for PIO and MW DMA xfer. 65 * PIO xfer.
|
H A D | libata-transport.c | 199 ata_bitfield_name_match(xfer,ata_xfer_names) 468 ata_dev_attr(xfer, pio_mode); 469 ata_dev_attr(xfer, dma_mode); 470 ata_dev_attr(xfer, xfer_mode);
|
H A D | pata_hpt37x.c | 51 * 18:20 udma_cycle_time. Clock cycles for UDMA xfer. 53 * 22:24 pre_high_time. Time to initialize 1st cycle for PIO and MW DMA xfer. 59 * PIO xfer.
|
/linux-4.1.27/drivers/ide/ |
H A D | Makefile | 12 ide-core-$(CONFIG_IDE_XFER_MODE) += ide-pio-blacklist.o ide-xfer-mode.o
|
H A D | hpt366.c | 24 * xfer to prevent that from happening. 228 * 16:18 18:20 udma_cycle_time. Clock cycles for UDMA xfer. 231 * MW DMA xfer. 237 * PIO xfer.
|
/linux-4.1.27/drivers/gpu/drm/radeon/ |
H A D | rv770_dma.c | 35 * @num_gpu_pages: number of GPU pages to xfer
|
H A D | evergreen_dma.c | 100 * @num_gpu_pages: number of GPU pages to xfer
|
H A D | si_dma.c | 224 * @num_gpu_pages: number of GPU pages to xfer
|
/linux-4.1.27/drivers/hid/ |
H A D | hid-cp2112.c | 1110 struct cp2112_xfer_status_report *xfer = (void *)data; cp2112_raw_event() local 1114 hid_dbg(hdev, "xfer status: %02x %02x %04x %04x\n", cp2112_raw_event() 1115 xfer->status0, xfer->status1, cp2112_raw_event() 1116 be16_to_cpu(xfer->retries), be16_to_cpu(xfer->length)); cp2112_raw_event() 1118 switch (xfer->status0) { cp2112_raw_event() 1126 dev->xfer_status = be16_to_cpu(xfer->length); cp2112_raw_event() 1129 switch (xfer->status1) { cp2112_raw_event()
|
/linux-4.1.27/drivers/video/fbdev/omap/ |
H A D | lcd_mipid.c | 72 struct spi_transfer *x, xfer[4]; mipid_transfer() local 80 memset(xfer, 0, sizeof(xfer)); mipid_transfer() 81 x = &xfer[0]; mipid_transfer()
|
/linux-4.1.27/arch/sh/include/asm/ |
H A D | dma.h | 61 int (*xfer)(struct dma_channel *chan); member in struct:dma_ops
|
/linux-4.1.27/drivers/dma/dw/ |
H A D | regs.h | 178 #define DWC_CFGL_CH_SUSP (1 << 8) /* pause xfer */ 179 #define DWC_CFGL_FIFO_EMPTY (1 << 9) /* pause xfer */
|
/linux-4.1.27/include/linux/usb/ |
H A D | wusb-wa.h | 105 u8 bSpeed; /* rw: xfer rate 'enum uwb_phy_rate' */ 180 __le32 dwTransferLength; /* Length of data to xfer */
|
H A D | renesas_usbhs.h | 169 #define USBHS_USB_DMAC_XFER_SIZE 32 /* hardcode the xfer size */
|
/linux-4.1.27/drivers/i2c/busses/ |
H A D | i2c-qup.c | 126 struct completion xfer; member in struct:qup_i2c_dev 170 complete(&qup->xfer); qup_i2c_interrupt() 334 left = wait_for_completion_timeout(&qup->xfer, HZ); qup_i2c_write_one() 439 left = wait_for_completion_timeout(&qup->xfer, HZ); qup_i2c_read_one() 570 init_completion(&qup->xfer); qup_i2c_probe()
|
H A D | i2c-pnx.c | 247 "%s(): Waking up xfer routine.\n", i2c_pnx_master_xmit() 264 "%s(): Waking up xfer routine after zero-xfer.\n", i2c_pnx_master_xmit() 466 "%s: Bus is still active after xfer. Reset it...\n", bus_reset_if_active()
|
H A D | i2c-exynos5.c | 556 * exynos5_i2c_message_start: Configures the bus and starts the xfer 563 * Enables appropriate interrupts and sends start xfer command. 694 dev_warn(i2c->dev, "xfer message failed\n"); exynos5_i2c_xfer()
|
H A D | i2c-ibm_iic.c | 350 DBG("%d: xfer error, EXTSTS = 0x%02x\n", dev->idx, iic_xfer_result() 361 * If error happened during combined xfer iic_xfer_result() 500 /* If it's not a last part of xfer, abort it */ iic_xfer_bytes()
|
H A D | i2c-st.c | 484 /* End of xfer, send stop or repstart */ st_i2c_handle_write() 508 /* End of xfer, send stop or repstart */ st_i2c_handle_read() 511 /* Penultimate byte to xfer, disable ACK gen. */ st_i2c_handle_read()
|
H A D | i2c-axxia.c | 89 * @msg_complete: xfer completion object 392 dev_warn(idev->dev, "busy after xfer\n"); axxia_i2c_xfer_msg()
|
H A D | i2c-pmcmsp.c | 114 struct completion wait; /* Completion for xfer */ 116 enum pmcmsptwi_xfer_result last_result; /* result of last xfer */
|
H A D | i2c-sun6i-p2wi.c | 162 dev_err(&adap->dev, "P2WI bus xfer error\n"); p2wi_smbus_xfer()
|
H A D | i2c-tiny-usb.c | 61 dev_dbg(&adapter->dev, "master xfer %d messages:\n", num); usb_xfer()
|
H A D | i2c-bcm-iproc.c | 264 dev_dbg(iproc_i2c->device, "xfer failed\n"); bcm_iproc_i2c_xfer()
|
H A D | i2c-highlander.c | 328 dev_err(dev->dev, "unsupported xfer size %d\n", dev->buf_len); highlander_i2c_smbus_xfer()
|
H A D | i2c-meson.c | 74 * @lock: To avoid race conditions between irq handler and xfer code
|
H A D | i2c-riic.c | 16 * 1) The main xfer routine kicks off a transmission by putting the start bit
|
H A D | i2c-sirf.c | 207 /* timeout waiting for the xfer to finish or fail */ i2c_sirfsoc_xfer_msg()
|
H A D | i2c-viperboard.c | 281 dev_dbg(&i2c->dev, "master xfer %d messages:\n", num); vprbrd_i2c_xfer()
|
H A D | i2c-s3c2410.c | 89 /* Max time to wait for bus to become idle after a xfer (in us) */ 743 dev_dbg(i2c->dev, "incomplete xfer (%d)\n", ret); s3c24xx_i2c_doxfer() 758 dev_dbg(i2c->dev, "incomplete xfer (%d)\n", ret); s3c24xx_i2c_doxfer()
|
H A D | i2c-hix5hd2.c | 389 dev_warn(priv->dev, "xfer message failed\n"); hix5hd2_i2c_xfer()
|
H A D | i2c-sh7760.c | 58 #define MSR_MAT 0x01 /* slave addr xfer done */
|
/linux-4.1.27/drivers/media/pci/ivtv/ |
H A D | ivtv-irq.c | 557 IVTV_DEBUG_WARN("DEC DMA ERROR %x (xfer %d of %d, retry %d)\n", ivtv_irq_dma_read() 567 /* Retry, starting with the first xfer segment. ivtv_irq_dma_read() 584 of the xfer so it can calculate what we need next. ivtv_irq_dma_read() 586 fully calculate xfer info ourselves and not use interrupts ivtv_irq_dma_read() 621 IVTV_DEBUG_WARN("ENC DMA ERROR %x (offset %08x, xfer %d of %d, retry %d)\n", data[0], ivtv_irq_enc_dma_complete() 630 /* Retry, starting with the first xfer segment. ivtv_irq_enc_dma_complete() 732 * xfer segment. Just retrying the current ivtv_irq_dma_err()
|
/linux-4.1.27/arch/powerpc/platforms/powermac/ |
H A D | low_i2c.c | 97 int (*xfer)(struct pmac_i2c_bus *bus, u8 addrdir, int subsize, member in struct:pmac_i2c_bus 588 bus->xfer = kw_i2c_xfer; kw_i2c_add() 816 bus->xfer = pmu_i2c_xfer; pmu_i2c_probe() 939 bus->xfer = smu_i2c_xfer; smu_i2c_probe() 1144 DBG("xfer() chan=%d, addrdir=0x%x, mode=%d, subsize=%d, subaddr=0x%x," pmac_i2c_xfer() 1148 rc = bus->xfer(bus, addrdir, subsize, subaddr, data, len); pmac_i2c_xfer() 1152 DBG("xfer error %d\n", rc); pmac_i2c_xfer()
|
/linux-4.1.27/net/rds/ |
H A D | ib_recv.c | 91 tmp = xchg(&cache->xfer, NULL); rds_ib_cache_xfer_to_ready() 114 cache->xfer = NULL; 441 * Return our per-cpu first list to the cache's xfer by atomically rds_ib_recv_cache_put() 442 * grabbing the current xfer list, appending it to our per-cpu list, rds_ib_recv_cache_put() 444 * cache's xfer list as long as it's still empty. rds_ib_recv_cache_put() 447 old = xchg(&cache->xfer, NULL); rds_ib_recv_cache_put() 450 old = cmpxchg(&cache->xfer, NULL, chpfirst); rds_ib_recv_cache_put()
|
H A D | ib.h | 54 struct list_head *xfer; member in struct:rds_ib_refill_cache
|
/linux-4.1.27/arch/powerpc/include/asm/ |
H A D | cpm2.h | 678 #define IDMA_DCM_DMA_WRAP_64 ((ushort)0x0000) /* 64-byte DMA xfer buffer */ 679 #define IDMA_DCM_DMA_WRAP_128 ((ushort)0x0040) /* 128-byte DMA xfer buffer */ 680 #define IDMA_DCM_DMA_WRAP_256 ((ushort)0x0080) /* 256-byte DMA xfer buffer */ 681 #define IDMA_DCM_DMA_WRAP_512 ((ushort)0x00c0) /* 512-byte DMA xfer buffer */ 682 #define IDMA_DCM_DMA_WRAP_1024 ((ushort)0x0100) /* 1024-byte DMA xfer buffer */ 683 #define IDMA_DCM_DMA_WRAP_2048 ((ushort)0x0140) /* 2048-byte DMA xfer buffer */ 689 #define IDMA_DCM_SD_MEM2MEM ((ushort)0x0000) /* memory-to-memory xfer */ 690 #define IDMA_DCM_SD_PER2MEM ((ushort)0x0002) /* peripheral-to-memory xfer */ 691 #define IDMA_DCM_SD_MEM2PER ((ushort)0x0001) /* memory-to-peripheral xfer */
|
/linux-4.1.27/drivers/scsi/mvsas/ |
H A D | mv_defs.h | 182 RXQ_RSP = (1U << 18), /* response frame xfer'd */ 183 RXQ_ERR = (1U << 17), /* err info rec xfer'd */ 207 MCH_CHK_LEN = (1U << 10), /* chk xfer len (SSP) */
|
H A D | mv_sas.h | 202 __le32 tags; /* targ port xfer tag; tag */ 203 __le32 data_len; /* data xfer len */
|
/linux-4.1.27/drivers/staging/lustre/include/linux/lnet/ |
H A D | ptllnd_wire.h | 116 #define PTLLND_MSG_TYPE_IMMEDIATE 0x03 /* No bulk data xfer*/
|
/linux-4.1.27/fs/xfs/libxfs/ |
H A D | xfs_fs.h | 27 * d_miniosz is the min xfer size, xfer size multiple and file seek offset 33 __u32 d_miniosz; /* min xfer size */ 34 __u32 d_maxiosz; /* max xfer size */
|
/linux-4.1.27/sound/soc/davinci/ |
H A D | davinci-vcif.c | 113 /* Determine xfer data type */ davinci_vcif_hw_params()
|
/linux-4.1.27/drivers/media/pci/b2c2/ |
H A D | flexcop-pci.c | 241 deb_irq("DMA xfer enabled\n"); flexcop_pci_stream_control() 253 deb_irq("DMA xfer disabled\n"); flexcop_pci_stream_control()
|
/linux-4.1.27/drivers/gpu/drm/nouveau/nvkm/engine/gr/ |
H A D | gf100.c | 1224 u32 addr = ~0, prev = ~0, xfer = 0; gf100_gr_init_csdata() local 1238 if (head != prev + 4 || xfer >= 32) { pack_for_each_init() 1239 if (xfer) { pack_for_each_init() 1240 u32 data = ((--xfer << 26) | addr); pack_for_each_init() 1245 xfer = 0; pack_for_each_init() 1248 xfer = xfer + 1; pack_for_each_init() 1253 nv_wr32(priv, falcon + 0x01c4, (--xfer << 26) | addr);
|
/linux-4.1.27/sound/core/ |
H A D | pcm_lib.c | 2019 snd_pcm_uframes_t xfer = 0; snd_pcm_lib_write1() local 2097 xfer += frames; snd_pcm_lib_write1() 2108 if (xfer > 0 && err >= 0) snd_pcm_lib_write1() 2111 return xfer > 0 ? (snd_pcm_sframes_t)xfer : err; snd_pcm_lib_write1() 2237 snd_pcm_uframes_t xfer = 0; snd_pcm_lib_read1() local 2329 xfer += frames; snd_pcm_lib_read1() 2334 if (xfer > 0 && err >= 0) snd_pcm_lib_read1() 2337 return xfer > 0 ? (snd_pcm_sframes_t)xfer : err; snd_pcm_lib_read1()
|
/linux-4.1.27/drivers/media/pci/cx18/ |
H A D | cx23418.h | 444 /* Error in I2C data xfer (but I2C device is present) */ 468 /* Error in I2C data xfer (but I2C device is present) */ 471 /* Error in I2C data xfer (but I2C device is present) */
|
/linux-4.1.27/drivers/media/pci/ttpci/ |
H A D | av7110.c | 388 unsigned int xfer = 0; debiirq() local 407 xfer = RX_BUFF; debiirq() 415 xfer = RX_BUFF; debiirq() 426 xfer = RX_BUFF; debiirq() 444 xfer = RX_BUFF; debiirq() 465 xfer = RX_BUFF; debiirq() 471 xfer = RX_BUFF; debiirq() 480 xfer = TX_BUFF; debiirq() 487 if (xfer) debiirq() 488 iwdebi(av7110, DEBINOSWAP, xfer, 0, 2); debiirq() 501 /* we shouldn't get any irq while a debi xfer is running */ gpioirq() 2839 * only after we started a DMA xfer, and disable it here av7110_irq()
|
/linux-4.1.27/drivers/media/usb/dvb-usb-v2/ |
H A D | az6007.c | 34 MODULE_PARM_DESC(xfer_debug, "Enable xfer debug"); 767 * A write + read xfer for the same address, where az6007_i2c_xfer() 768 * the first xfer has just 1 byte length. az6007_i2c_xfer()
|
H A D | mxl111sf.c | 32 "(1=info, 2=xfer, 4=i2c, 8=reg, 16=adv (or-able))."); 36 MODULE_PARM_DESC(isoc, "enable usb isoc xfer (0=bulk, 1=isoc)."); 40 MODULE_PARM_DESC(spi, "use spi rather than tp for data xfer (0=tp, 1=spi).");
|
/linux-4.1.27/drivers/scsi/libsas/ |
H A D | sas_ata.c | 183 unsigned int si, xfer = 0; sas_ata_qc_issue() local 221 xfer += sg->length; sas_ata_qc_issue() 223 task->total_xfer_len = xfer; sas_ata_qc_issue()
|
/linux-4.1.27/sound/core/oss/ |
H A D | pcm_oss.c | 1364 size_t xfer = 0; snd_pcm_oss_write1() local 1388 xfer += tmp; snd_pcm_oss_write1() 1415 xfer += tmp; snd_pcm_oss_write1() 1422 return xfer; snd_pcm_oss_write1() 1426 return xfer > 0 ? (snd_pcm_sframes_t)xfer : tmp; snd_pcm_oss_write1() 1464 size_t xfer = 0; snd_pcm_oss_read1() local 1493 xfer += tmp; snd_pcm_oss_read1() 1503 xfer += tmp; snd_pcm_oss_read1() 1507 return xfer; snd_pcm_oss_read1() 1511 return xfer > 0 ? (snd_pcm_sframes_t)xfer : tmp; snd_pcm_oss_read1()
|
/linux-4.1.27/include/linux/spi/ |
H A D | spi.h | 403 * not modify or store xfer and dma_tx and dma_rx must be set 408 struct spi_transfer *xfer); 715 * @num_xfers: Number of items in the xfer array 827 * @num_xfers: Number of items in the xfer array 1051 spi_transfer_is_last(struct spi_master *master, struct spi_transfer *xfer) spi_transfer_is_last() argument 1053 return list_is_last(&xfer->transfer_list, &master->cur_msg->transfers); spi_transfer_is_last()
|
/linux-4.1.27/drivers/scsi/arm/ |
H A D | fas216.h | 274 unsigned char sync_max_depth; /* Synchronous xfer max fifo depth */ 293 unsigned char period; /* sync xfer period in (*4ns) */
|
H A D | acornscsi.h | 325 syncxfer_t sync_state; /* sync xfer negotiation state */
|
/linux-4.1.27/drivers/gpu/drm/panel/ |
H A D | panel-ld9040.c | 129 struct spi_transfer xfer = { ld9040_spi_write_word() local 136 spi_message_add_tail(&xfer, &msg); ld9040_spi_write_word()
|
/linux-4.1.27/drivers/media/common/saa7146/ |
H A D | saa7146_i2c.c | 207 pr_warn("%s %s [irq]: timed out waiting for end of xfer\n", saa7146_i2c_writeout() 242 pr_warn("%s %s [poll]: timed out waiting for end of xfer\n", saa7146_i2c_writeout()
|
/linux-4.1.27/include/scsi/ |
H A D | sg.h | 99 #define SG_INFO_INDIRECT_IO 0x0 /* data xfer via kernel buffers (or no xfer) */
|
/linux-4.1.27/arch/powerpc/kernel/ |
H A D | head_booke.h | 202 #define EXCEPTION(n, intno, label, hdlr, xfer) \ 206 xfer(n, hdlr)
|
/linux-4.1.27/arch/hexagon/lib/ |
H A D | memcpy.S | 165 #define noprolog p0 /* no prolog, xfer starts at 32byte */ 167 #define noepilog p0 /* no epilog, xfer ends on 32byte boundary */
|
/linux-4.1.27/drivers/media/usb/go7007/ |
H A D | go7007-i2c.c | 148 /* VERY LIMITED I2C master xfer function -- only needed because the
|
/linux-4.1.27/drivers/scsi/lpfc/ |
H A D | lpfc_scsi.h | 71 uint32_t rspResId; /* Residual xfer if residual count field set in
|
/linux-4.1.27/drivers/net/wireless/ti/wl1251/ |
H A D | tx.h | 190 /* Time between host xfer and tx complete */
|
/linux-4.1.27/drivers/net/wireless/ti/wlcore/ |
H A D | tx.h | 169 /* The time passed from host xfer to Tx-complete.*/
|
/linux-4.1.27/drivers/net/ethernet/apple/ |
H A D | mace.h | 110 #define RDTREQ 0x20 /* set when recv fifo requests data xfer */
|
/linux-4.1.27/drivers/usb/musb/ |
H A D | musb_host.h | 51 unsigned segsize; /* current xfer fragment */
|
/linux-4.1.27/drivers/media/common/b2c2/ |
H A D | flexcop-i2c.c | 174 /* master xfer callback for demodulator */ flexcop_master_xfer()
|
/linux-4.1.27/include/uapi/linux/ |
H A D | i2c.h | 101 #define I2C_FUNC_SMBUS_READ_I2C_BLOCK 0x04000000 /* I2C-like block xfer */
|
/linux-4.1.27/include/linux/iio/imu/ |
H A D | adis.h | 62 struct spi_transfer *xfer; member in struct:adis
|
/linux-4.1.27/drivers/dma/ |
H A D | pl330.c | 317 * There may be more than one xfer in a request. 322 /* Size to xfer */ 326 /* The xfer callbacks are made with one of these arguments. */ 405 * Sitting on the channel work_list but xfer done 514 /* Index of peripheral for the xfer. */ 1307 * A req is a sequence of one or more xfer units. 1324 /* Error if xfer length is not aligned at burst size */ _setup_req() 1372 * Client is not notified after each xfer unit, just once after all 1373 * xfer units are done or some error occurs.
|
H A D | s3c24xx-dma.c | 551 dev_dbg(&s3cdma->pdev->dev, "no physical channel available for xfer on %s\n", s3c24xx_dma_phy_alloc_and_start() 557 dev_dbg(&s3cdma->pdev->dev, "allocated physical channel %d for xfer on %s\n", s3c24xx_dma_phy_alloc_and_start() 571 dev_dbg(&s3cdma->pdev->dev, "reassigned physical channel %d for xfer on %s\n", s3c24xx_dma_phy_reassign_start()
|
/linux-4.1.27/drivers/media/usb/gspca/ |
H A D | gspca.c | 612 int xfer, int xfer_ep) alt_xfer() 620 if (attr == xfer alt_xfer() 846 int n, ret, xfer, alt, alt_idx; gspca_init_transfer() local 864 xfer = gspca_dev->cam.bulk ? USB_ENDPOINT_XFER_BULK gspca_init_transfer() 870 ep = alt_xfer(&intf->altsetting[gspca_dev->alt], xfer, gspca_init_transfer() 912 alt_xfer(&intf->altsetting[alt], xfer, gspca_init_transfer() 611 alt_xfer(struct usb_host_interface *alt, int xfer, int xfer_ep) alt_xfer() argument
|
/linux-4.1.27/drivers/media/usb/cpia2/ |
H A D | cpia2_usb.c | 432 DBG("Enabling bulk xfer\n"); configure_transfer_mode() 436 DBG("Enabling ISOC xfer\n"); configure_transfer_mode()
|
/linux-4.1.27/drivers/media/usb/pvrusb2/ |
H A D | pvrusb2-i2c-core.c | 495 "pvrusb2 i2c xfer %u/%u:" pvr2_i2c_xfer() 519 "pvrusb2 i2c xfer null transfer result=%d\n", pvr2_i2c_xfer()
|
/linux-4.1.27/drivers/staging/iio/resolver/ |
H A D | ad2s1210.c | 128 struct spi_transfer xfer = { ad2s1210_config_read() local 138 ret = spi_sync_transfer(st->sdev, &xfer, 1); ad2s1210_config_read()
|
/linux-4.1.27/drivers/usb/dwc2/ |
H A D | hcd_queue.c | 450 "%s: Periodic xfer length %d > max xfer length for channel %d\n", dwc2_check_max_xfer_size()
|
/linux-4.1.27/drivers/media/dvb-frontends/ |
H A D | dib3000mb.c | 43 MODULE_PARM_DESC(debug, "set debugging level (1=info,2=xfer,4=setfe,8=getfe (|-able))."); 779 /* set the xfer operations */ dib3000mb_attach()
|
/linux-4.1.27/drivers/gpu/drm/gma500/ |
H A D | intel_gmbus.c | 342 * start of the next xfer, till then let it sleep. gmbus_xfer()
|
/linux-4.1.27/sound/pci/asihpi/ |
H A D | asihpi.c | 865 snd_printddd("timer2, jif=%d, buf_pos=%d, newdata=%d, xfer=%d\n", 899 snd_printddd("write1, P=%d, xfer=%d, buf_ofs=%d\n", snd_pcm_group_for_each_entry() 909 snd_printddd("write2, P=%d, xfer=%d, buf_ofs=%d\n", snd_pcm_group_for_each_entry() 919 snd_printddd("read1, C=%d, xfer=%d\n", snd_pcm_group_for_each_entry() 927 snd_printddd("read2, C=%d, xfer=%d\n", snd_pcm_group_for_each_entry()
|
/linux-4.1.27/drivers/net/ethernet/sun/ |
H A D | cassini.h | 440 will stop after xfer of current 621 frame xfer has completed. 728 0x4 = fifo xfer 742 0x2 = xfer header 743 0x3 = xfer header ld 745 0x5 = xfer mtu 746 0x6 = xfer mtu ld 748 0x8 = xfer jumbo 749 0x9 = xfer jumbo ld 751 0xb = xfer reas 753 0xd = xfer reas ld
|
/linux-4.1.27/drivers/usb/storage/ |
H A D | transport.c | 369 usb_stor_dbg(us, "xfer %u bytes\n", length); usb_stor_intr_transfer() 396 usb_stor_dbg(us, "xfer %u bytes\n", length); usb_stor_bulk_transfer_buf() 428 usb_stor_dbg(us, "xfer %u bytes, %d entries\n", length, num_sg); usb_stor_bulk_transfer_sglist()
|
/linux-4.1.27/drivers/media/rc/ |
H A D | streamzap.c | 373 dev_err(&intf->dev, "%s: endpoint attributes don't match xfer " streamzap_probe()
|
/linux-4.1.27/drivers/media/usb/au0828/ |
H A D | au0828-dvb.c | 189 dprintk(2, "%s: bulk xfer already running!\n", __func__); start_urb_transfer()
|
/linux-4.1.27/drivers/media/usb/b2c2/ |
H A D | flexcop-usb.c | 543 /* xfer init */ flexcop_usb_probe()
|
/linux-4.1.27/drivers/scsi/libfc/ |
H A D | fc_fcp.c | 583 FC_FCP_DBG(fsp, "xfer-ready past end. seq_blen %zx " fc_fcp_send_data() 589 FC_FCP_DBG(fsp, "xfer-ready non-contiguous. " fc_fcp_send_data() 843 /* if ddp, update xfer len */ fc_fcp_resp() 917 FC_FCP_DBG(fsp, "tgt %6.6x xfer len %zx greater than expected, " fc_fcp_resp()
|