Lines Matching defs:ppc440spe_chan
1444 * Caller must hold &ppc440spe_chan->lock while calling this function
1768 struct ppc440spe_adma_chan *ppc440spe_chan;
1774 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
1775 init = ppc440spe_chan->slots_allocated ? 0 : 1;
1776 chan->chan_id = ppc440spe_chan->device->id;
1779 i = ppc440spe_chan->slots_allocated;
1780 if (ppc440spe_chan->device->id != PPC440SPE_XOR_ID)
1785 for (; i < (ppc440spe_chan->device->pool_size / db_sz); i++) {
1794 hw_desc = (char *) ppc440spe_chan->device->dma_desc_pool_virt;
1801 slot->phys = ppc440spe_chan->device->dma_desc_pool + i * db_sz;
1804 spin_lock_bh(&ppc440spe_chan->lock);
1805 ppc440spe_chan->slots_allocated++;
1806 list_add_tail(&slot->slot_node, &ppc440spe_chan->all_slots);
1807 spin_unlock_bh(&ppc440spe_chan->lock);
1810 if (i && !ppc440spe_chan->last_used) {
1811 ppc440spe_chan->last_used =
1812 list_entry(ppc440spe_chan->all_slots.next,
1817 dev_dbg(ppc440spe_chan->device->common.dev,
1819 ppc440spe_chan->device->id, i);
1823 switch (ppc440spe_chan->device->id) {
1826 ppc440spe_chan->hw_chain_inited = 0;
1829 ppc440spe_r6_tchan = ppc440spe_chan;
1832 ppc440spe_chan_start_null_xor(ppc440spe_chan);
1837 ppc440spe_chan->needs_unmap = 1;
1949 struct ppc440spe_adma_chan *ppc440spe_chan;
1953 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
1955 dev_dbg(ppc440spe_chan->device->common.dev,
1956 "ppc440spe adma%d: %s\n", ppc440spe_chan->device->id,
1959 spin_lock_bh(&ppc440spe_chan->lock);
1961 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt,
1965 ppc440spe_desc_init_interrupt(group_start, ppc440spe_chan);
1969 spin_unlock_bh(&ppc440spe_chan->lock);
1981 struct ppc440spe_adma_chan *ppc440spe_chan;
1985 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
1992 spin_lock_bh(&ppc440spe_chan->lock);
1994 dev_dbg(ppc440spe_chan->device->common.dev,
1996 ppc440spe_chan->device->id, __func__, len,
1999 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt,
2006 ppc440spe_desc_set_byte_count(group_start, ppc440spe_chan, len);
2010 spin_unlock_bh(&ppc440spe_chan->lock);
2023 struct ppc440spe_adma_chan *ppc440spe_chan;
2027 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
2029 ADMA_LL_DBG(prep_dma_xor_dbg(ppc440spe_chan->device->id,
2035 dev_dbg(ppc440spe_chan->device->common.dev,
2037 ppc440spe_chan->device->id, __func__, src_cnt, len,
2040 spin_lock_bh(&ppc440spe_chan->lock);
2042 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt,
2051 ppc440spe_desc_set_byte_count(group_start, ppc440spe_chan, len);
2055 spin_unlock_bh(&ppc440spe_chan->lock);
2086 struct ppc440spe_adma_chan *ppc440spe_chan,
2097 spin_lock_bh(&ppc440spe_chan->lock);
2100 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1);
2130 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len);
2156 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len);
2161 spin_unlock_bh(&ppc440spe_chan->lock);
2172 struct ppc440spe_adma_chan *ppc440spe_chan,
2183 spin_lock_bh(&ppc440spe_chan->lock);
2186 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1);
2211 ppc440spe_chan->qdest, 1);
2214 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len);
2235 ppc440spe_chan->qdest);
2240 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len);
2265 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len);
2270 spin_unlock_bh(&ppc440spe_chan->lock);
2276 struct ppc440spe_adma_chan *ppc440spe_chan,
2379 spin_lock_bh(&ppc440spe_chan->lock);
2381 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1);
2411 ppc440spe_chan, len);
2415 spin_unlock_bh(&ppc440spe_chan->lock);
2421 struct ppc440spe_adma_chan *ppc440spe_chan,
2434 spin_lock_bh(&ppc440spe_chan->lock);
2437 spin_unlock_bh(&ppc440spe_chan->lock);
2444 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1);
2451 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan,
2501 spin_unlock_bh(&ppc440spe_chan->lock);
2514 struct ppc440spe_adma_chan *ppc440spe_chan;
2518 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
2520 ADMA_LL_DBG(prep_dma_pq_dbg(ppc440spe_chan->device->id,
2532 dest[1] = ppc440spe_chan->qdest;
2533 sw_desc = ppc440spe_dma01_prep_mult(ppc440spe_chan,
2539 sw_desc = ppc440spe_dma01_prep_sum_product(ppc440spe_chan,
2558 dev_dbg(ppc440spe_chan->device->common.dev,
2560 ppc440spe_chan->device->id, __func__, src_cnt, len,
2563 switch (ppc440spe_chan->device->id) {
2566 sw_desc = ppc440spe_dma01_prep_pq(ppc440spe_chan,
2572 sw_desc = ppc440spe_dma2_prep_pq(ppc440spe_chan,
2590 struct ppc440spe_adma_chan *ppc440spe_chan;
2595 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
2607 ADMA_LL_DBG(prep_dma_pqzero_sum_dbg(ppc440spe_chan->device->id,
2621 spin_lock_bh(&ppc440spe_chan->lock);
2622 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt,
2630 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan,
2650 ppc440spe_chan->pdest, 0);
2652 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan,
2656 pdest = ppc440spe_chan->pdest;
2682 ppc440spe_chan->qdest, 0);
2684 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan,
2688 qdest = ppc440spe_chan->qdest;
2727 ppc440spe_desc_set_dcheck(iter, ppc440spe_chan,
2756 spin_unlock_bh(&ppc440spe_chan->lock);
3537 struct ppc440spe_adma_chan *ppc440spe_chan;
3541 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
3542 ppc440spe_adma_slot_cleanup(ppc440spe_chan);
3544 spin_lock_bh(&ppc440spe_chan->lock);
3545 list_for_each_entry_safe(iter, _iter, &ppc440spe_chan->chain,
3551 &ppc440spe_chan->all_slots, slot_node) {
3554 ppc440spe_chan->slots_allocated--;
3556 ppc440spe_chan->last_used = NULL;
3558 dev_dbg(ppc440spe_chan->device->common.dev,
3560 ppc440spe_chan->device->id,
3561 __func__, ppc440spe_chan->slots_allocated);
3562 spin_unlock_bh(&ppc440spe_chan->lock);
3579 struct ppc440spe_adma_chan *ppc440spe_chan;
3582 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
3587 ppc440spe_adma_slot_cleanup(ppc440spe_chan);
3638 struct ppc440spe_adma_chan *ppc440spe_chan;
3640 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
3641 dev_dbg(ppc440spe_chan->device->common.dev,
3642 "ppc440spe adma%d: %s %d \n", ppc440spe_chan->device->id,
3643 __func__, ppc440spe_chan->pending);
3645 if (ppc440spe_chan->pending) {
3646 ppc440spe_chan->pending = 0;
3647 ppc440spe_chan_append(ppc440spe_chan);
4243 struct ppc440spe_adma_chan *ppc440spe_chan;
4252 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
4253 ppc440spe_adma_release_irqs(adev, ppc440spe_chan);
4254 tasklet_kill(&ppc440spe_chan->irq_tasklet);
4256 dma_unmap_page(&ofdev->dev, ppc440spe_chan->pdest,
4258 dma_unmap_page(&ofdev->dev, ppc440spe_chan->qdest,
4260 __free_page(ppc440spe_chan->pdest_page);
4261 __free_page(ppc440spe_chan->qdest_page);
4265 if (ppc440spe_chan ==
4272 kfree(ppc440spe_chan);