dmaengine: core: expose max burst capability to clients
This patch add max_burst to dma_get_slave_caps for clients to get the burst capability of slave dma controller. Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> Signed-off-by: Caesar Wang <wxt@rock-chips.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
@@ -496,6 +496,7 @@ int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps)
|
|||||||
caps->src_addr_widths = device->src_addr_widths;
|
caps->src_addr_widths = device->src_addr_widths;
|
||||||
caps->dst_addr_widths = device->dst_addr_widths;
|
caps->dst_addr_widths = device->dst_addr_widths;
|
||||||
caps->directions = device->directions;
|
caps->directions = device->directions;
|
||||||
|
caps->max_burst = device->max_burst;
|
||||||
caps->residue_granularity = device->residue_granularity;
|
caps->residue_granularity = device->residue_granularity;
|
||||||
caps->descriptor_reuse = device->descriptor_reuse;
|
caps->descriptor_reuse = device->descriptor_reuse;
|
||||||
|
|
||||||
|
@@ -401,6 +401,7 @@ enum dma_residue_granularity {
|
|||||||
* since the enum dma_transfer_direction is not defined as bits for each
|
* since the enum dma_transfer_direction is not defined as bits for each
|
||||||
* type of direction, the dma controller should fill (1 << <TYPE>) and same
|
* type of direction, the dma controller should fill (1 << <TYPE>) and same
|
||||||
* should be checked by controller as well
|
* should be checked by controller as well
|
||||||
|
* @max_burst: max burst capability per-transfer
|
||||||
* @cmd_pause: true, if pause and thereby resume is supported
|
* @cmd_pause: true, if pause and thereby resume is supported
|
||||||
* @cmd_terminate: true, if terminate cmd is supported
|
* @cmd_terminate: true, if terminate cmd is supported
|
||||||
* @residue_granularity: granularity of the reported transfer residue
|
* @residue_granularity: granularity of the reported transfer residue
|
||||||
@@ -411,6 +412,7 @@ struct dma_slave_caps {
|
|||||||
u32 src_addr_widths;
|
u32 src_addr_widths;
|
||||||
u32 dst_addr_widths;
|
u32 dst_addr_widths;
|
||||||
u32 directions;
|
u32 directions;
|
||||||
|
u32 max_burst;
|
||||||
bool cmd_pause;
|
bool cmd_pause;
|
||||||
bool cmd_terminate;
|
bool cmd_terminate;
|
||||||
enum dma_residue_granularity residue_granularity;
|
enum dma_residue_granularity residue_granularity;
|
||||||
@@ -654,6 +656,7 @@ struct dma_filter {
|
|||||||
* the enum dma_transfer_direction is not defined as bits for
|
* the enum dma_transfer_direction is not defined as bits for
|
||||||
* each type of direction, the dma controller should fill (1 <<
|
* each type of direction, the dma controller should fill (1 <<
|
||||||
* <TYPE>) and same should be checked by controller as well
|
* <TYPE>) and same should be checked by controller as well
|
||||||
|
* @max_burst: max burst capability per-transfer
|
||||||
* @residue_granularity: granularity of the transfer residue reported
|
* @residue_granularity: granularity of the transfer residue reported
|
||||||
* by tx_status
|
* by tx_status
|
||||||
* @device_alloc_chan_resources: allocate resources and return the
|
* @device_alloc_chan_resources: allocate resources and return the
|
||||||
@@ -712,6 +715,7 @@ struct dma_device {
|
|||||||
u32 src_addr_widths;
|
u32 src_addr_widths;
|
||||||
u32 dst_addr_widths;
|
u32 dst_addr_widths;
|
||||||
u32 directions;
|
u32 directions;
|
||||||
|
u32 max_burst;
|
||||||
bool descriptor_reuse;
|
bool descriptor_reuse;
|
||||||
enum dma_residue_granularity residue_granularity;
|
enum dma_residue_granularity residue_granularity;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user