Searched refs:ppc440spe_chan (Results 1 - 1 of 1) sorted by relevance

/linux-4.1.27/drivers/dma/ppc4xx/
H A Dadma.c1456 * Caller must hold &ppc440spe_chan->lock while calling this function
1783 struct ppc440spe_adma_chan *ppc440spe_chan; ppc440spe_adma_alloc_chan_resources() local
1789 ppc440spe_chan = to_ppc440spe_adma_chan(chan); ppc440spe_adma_alloc_chan_resources()
1790 init = ppc440spe_chan->slots_allocated ? 0 : 1; ppc440spe_adma_alloc_chan_resources()
1791 chan->chan_id = ppc440spe_chan->device->id; ppc440spe_adma_alloc_chan_resources()
1794 i = ppc440spe_chan->slots_allocated; ppc440spe_adma_alloc_chan_resources()
1795 if (ppc440spe_chan->device->id != PPC440SPE_XOR_ID) ppc440spe_adma_alloc_chan_resources()
1800 for (; i < (ppc440spe_chan->device->pool_size / db_sz); i++) { ppc440spe_adma_alloc_chan_resources()
1809 hw_desc = (char *) ppc440spe_chan->device->dma_desc_pool_virt; ppc440spe_adma_alloc_chan_resources()
1816 slot->phys = ppc440spe_chan->device->dma_desc_pool + i * db_sz; ppc440spe_adma_alloc_chan_resources()
1819 spin_lock_bh(&ppc440spe_chan->lock); ppc440spe_adma_alloc_chan_resources()
1820 ppc440spe_chan->slots_allocated++; ppc440spe_adma_alloc_chan_resources()
1821 list_add_tail(&slot->slot_node, &ppc440spe_chan->all_slots); ppc440spe_adma_alloc_chan_resources()
1822 spin_unlock_bh(&ppc440spe_chan->lock); ppc440spe_adma_alloc_chan_resources()
1825 if (i && !ppc440spe_chan->last_used) { ppc440spe_adma_alloc_chan_resources()
1826 ppc440spe_chan->last_used = ppc440spe_adma_alloc_chan_resources()
1827 list_entry(ppc440spe_chan->all_slots.next, ppc440spe_adma_alloc_chan_resources()
1832 dev_dbg(ppc440spe_chan->device->common.dev, ppc440spe_adma_alloc_chan_resources()
1834 ppc440spe_chan->device->id, i); ppc440spe_adma_alloc_chan_resources()
1838 switch (ppc440spe_chan->device->id) { ppc440spe_adma_alloc_chan_resources()
1841 ppc440spe_chan->hw_chain_inited = 0; ppc440spe_adma_alloc_chan_resources()
1844 ppc440spe_r6_tchan = ppc440spe_chan; ppc440spe_adma_alloc_chan_resources()
1847 ppc440spe_chan_start_null_xor(ppc440spe_chan); ppc440spe_adma_alloc_chan_resources()
1852 ppc440spe_chan->needs_unmap = 1; ppc440spe_adma_alloc_chan_resources()
1964 struct ppc440spe_adma_chan *ppc440spe_chan; ppc440spe_adma_prep_dma_interrupt() local
1968 ppc440spe_chan = to_ppc440spe_adma_chan(chan); ppc440spe_adma_prep_dma_interrupt()
1970 dev_dbg(ppc440spe_chan->device->common.dev, ppc440spe_adma_prep_dma_interrupt()
1971 "ppc440spe adma%d: %s\n", ppc440spe_chan->device->id, ppc440spe_adma_prep_dma_interrupt()
1974 spin_lock_bh(&ppc440spe_chan->lock); ppc440spe_adma_prep_dma_interrupt()
1976 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, ppc440spe_adma_prep_dma_interrupt()
1980 ppc440spe_desc_init_interrupt(group_start, ppc440spe_chan); ppc440spe_adma_prep_dma_interrupt()
1984 spin_unlock_bh(&ppc440spe_chan->lock); ppc440spe_adma_prep_dma_interrupt()
1996 struct ppc440spe_adma_chan *ppc440spe_chan; ppc440spe_adma_prep_dma_memcpy() local
2000 ppc440spe_chan = to_ppc440spe_adma_chan(chan); ppc440spe_adma_prep_dma_memcpy()
2007 spin_lock_bh(&ppc440spe_chan->lock); ppc440spe_adma_prep_dma_memcpy()
2009 dev_dbg(ppc440spe_chan->device->common.dev, ppc440spe_adma_prep_dma_memcpy()
2011 ppc440spe_chan->device->id, __func__, len, ppc440spe_adma_prep_dma_memcpy()
2014 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, ppc440spe_adma_prep_dma_memcpy()
2021 ppc440spe_desc_set_byte_count(group_start, ppc440spe_chan, len); ppc440spe_adma_prep_dma_memcpy()
2025 spin_unlock_bh(&ppc440spe_chan->lock); ppc440spe_adma_prep_dma_memcpy()
2038 struct ppc440spe_adma_chan *ppc440spe_chan; ppc440spe_adma_prep_dma_xor() local
2042 ppc440spe_chan = to_ppc440spe_adma_chan(chan); ppc440spe_adma_prep_dma_xor()
2044 ADMA_LL_DBG(prep_dma_xor_dbg(ppc440spe_chan->device->id, ppc440spe_adma_prep_dma_xor()
2050 dev_dbg(ppc440spe_chan->device->common.dev, ppc440spe_adma_prep_dma_xor()
2052 ppc440spe_chan->device->id, __func__, src_cnt, len, ppc440spe_adma_prep_dma_xor()
2055 spin_lock_bh(&ppc440spe_chan->lock); ppc440spe_adma_prep_dma_xor()
2057 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, ppc440spe_adma_prep_dma_xor()
2066 ppc440spe_desc_set_byte_count(group_start, ppc440spe_chan, len); ppc440spe_adma_prep_dma_xor()
2070 spin_unlock_bh(&ppc440spe_chan->lock); ppc440spe_adma_prep_dma_xor()
2101 struct ppc440spe_adma_chan *ppc440spe_chan, ppc440spe_dma01_prep_mult()
2112 spin_lock_bh(&ppc440spe_chan->lock); ppc440spe_dma01_prep_mult()
2115 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1); ppc440spe_dma01_prep_mult()
2145 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len); ppc440spe_dma01_prep_mult()
2171 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len); ppc440spe_dma01_prep_mult()
2176 spin_unlock_bh(&ppc440spe_chan->lock); ppc440spe_dma01_prep_mult()
2187 struct ppc440spe_adma_chan *ppc440spe_chan, ppc440spe_dma01_prep_sum_product()
2198 spin_lock_bh(&ppc440spe_chan->lock); ppc440spe_dma01_prep_sum_product()
2201 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1); ppc440spe_dma01_prep_sum_product()
2226 ppc440spe_chan->qdest, 1); ppc440spe_dma01_prep_sum_product()
2229 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len); ppc440spe_dma01_prep_sum_product()
2250 ppc440spe_chan->qdest); ppc440spe_dma01_prep_sum_product()
2255 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len); ppc440spe_dma01_prep_sum_product()
2280 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, len); ppc440spe_dma01_prep_sum_product()
2285 spin_unlock_bh(&ppc440spe_chan->lock); ppc440spe_dma01_prep_sum_product()
2291 struct ppc440spe_adma_chan *ppc440spe_chan, ppc440spe_dma01_prep_pq()
2394 spin_lock_bh(&ppc440spe_chan->lock); ppc440spe_dma01_prep_pq()
2396 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1); ppc440spe_dma01_prep_pq()
2426 ppc440spe_chan, len); ppc440spe_dma01_prep_pq()
2430 spin_unlock_bh(&ppc440spe_chan->lock); ppc440spe_dma01_prep_pq()
2436 struct ppc440spe_adma_chan *ppc440spe_chan, ppc440spe_dma2_prep_pq()
2449 spin_lock_bh(&ppc440spe_chan->lock); ppc440spe_dma2_prep_pq()
2452 spin_unlock_bh(&ppc440spe_chan->lock); ppc440spe_dma2_prep_pq()
2459 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, 1); ppc440spe_dma2_prep_pq()
2466 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, ppc440spe_dma2_prep_pq()
2516 spin_unlock_bh(&ppc440spe_chan->lock); ppc440spe_dma2_prep_pq()
2529 struct ppc440spe_adma_chan *ppc440spe_chan; ppc440spe_adma_prep_dma_pq() local
2533 ppc440spe_chan = to_ppc440spe_adma_chan(chan); ppc440spe_adma_prep_dma_pq()
2535 ADMA_LL_DBG(prep_dma_pq_dbg(ppc440spe_chan->device->id, ppc440spe_adma_prep_dma_pq()
2547 dest[1] = ppc440spe_chan->qdest; ppc440spe_adma_prep_dma_pq()
2548 sw_desc = ppc440spe_dma01_prep_mult(ppc440spe_chan, ppc440spe_adma_prep_dma_pq()
2554 sw_desc = ppc440spe_dma01_prep_sum_product(ppc440spe_chan, ppc440spe_adma_prep_dma_pq()
2573 dev_dbg(ppc440spe_chan->device->common.dev, ppc440spe_adma_prep_dma_pq()
2575 ppc440spe_chan->device->id, __func__, src_cnt, len, ppc440spe_adma_prep_dma_pq()
2578 switch (ppc440spe_chan->device->id) { ppc440spe_adma_prep_dma_pq()
2581 sw_desc = ppc440spe_dma01_prep_pq(ppc440spe_chan, ppc440spe_adma_prep_dma_pq()
2587 sw_desc = ppc440spe_dma2_prep_pq(ppc440spe_chan, ppc440spe_adma_prep_dma_pq()
2605 struct ppc440spe_adma_chan *ppc440spe_chan; ppc440spe_adma_prep_dma_pqzero_sum() local
2610 ppc440spe_chan = to_ppc440spe_adma_chan(chan); ppc440spe_adma_prep_dma_pqzero_sum()
2622 ADMA_LL_DBG(prep_dma_pqzero_sum_dbg(ppc440spe_chan->device->id, ppc440spe_adma_prep_dma_pqzero_sum()
2636 spin_lock_bh(&ppc440spe_chan->lock); ppc440spe_adma_prep_dma_pqzero_sum()
2637 sw_desc = ppc440spe_adma_alloc_slots(ppc440spe_chan, slot_cnt, ppc440spe_adma_prep_dma_pqzero_sum()
2645 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, ppc440spe_adma_prep_dma_pqzero_sum()
2665 ppc440spe_chan->pdest, 0); ppc440spe_adma_prep_dma_pqzero_sum()
2667 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, ppc440spe_adma_prep_dma_pqzero_sum()
2671 pdest = ppc440spe_chan->pdest; ppc440spe_adma_prep_dma_pqzero_sum()
2697 ppc440spe_chan->qdest, 0); ppc440spe_adma_prep_dma_pqzero_sum()
2699 ppc440spe_desc_set_byte_count(iter, ppc440spe_chan, ppc440spe_adma_prep_dma_pqzero_sum()
2703 qdest = ppc440spe_chan->qdest; ppc440spe_adma_prep_dma_pqzero_sum()
2742 ppc440spe_desc_set_dcheck(iter, ppc440spe_chan, ppc440spe_adma_prep_dma_pqzero_sum()
2771 spin_unlock_bh(&ppc440spe_chan->lock); ppc440spe_adma_prep_dma_pqzero_sum()
3552 struct ppc440spe_adma_chan *ppc440spe_chan; ppc440spe_adma_free_chan_resources() local
3556 ppc440spe_chan = to_ppc440spe_adma_chan(chan); ppc440spe_adma_free_chan_resources()
3557 ppc440spe_adma_slot_cleanup(ppc440spe_chan); ppc440spe_adma_free_chan_resources()
3559 spin_lock_bh(&ppc440spe_chan->lock); ppc440spe_adma_free_chan_resources()
3560 list_for_each_entry_safe(iter, _iter, &ppc440spe_chan->chain, ppc440spe_adma_free_chan_resources()
3566 &ppc440spe_chan->all_slots, slot_node) { ppc440spe_adma_free_chan_resources()
3569 ppc440spe_chan->slots_allocated--; ppc440spe_adma_free_chan_resources()
3571 ppc440spe_chan->last_used = NULL; ppc440spe_adma_free_chan_resources()
3573 dev_dbg(ppc440spe_chan->device->common.dev, ppc440spe_adma_free_chan_resources()
3575 ppc440spe_chan->device->id, ppc440spe_adma_free_chan_resources()
3576 __func__, ppc440spe_chan->slots_allocated); ppc440spe_adma_free_chan_resources()
3577 spin_unlock_bh(&ppc440spe_chan->lock); ppc440spe_adma_free_chan_resources()
3594 struct ppc440spe_adma_chan *ppc440spe_chan; ppc440spe_adma_tx_status() local
3597 ppc440spe_chan = to_ppc440spe_adma_chan(chan); ppc440spe_adma_tx_status()
3602 ppc440spe_adma_slot_cleanup(ppc440spe_chan); ppc440spe_adma_tx_status()
3653 struct ppc440spe_adma_chan *ppc440spe_chan; ppc440spe_adma_issue_pending() local
3655 ppc440spe_chan = to_ppc440spe_adma_chan(chan); ppc440spe_adma_issue_pending()
3656 dev_dbg(ppc440spe_chan->device->common.dev, ppc440spe_adma_issue_pending()
3657 "ppc440spe adma%d: %s %d \n", ppc440spe_chan->device->id, ppc440spe_adma_issue_pending()
3658 __func__, ppc440spe_chan->pending); ppc440spe_adma_issue_pending()
3660 if (ppc440spe_chan->pending) { ppc440spe_adma_issue_pending()
3661 ppc440spe_chan->pending = 0; ppc440spe_adma_issue_pending()
3662 ppc440spe_chan_append(ppc440spe_chan); ppc440spe_adma_issue_pending()
4261 struct ppc440spe_adma_chan *ppc440spe_chan; ppc440spe_adma_remove() local
4270 ppc440spe_chan = to_ppc440spe_adma_chan(chan); ppc440spe_adma_remove()
4271 ppc440spe_adma_release_irqs(adev, ppc440spe_chan); ppc440spe_adma_remove()
4272 tasklet_kill(&ppc440spe_chan->irq_tasklet); ppc440spe_adma_remove()
4274 dma_unmap_page(&ofdev->dev, ppc440spe_chan->pdest, ppc440spe_adma_remove()
4276 dma_unmap_page(&ofdev->dev, ppc440spe_chan->qdest, ppc440spe_adma_remove()
4278 __free_page(ppc440spe_chan->pdest_page); ppc440spe_adma_remove()
4279 __free_page(ppc440spe_chan->qdest_page); ppc440spe_adma_remove()
4283 if (ppc440spe_chan == ppc440spe_adma_remove()
4290 kfree(ppc440spe_chan); ppc440spe_adma_remove()
2100 ppc440spe_dma01_prep_mult( struct ppc440spe_adma_chan *ppc440spe_chan, dma_addr_t *dst, int dst_cnt, dma_addr_t *src, int src_cnt, const unsigned char *scf, size_t len, unsigned long flags) ppc440spe_dma01_prep_mult() argument
2186 ppc440spe_dma01_prep_sum_product( struct ppc440spe_adma_chan *ppc440spe_chan, dma_addr_t *dst, dma_addr_t *src, int src_cnt, const unsigned char *scf, size_t len, unsigned long flags) ppc440spe_dma01_prep_sum_product() argument
2290 ppc440spe_dma01_prep_pq( struct ppc440spe_adma_chan *ppc440spe_chan, dma_addr_t *dst, int dst_cnt, dma_addr_t *src, int src_cnt, const unsigned char *scf, size_t len, unsigned long flags) ppc440spe_dma01_prep_pq() argument
2435 ppc440spe_dma2_prep_pq( struct ppc440spe_adma_chan *ppc440spe_chan, dma_addr_t *dst, int dst_cnt, dma_addr_t *src, int src_cnt, const unsigned char *scf, size_t len, unsigned long flags) ppc440spe_dma2_prep_pq() argument

Completed in 163 milliseconds