| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0 */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Texas Instruments CPDMA Driver |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (C) 2010 Texas Instruments |
|---|
| 5 | 6 | * |
|---|
| 6 | | - * This program is free software; you can redistribute it and/or |
|---|
| 7 | | - * modify it under the terms of the GNU General Public License as |
|---|
| 8 | | - * published by the Free Software Foundation version 2. |
|---|
| 9 | | - * |
|---|
| 10 | | - * This program is distributed "as is" WITHOUT ANY WARRANTY of any |
|---|
| 11 | | - * kind, whether express or implied; without even the implied warranty |
|---|
| 12 | | - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 13 | | - * GNU General Public License for more details. |
|---|
| 14 | 7 | */ |
|---|
| 15 | 8 | #ifndef __DAVINCI_CPDMA_H__ |
|---|
| 16 | 9 | #define __DAVINCI_CPDMA_H__ |
|---|
| .. | .. |
|---|
| 34 | 27 | int num_chan; |
|---|
| 35 | 28 | bool has_soft_reset; |
|---|
| 36 | 29 | int min_packet_size; |
|---|
| 37 | | - u32 desc_mem_phys; |
|---|
| 38 | | - u32 desc_hw_addr; |
|---|
| 30 | + dma_addr_t desc_mem_phys; |
|---|
| 31 | + dma_addr_t desc_hw_addr; |
|---|
| 39 | 32 | int desc_mem_size; |
|---|
| 40 | 33 | int desc_align; |
|---|
| 41 | 34 | u32 bus_freq_mhz; |
|---|
| .. | .. |
|---|
| 84 | 77 | |
|---|
| 85 | 78 | int cpdma_chan_get_stats(struct cpdma_chan *chan, |
|---|
| 86 | 79 | struct cpdma_chan_stats *stats); |
|---|
| 80 | +int cpdma_chan_submit_mapped(struct cpdma_chan *chan, void *token, |
|---|
| 81 | + dma_addr_t data, int len, int directed); |
|---|
| 87 | 82 | int cpdma_chan_submit(struct cpdma_chan *chan, void *token, void *data, |
|---|
| 88 | 83 | int len, int directed); |
|---|
| 84 | +int cpdma_chan_idle_submit_mapped(struct cpdma_chan *chan, void *token, |
|---|
| 85 | + dma_addr_t data, int len, int directed); |
|---|
| 86 | +int cpdma_chan_idle_submit(struct cpdma_chan *chan, void *token, void *data, |
|---|
| 87 | + int len, int directed); |
|---|
| 89 | 88 | int cpdma_chan_process(struct cpdma_chan *chan, int quota); |
|---|
| 90 | 89 | |
|---|
| 91 | 90 | int cpdma_ctlr_int_ctrl(struct cpdma_ctlr *ctlr, bool enable); |
|---|
| .. | .. |
|---|
| 117 | 116 | int cpdma_control_get(struct cpdma_ctlr *ctlr, int control); |
|---|
| 118 | 117 | int cpdma_control_set(struct cpdma_ctlr *ctlr, int control, int value); |
|---|
| 119 | 118 | int cpdma_get_num_rx_descs(struct cpdma_ctlr *ctlr); |
|---|
| 120 | | -void cpdma_set_num_rx_descs(struct cpdma_ctlr *ctlr, int num_rx_desc); |
|---|
| 119 | +int cpdma_set_num_rx_descs(struct cpdma_ctlr *ctlr, int num_rx_desc); |
|---|
| 121 | 120 | int cpdma_get_num_tx_descs(struct cpdma_ctlr *ctlr); |
|---|
| 122 | | -int cpdma_chan_split_pool(struct cpdma_ctlr *ctlr); |
|---|
| 123 | 121 | |
|---|
| 124 | 122 | #endif |
|---|