Lines Matching defs:xfer
130 void *xfer, *resp, *ibi_status, *ibi_data;
182 if (rh->xfer)
185 rh->xfer, rh->xfer_dma);
254 rh->xfer = dma_alloc_coherent(&hci->master.dev, xfers_sz,
262 if (!rh->xfer || !rh->resp || !rh->src_xfers)
343 struct hci_xfer *xfer;
347 xfer = xfer_list + i;
349 xfer->data_dma, xfer->data_len,
350 xfer->rnw ? DMA_FROM_DEVICE : DMA_TO_DEVICE);
369 struct hci_xfer *xfer = xfer_list + i;
370 u32 *ring_data = rh->xfer + rh->xfer_struct_sz * enqueue_ptr;
373 *ring_data++ = xfer->cmd_desc[0];
374 *ring_data++ = xfer->cmd_desc[1];
376 *ring_data++ = xfer->cmd_desc[2];
377 *ring_data++ = xfer->cmd_desc[3];
381 if (!xfer->data)
382 xfer->data_len = 0;
384 FIELD_PREP(DATA_BUF_BLOCK_SIZE, xfer->data_len) |
388 if (xfer->data) {
389 xfer->data_dma =
391 xfer->data,
392 xfer->data_len,
393 xfer->rnw ?
397 xfer->data_dma)) {
401 *ring_data++ = lo32(xfer->data_dma);
402 *ring_data++ = hi32(xfer->data_dma);
408 /* remember corresponding xfer struct */
409 rh->src_xfers[enqueue_ptr] = xfer;
410 /* remember corresponding ring/entry for this xfer structure */
411 xfer->ring_number = ring;
412 xfer->ring_entry = enqueue_ptr;
460 struct hci_xfer *xfer = xfer_list + i;
461 int idx = xfer->ring_entry;
464 * At the time the abort happened, the xfer might have
469 u32 *ring_data = rh->xfer + rh->xfer_struct_sz * idx;
479 /* disassociate this xfer struct */
483 hci_dma_unmap_xfer(hci, xfer, 1);
499 struct hci_xfer *xfer;
511 xfer = rh->src_xfers[done_ptr];
512 if (!xfer) {
515 hci_dma_unmap_xfer(hci, xfer, 1);
516 xfer->ring_entry = -1;
517 xfer->response = resp;
518 if (tid != xfer->cmd_tid) {
521 tid, xfer->cmd_tid);
524 if (xfer->completion)
525 complete(xfer->completion);