iop_chan           53 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan, dma_cookie_t cookie)
iop_chan           80 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan)
iop_chan           91 drivers/dma/iop-adma.c 	if (desc->chain_node.next == &iop_chan->chain)
iop_chan           94 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev,
iop_chan          104 drivers/dma/iop-adma.c static void __iop_adma_slot_cleanup(struct iop_adma_chan *iop_chan)
iop_chan          108 drivers/dma/iop-adma.c 	u32 current_desc = iop_chan_get_current_descriptor(iop_chan);
iop_chan          109 drivers/dma/iop-adma.c 	int busy = iop_chan_is_busy(iop_chan);
iop_chan          112 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev, "%s\n", __func__);
iop_chan          116 drivers/dma/iop-adma.c 	list_for_each_entry_safe(iter, _iter, &iop_chan->chain,
iop_chan          173 drivers/dma/iop-adma.c 					&iop_chan->chain, chain_node) {
iop_chan          191 drivers/dma/iop-adma.c 				&iop_chan->chain, chain_node) {
iop_chan          193 drivers/dma/iop-adma.c 					grp_iter, iop_chan, cookie);
iop_chan          197 drivers/dma/iop-adma.c 					iop_chan);
iop_chan          221 drivers/dma/iop-adma.c 					iter, iop_chan, cookie);
iop_chan          223 drivers/dma/iop-adma.c 		if (iop_adma_clean_slot(iter, iop_chan))
iop_chan          228 drivers/dma/iop-adma.c 		iop_chan->common.completed_cookie = cookie;
iop_chan          234 drivers/dma/iop-adma.c iop_adma_slot_cleanup(struct iop_adma_chan *iop_chan)
iop_chan          236 drivers/dma/iop-adma.c 	spin_lock_bh(&iop_chan->lock);
iop_chan          237 drivers/dma/iop-adma.c 	__iop_adma_slot_cleanup(iop_chan);
iop_chan          238 drivers/dma/iop-adma.c 	spin_unlock_bh(&iop_chan->lock);
iop_chan          243 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = (struct iop_adma_chan *) data;
iop_chan          250 drivers/dma/iop-adma.c 	spin_lock_nested(&iop_chan->lock, SINGLE_DEPTH_NESTING);
iop_chan          251 drivers/dma/iop-adma.c 	__iop_adma_slot_cleanup(iop_chan);
iop_chan          252 drivers/dma/iop-adma.c 	spin_unlock(&iop_chan->lock);
iop_chan          256 drivers/dma/iop-adma.c iop_adma_alloc_slots(struct iop_adma_chan *iop_chan, int num_slots,
iop_chan          270 drivers/dma/iop-adma.c 		iter = iop_chan->last_used;
iop_chan          272 drivers/dma/iop-adma.c 		iter = list_entry(&iop_chan->all_slots,
iop_chan          277 drivers/dma/iop-adma.c 		iter, _iter, &iop_chan->all_slots, slot_node) {
iop_chan          307 drivers/dma/iop-adma.c 				dev_dbg(iop_chan->device->common.dev,
iop_chan          334 drivers/dma/iop-adma.c 			iop_chan->last_used = last_used;
iop_chan          344 drivers/dma/iop-adma.c 	__iop_adma_slot_cleanup(iop_chan);
iop_chan          349 drivers/dma/iop-adma.c static void iop_adma_check_threshold(struct iop_adma_chan *iop_chan)
iop_chan          351 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev, "pending: %d\n",
iop_chan          352 drivers/dma/iop-adma.c 		iop_chan->pending);
iop_chan          354 drivers/dma/iop-adma.c 	if (iop_chan->pending >= IOP_ADMA_THRESHOLD) {
iop_chan          355 drivers/dma/iop-adma.c 		iop_chan->pending = 0;
iop_chan          356 drivers/dma/iop-adma.c 		iop_chan_append(iop_chan);
iop_chan          364 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = to_iop_adma_chan(tx->chan);
iop_chan          373 drivers/dma/iop-adma.c 	spin_lock_bh(&iop_chan->lock);
iop_chan          376 drivers/dma/iop-adma.c 	old_chain_tail = list_entry(iop_chan->chain.prev,
iop_chan          394 drivers/dma/iop-adma.c 	iop_chan->pending += slot_cnt;
iop_chan          395 drivers/dma/iop-adma.c 	iop_adma_check_threshold(iop_chan);
iop_chan          396 drivers/dma/iop-adma.c 	spin_unlock_bh(&iop_chan->lock);
iop_chan          398 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev, "%s cookie: %d slot: %d\n",
iop_chan          404 drivers/dma/iop-adma.c static void iop_chan_start_null_memcpy(struct iop_adma_chan *iop_chan);
iop_chan          405 drivers/dma/iop-adma.c static void iop_chan_start_null_xor(struct iop_adma_chan *iop_chan);
iop_chan          421 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
iop_chan          423 drivers/dma/iop-adma.c 	int init = iop_chan->slots_allocated ? 0 : 1;
iop_chan          425 drivers/dma/iop-adma.c 		dev_get_platdata(&iop_chan->device->pdev->dev);
iop_chan          430 drivers/dma/iop-adma.c 		idx = iop_chan->slots_allocated;
iop_chan          440 drivers/dma/iop-adma.c 		hw_desc = (char *) iop_chan->device->dma_desc_pool_virt;
iop_chan          448 drivers/dma/iop-adma.c 		hw_desc = (char *) iop_chan->device->dma_desc_pool;
iop_chan          453 drivers/dma/iop-adma.c 		spin_lock_bh(&iop_chan->lock);
iop_chan          454 drivers/dma/iop-adma.c 		iop_chan->slots_allocated++;
iop_chan          455 drivers/dma/iop-adma.c 		list_add_tail(&slot->slot_node, &iop_chan->all_slots);
iop_chan          456 drivers/dma/iop-adma.c 		spin_unlock_bh(&iop_chan->lock);
iop_chan          457 drivers/dma/iop-adma.c 	} while (iop_chan->slots_allocated < num_descs_in_pool);
iop_chan          459 drivers/dma/iop-adma.c 	if (idx && !iop_chan->last_used)
iop_chan          460 drivers/dma/iop-adma.c 		iop_chan->last_used = list_entry(iop_chan->all_slots.next,
iop_chan          464 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev,
iop_chan          466 drivers/dma/iop-adma.c 		iop_chan->slots_allocated, iop_chan->last_used);
iop_chan          471 drivers/dma/iop-adma.c 			iop_chan->device->common.cap_mask))
iop_chan          472 drivers/dma/iop-adma.c 			iop_chan_start_null_memcpy(iop_chan);
iop_chan          474 drivers/dma/iop-adma.c 			iop_chan->device->common.cap_mask))
iop_chan          475 drivers/dma/iop-adma.c 			iop_chan_start_null_xor(iop_chan);
iop_chan          486 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
iop_chan          490 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev, "%s\n", __func__);
iop_chan          492 drivers/dma/iop-adma.c 	spin_lock_bh(&iop_chan->lock);
iop_chan          493 drivers/dma/iop-adma.c 	slot_cnt = iop_chan_interrupt_slot_count(&slots_per_op, iop_chan);
iop_chan          494 drivers/dma/iop-adma.c 	sw_desc = iop_adma_alloc_slots(iop_chan, slot_cnt, slots_per_op);
iop_chan          497 drivers/dma/iop-adma.c 		iop_desc_init_interrupt(grp_start, iop_chan);
iop_chan          500 drivers/dma/iop-adma.c 	spin_unlock_bh(&iop_chan->lock);
iop_chan          509 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
iop_chan          517 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev, "%s len: %zu\n",
iop_chan          520 drivers/dma/iop-adma.c 	spin_lock_bh(&iop_chan->lock);
iop_chan          522 drivers/dma/iop-adma.c 	sw_desc = iop_adma_alloc_slots(iop_chan, slot_cnt, slots_per_op);
iop_chan          526 drivers/dma/iop-adma.c 		iop_desc_set_byte_count(grp_start, iop_chan, len);
iop_chan          527 drivers/dma/iop-adma.c 		iop_desc_set_dest_addr(grp_start, iop_chan, dma_dest);
iop_chan          531 drivers/dma/iop-adma.c 	spin_unlock_bh(&iop_chan->lock);
iop_chan          541 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
iop_chan          549 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev,
iop_chan          553 drivers/dma/iop-adma.c 	spin_lock_bh(&iop_chan->lock);
iop_chan          555 drivers/dma/iop-adma.c 	sw_desc = iop_adma_alloc_slots(iop_chan, slot_cnt, slots_per_op);
iop_chan          559 drivers/dma/iop-adma.c 		iop_desc_set_byte_count(grp_start, iop_chan, len);
iop_chan          560 drivers/dma/iop-adma.c 		iop_desc_set_dest_addr(grp_start, iop_chan, dma_dest);
iop_chan          566 drivers/dma/iop-adma.c 	spin_unlock_bh(&iop_chan->lock);
iop_chan          576 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
iop_chan          583 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev, "%s src_cnt: %d len: %zu\n",
iop_chan          586 drivers/dma/iop-adma.c 	spin_lock_bh(&iop_chan->lock);
iop_chan          588 drivers/dma/iop-adma.c 	sw_desc = iop_adma_alloc_slots(iop_chan, slot_cnt, slots_per_op);
iop_chan          601 drivers/dma/iop-adma.c 	spin_unlock_bh(&iop_chan->lock);
iop_chan          611 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
iop_chan          620 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev,
iop_chan          631 drivers/dma/iop-adma.c 	spin_lock_bh(&iop_chan->lock);
iop_chan          633 drivers/dma/iop-adma.c 	sw_desc = iop_adma_alloc_slots(iop_chan, slot_cnt, slots_per_op);
iop_chan          638 drivers/dma/iop-adma.c 		iop_desc_set_byte_count(g, iop_chan, len);
iop_chan          665 drivers/dma/iop-adma.c 	spin_unlock_bh(&iop_chan->lock);
iop_chan          676 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
iop_chan          684 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev, "%s src_cnt: %d len: %zu\n",
iop_chan          687 drivers/dma/iop-adma.c 	spin_lock_bh(&iop_chan->lock);
iop_chan          689 drivers/dma/iop-adma.c 	sw_desc = iop_adma_alloc_slots(iop_chan, slot_cnt, slots_per_op);
iop_chan          709 drivers/dma/iop-adma.c 	spin_unlock_bh(&iop_chan->lock);
iop_chan          716 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
iop_chan          720 drivers/dma/iop-adma.c 	iop_adma_slot_cleanup(iop_chan);
iop_chan          722 drivers/dma/iop-adma.c 	spin_lock_bh(&iop_chan->lock);
iop_chan          723 drivers/dma/iop-adma.c 	list_for_each_entry_safe(iter, _iter, &iop_chan->chain,
iop_chan          729 drivers/dma/iop-adma.c 		iter, _iter, &iop_chan->all_slots, slot_node) {
iop_chan          732 drivers/dma/iop-adma.c 		iop_chan->slots_allocated--;
iop_chan          734 drivers/dma/iop-adma.c 	iop_chan->last_used = NULL;
iop_chan          736 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev, "%s slots_allocated %d\n",
iop_chan          737 drivers/dma/iop-adma.c 		__func__, iop_chan->slots_allocated);
iop_chan          738 drivers/dma/iop-adma.c 	spin_unlock_bh(&iop_chan->lock);
iop_chan          756 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
iop_chan          763 drivers/dma/iop-adma.c 	iop_adma_slot_cleanup(iop_chan);
iop_chan          818 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
iop_chan          820 drivers/dma/iop-adma.c 	if (iop_chan->pending) {
iop_chan          821 drivers/dma/iop-adma.c 		iop_chan->pending = 0;
iop_chan          822 drivers/dma/iop-adma.c 		iop_chan_append(iop_chan);
iop_chan          840 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan;
iop_chan          886 drivers/dma/iop-adma.c 	iop_chan = to_iop_adma_chan(dma_chan);
iop_chan          887 drivers/dma/iop-adma.c 	dma_sync_single_for_cpu(&iop_chan->device->pdev->dev, dest_dma,
iop_chan          921 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan;
iop_chan          986 drivers/dma/iop-adma.c 	iop_chan = to_iop_adma_chan(dma_chan);
iop_chan          987 drivers/dma/iop-adma.c 	dma_sync_single_for_cpu(&iop_chan->device->pdev->dev, dest_dma,
iop_chan          998 drivers/dma/iop-adma.c 	dma_sync_single_for_device(&iop_chan->device->pdev->dev, dest_dma,
iop_chan         1246 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan;
iop_chan         1256 drivers/dma/iop-adma.c 		iop_chan = to_iop_adma_chan(chan);
iop_chan         1258 drivers/dma/iop-adma.c 		kfree(iop_chan);
iop_chan         1270 drivers/dma/iop-adma.c 	struct iop_adma_chan *iop_chan;
iop_chan         1342 drivers/dma/iop-adma.c 	iop_chan = kzalloc(sizeof(*iop_chan), GFP_KERNEL);
iop_chan         1343 drivers/dma/iop-adma.c 	if (!iop_chan) {
iop_chan         1347 drivers/dma/iop-adma.c 	iop_chan->device = adev;
iop_chan         1349 drivers/dma/iop-adma.c 	iop_chan->mmr_base = devm_ioremap(&pdev->dev, res->start,
iop_chan         1351 drivers/dma/iop-adma.c 	if (!iop_chan->mmr_base) {
iop_chan         1355 drivers/dma/iop-adma.c 	tasklet_init(&iop_chan->irq_tasklet, iop_adma_tasklet, (unsigned long)
iop_chan         1356 drivers/dma/iop-adma.c 		iop_chan);
iop_chan         1359 drivers/dma/iop-adma.c 	iop_adma_device_clear_err_status(iop_chan);
iop_chan         1371 drivers/dma/iop-adma.c 					handler[i], 0, pdev->name, iop_chan);
iop_chan         1377 drivers/dma/iop-adma.c 	spin_lock_init(&iop_chan->lock);
iop_chan         1378 drivers/dma/iop-adma.c 	INIT_LIST_HEAD(&iop_chan->chain);
iop_chan         1379 drivers/dma/iop-adma.c 	INIT_LIST_HEAD(&iop_chan->all_slots);
iop_chan         1380 drivers/dma/iop-adma.c 	iop_chan->common.device = dma_dev;
iop_chan         1381 drivers/dma/iop-adma.c 	dma_cookie_init(&iop_chan->common);
iop_chan         1382 drivers/dma/iop-adma.c 	list_add_tail(&iop_chan->common.device_node, &dma_dev->channels);
iop_chan         1425 drivers/dma/iop-adma.c 	kfree(iop_chan);
iop_chan         1435 drivers/dma/iop-adma.c static void iop_chan_start_null_memcpy(struct iop_adma_chan *iop_chan)
iop_chan         1441 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev, "%s\n", __func__);
iop_chan         1443 drivers/dma/iop-adma.c 	spin_lock_bh(&iop_chan->lock);
iop_chan         1445 drivers/dma/iop-adma.c 	sw_desc = iop_adma_alloc_slots(iop_chan, slot_cnt, slots_per_op);
iop_chan         1449 drivers/dma/iop-adma.c 		list_splice_init(&sw_desc->tx_list, &iop_chan->chain);
iop_chan         1452 drivers/dma/iop-adma.c 		iop_desc_set_byte_count(grp_start, iop_chan, 0);
iop_chan         1453 drivers/dma/iop-adma.c 		iop_desc_set_dest_addr(grp_start, iop_chan, 0);
iop_chan         1461 drivers/dma/iop-adma.c 		iop_chan->common.completed_cookie = cookie - 1;
iop_chan         1464 drivers/dma/iop-adma.c 		BUG_ON(iop_chan_is_busy(iop_chan));
iop_chan         1467 drivers/dma/iop-adma.c 		iop_adma_device_clear_err_status(iop_chan);
iop_chan         1470 drivers/dma/iop-adma.c 		iop_chan_disable(iop_chan);
iop_chan         1473 drivers/dma/iop-adma.c 		iop_chan_set_next_descriptor(iop_chan, sw_desc->async_tx.phys);
iop_chan         1481 drivers/dma/iop-adma.c 		iop_chan_enable(iop_chan);
iop_chan         1483 drivers/dma/iop-adma.c 		dev_err(iop_chan->device->common.dev,
iop_chan         1485 drivers/dma/iop-adma.c 	spin_unlock_bh(&iop_chan->lock);
iop_chan         1488 drivers/dma/iop-adma.c static void iop_chan_start_null_xor(struct iop_adma_chan *iop_chan)
iop_chan         1494 drivers/dma/iop-adma.c 	dev_dbg(iop_chan->device->common.dev, "%s\n", __func__);
iop_chan         1496 drivers/dma/iop-adma.c 	spin_lock_bh(&iop_chan->lock);
iop_chan         1498 drivers/dma/iop-adma.c 	sw_desc = iop_adma_alloc_slots(iop_chan, slot_cnt, slots_per_op);
iop_chan         1501 drivers/dma/iop-adma.c 		list_splice_init(&sw_desc->tx_list, &iop_chan->chain);
iop_chan         1504 drivers/dma/iop-adma.c 		iop_desc_set_byte_count(grp_start, iop_chan, 0);
iop_chan         1505 drivers/dma/iop-adma.c 		iop_desc_set_dest_addr(grp_start, iop_chan, 0);
iop_chan         1514 drivers/dma/iop-adma.c 		iop_chan->common.completed_cookie = cookie - 1;
iop_chan         1517 drivers/dma/iop-adma.c 		BUG_ON(iop_chan_is_busy(iop_chan));
iop_chan         1520 drivers/dma/iop-adma.c 		iop_adma_device_clear_err_status(iop_chan);
iop_chan         1523 drivers/dma/iop-adma.c 		iop_chan_disable(iop_chan);
iop_chan         1526 drivers/dma/iop-adma.c 		iop_chan_set_next_descriptor(iop_chan, sw_desc->async_tx.phys);
iop_chan         1534 drivers/dma/iop-adma.c 		iop_chan_enable(iop_chan);
iop_chan         1536 drivers/dma/iop-adma.c 		dev_err(iop_chan->device->common.dev,
iop_chan         1538 drivers/dma/iop-adma.c 	spin_unlock_bh(&iop_chan->lock);