Lines Matching refs:ppc440spe_chan

1442  * Caller must hold &ppc440spe_chan->lock while calling this function
1766 struct ppc440spe_adma_chan *ppc440spe_chan;
1772 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
1773 init = ppc440spe_chan->slots_allocated ? 0 : 1;
1774 chan->chan_id = ppc440spe_chan->device->id;
1777 i = ppc440spe_chan->slots_allocated;
1778 if (ppc440spe_chan->device->id != PPC440SPE_XOR_ID)
1783 for (; i < (ppc440spe_chan->device->pool_size / db_sz); i++) {
1792 hw_desc = (char *) ppc440spe_chan->device->dma_desc_pool_virt;
1799 slot->phys = ppc440spe_chan->device->dma_desc_pool + i * db_sz;
1802 spin_lock_bh(&ppc440spe_chan->lock);
1803 ppc440spe_chan->slots_allocated++;
1804 list_add_tail(&slot->slot_node, &ppc440spe_chan->all_slots);
1805 spin_unlock_bh(&ppc440spe_chan->lock);
1808 if (i && !ppc440spe_chan->last_used) {
1809 ppc440spe_chan->last_used =
1810 list_entry(ppc440spe_chan->all_slots.next,
1815 dev_dbg(ppc440spe_chan->device->common.dev,
1817 ppc440spe_chan->device->id, i);
1821 switch (ppc440spe_chan->device->id) {
1824 ppc440spe_chan->hw_chain_inited = 0;
1827 ppc440spe_r6_tchan = ppc440spe_chan;
1830 ppc440spe_chan_start_null_xor(ppc440spe_chan);
1835 ppc440spe_chan->needs_unmap = 1;
1947 struct ppc440spe_adma_chan *ppc440spe_chan;
1951 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
1953 dev_dbg(ppc440spe_chan->device->common.dev,
1954 "ppc440spe adma%d: %s\n", ppc440spe_chan->device->id,
1957 spin_lock_bh(&ppc440spe_chan->lock);
1959 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt,
1963 ppc440spe_desc_init_interrupt(group_start, ppc440spe_chan);
1967 spin_unlock_bh(&ppc440spe_chan->lock);
1979 struct ppc440spe_adma_chan *ppc440spe_chan;
1983 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
1990 spin_lock_bh(&ppc440spe_chan->lock);
1992 dev_dbg(ppc440spe_chan->device->common.dev,
1994 ppc440spe_chan->device->id, __func__, len,
1997 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt,
2004 ppc440spe_desc_set_byte_count(group_start, ppc440spe_chan, len);
2008 spin_unlock_bh(&ppc440spe_chan->lock);
2021 struct ppc440spe_adma_chan *ppc440spe_chan;
2025 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
2027 ADMA_LL_DBG(prep_dma_xor_dbg(ppc440spe_chan->device->id,
2033 dev_dbg(ppc440spe_chan->device->common.dev,
2035 ppc440spe_chan->device->id, __func__, src_cnt, len,
2038 spin_lock_bh(&ppc440spe_chan->lock);
2040 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt,
2049 ppc440spe_desc_set_byte_count(group_start, ppc440spe_chan, len);
2053 spin_unlock_bh(&ppc440spe_chan->lock);
2084 struct ppc440spe_adma_chan *ppc440spe_chan,
2095 spin_lock_bh(&ppc440spe_chan->lock);
2098 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1);
2128 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len);
2154 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len);
2159 spin_unlock_bh(&ppc440spe_chan->lock);
2170 struct ppc440spe_adma_chan *ppc440spe_chan,
2181 spin_lock_bh(&ppc440spe_chan->lock);
2184 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1);
2209 ppc440spe_chan->qdest, 1);
2212 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len);
2233 ppc440spe_chan->qdest);
2238 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len);
2263 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len);
2268 spin_unlock_bh(&ppc440spe_chan->lock);
2274 struct ppc440spe_adma_chan *ppc440spe_chan,
2377 spin_lock_bh(&ppc440spe_chan->lock);
2379 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1);
2409 ppc440spe_chan, len);
2413 spin_unlock_bh(&ppc440spe_chan->lock);
2419 struct ppc440spe_adma_chan *ppc440spe_chan,
2432 spin_lock_bh(&ppc440spe_chan->lock);
2435 spin_unlock_bh(&ppc440spe_chan->lock);
2442 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1);
2449 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan,
2499 spin_unlock_bh(&ppc440spe_chan->lock);
2512 struct ppc440spe_adma_chan *ppc440spe_chan;
2516 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
2518 ADMA_LL_DBG(prep_dma_pq_dbg(ppc440spe_chan->device->id,
2530 dest[1] = ppc440spe_chan->qdest;
2531 sw_desc = ppc440spe_dma01_prep_mult(ppc440spe_chan,
2537 sw_desc = ppc440spe_dma01_prep_sum_product(ppc440spe_chan,
2556 dev_dbg(ppc440spe_chan->device->common.dev,
2558 ppc440spe_chan->device->id, __func__, src_cnt, len,
2561 switch (ppc440spe_chan->device->id) {
2564 sw_desc = ppc440spe_dma01_prep_pq(ppc440spe_chan,
2570 sw_desc = ppc440spe_dma2_prep_pq(ppc440spe_chan,
2588 struct ppc440spe_adma_chan *ppc440spe_chan;
2593 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
2605 ADMA_LL_DBG(prep_dma_pqzero_sum_dbg(ppc440spe_chan->device->id,
2619 spin_lock_bh(&ppc440spe_chan->lock);
2620 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt,
2628 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan,
2648 ppc440spe_chan->pdest, 0);
2650 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan,
2654 pdest = ppc440spe_chan->pdest;
2680 ppc440spe_chan->qdest, 0);
2682 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan,
2686 qdest = ppc440spe_chan->qdest;
2725 ppc440spe_desc_set_dcheck(iter, ppc440spe_chan,
2754 spin_unlock_bh(&ppc440spe_chan->lock);
3534 struct ppc440spe_adma_chan *ppc440spe_chan;
3538 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
3539 ppc440spe_adma_slot_cleanup(ppc440spe_chan);
3541 spin_lock_bh(&ppc440spe_chan->lock);
3542 list_for_each_entry_safe(iter, _iter, &ppc440spe_chan->chain,
3548 &ppc440spe_chan->all_slots, slot_node) {
3551 ppc440spe_chan->slots_allocated--;
3553 ppc440spe_chan->last_used = NULL;
3555 dev_dbg(ppc440spe_chan->device->common.dev,
3557 ppc440spe_chan->device->id,
3558 __func__, ppc440spe_chan->slots_allocated);
3559 spin_unlock_bh(&ppc440spe_chan->lock);
3576 struct ppc440spe_adma_chan *ppc440spe_chan;
3579 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
3584 ppc440spe_adma_slot_cleanup(ppc440spe_chan);
3635 struct ppc440spe_adma_chan *ppc440spe_chan;
3637 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
3638 dev_dbg(ppc440spe_chan->device->common.dev,
3639 "ppc440spe adma%d: %s %d \n", ppc440spe_chan->device->id,
3640 __func__, ppc440spe_chan->pending);
3642 if (ppc440spe_chan->pending) {
3643 ppc440spe_chan->pending = 0;
3644 ppc440spe_chan_append(ppc440spe_chan);
4240 struct ppc440spe_adma_chan *ppc440spe_chan;
4249 ppc440spe_chan = to_ppc440spe_adma_chan(chan);
4250 ppc440spe_adma_release_irqs(adev, ppc440spe_chan);
4251 tasklet_kill(&ppc440spe_chan->irq_tasklet);
4253 dma_unmap_page(&ofdev->dev, ppc440spe_chan->pdest,
4255 dma_unmap_page(&ofdev->dev, ppc440spe_chan->qdest,
4257 __free_page(ppc440spe_chan->pdest_page);
4258 __free_page(ppc440spe_chan->qdest_page);
4262 if (ppc440spe_chan ==
4269 kfree(ppc440spe_chan);