Lines Matching refs:xfer

130 	void *xfer, *resp, *ibi_status, *ibi_data;  member
182 if (rh->xfer) in hci_dma_cleanup()
185 rh->xfer, rh->xfer_dma); in hci_dma_cleanup()
254 rh->xfer = dma_alloc_coherent(&hci->master.dev, xfers_sz, in hci_dma_init()
262 if (!rh->xfer || !rh->resp || !rh->src_xfers) in hci_dma_init()
346 struct hci_xfer *xfer; in hci_dma_unmap_xfer() local
350 xfer = xfer_list + i; in hci_dma_unmap_xfer()
351 if (!xfer->data) in hci_dma_unmap_xfer()
354 xfer->data_dma, xfer->data_len, in hci_dma_unmap_xfer()
355 xfer->rnw ? DMA_FROM_DEVICE : DMA_TO_DEVICE); in hci_dma_unmap_xfer()
374 struct hci_xfer *xfer = xfer_list + i; in hci_dma_queue_xfer() local
375 u32 *ring_data = rh->xfer + rh->xfer_struct_sz * enqueue_ptr; in hci_dma_queue_xfer()
378 *ring_data++ = xfer->cmd_desc[0]; in hci_dma_queue_xfer()
379 *ring_data++ = xfer->cmd_desc[1]; in hci_dma_queue_xfer()
381 *ring_data++ = xfer->cmd_desc[2]; in hci_dma_queue_xfer()
382 *ring_data++ = xfer->cmd_desc[3]; in hci_dma_queue_xfer()
386 if (!xfer->data) in hci_dma_queue_xfer()
387 xfer->data_len = 0; in hci_dma_queue_xfer()
389 FIELD_PREP(DATA_BUF_BLOCK_SIZE, xfer->data_len) | in hci_dma_queue_xfer()
393 if (xfer->data) { in hci_dma_queue_xfer()
394 xfer->data_dma = in hci_dma_queue_xfer()
396 xfer->data, in hci_dma_queue_xfer()
397 xfer->data_len, in hci_dma_queue_xfer()
398 xfer->rnw ? in hci_dma_queue_xfer()
402 xfer->data_dma)) { in hci_dma_queue_xfer()
406 *ring_data++ = lo32(xfer->data_dma); in hci_dma_queue_xfer()
407 *ring_data++ = hi32(xfer->data_dma); in hci_dma_queue_xfer()
414 rh->src_xfers[enqueue_ptr] = xfer; in hci_dma_queue_xfer()
416 xfer->ring_number = ring; in hci_dma_queue_xfer()
417 xfer->ring_entry = enqueue_ptr; in hci_dma_queue_xfer()
464 struct hci_xfer *xfer = xfer_list + i; in hci_dma_dequeue_xfer() local
465 int idx = xfer->ring_entry; in hci_dma_dequeue_xfer()
473 u32 *ring_data = rh->xfer + rh->xfer_struct_sz * idx; in hci_dma_dequeue_xfer()
487 hci_dma_unmap_xfer(hci, xfer, 1); in hci_dma_dequeue_xfer()
503 struct hci_xfer *xfer; in hci_dma_xfer_done() local
515 xfer = rh->src_xfers[done_ptr]; in hci_dma_xfer_done()
516 if (!xfer) { in hci_dma_xfer_done()
519 hci_dma_unmap_xfer(hci, xfer, 1); in hci_dma_xfer_done()
520 xfer->ring_entry = -1; in hci_dma_xfer_done()
521 xfer->response = resp; in hci_dma_xfer_done()
522 if (tid != xfer->cmd_tid) { in hci_dma_xfer_done()
525 tid, xfer->cmd_tid); in hci_dma_xfer_done()
528 if (xfer->completion) in hci_dma_xfer_done()
529 complete(xfer->completion); in hci_dma_xfer_done()