@ -342,7 +342,7 @@ static const struct reg_offset_data bam_v1_7_reg_info[] = {
# define BAM_DESC_FIFO_SIZE SZ_32K
# define MAX_DESCRIPTORS (BAM_DESC_FIFO_SIZE / sizeof(struct bam_desc_hw) - 1)
# define BAM_MAX_DATA _SIZE (SZ_32K - 8)
# define BAM_FIFO _SIZE (SZ_32K - 8)
struct bam_chan {
struct virt_dma_chan vc ;
@ -459,7 +459,7 @@ static void bam_chan_init_hw(struct bam_chan *bchan,
*/
writel_relaxed ( ALIGN ( bchan - > fifo_phys , sizeof ( struct bam_desc_hw ) ) ,
bam_addr ( bdev , bchan - > id , BAM_P_DESC_FIFO_ADDR ) ) ;
writel_relaxed ( BAM_MAX_DATA _SIZE ,
writel_relaxed ( BAM_FIFO _SIZE ,
bam_addr ( bdev , bchan - > id , BAM_P_FIFO_SIZES ) ) ;
/* enable the per pipe interrupts, enable EOT, ERR, and INT irqs */
@ -605,7 +605,7 @@ static struct dma_async_tx_descriptor *bam_prep_slave_sg(struct dma_chan *chan,
/* calculate number of required entries */
for_each_sg ( sgl , sg , sg_len , i )
num_alloc + = DIV_ROUND_UP ( sg_dma_len ( sg ) , BAM_MAX_DATA _SIZE ) ;
num_alloc + = DIV_ROUND_UP ( sg_dma_len ( sg ) , BAM_FIFO _SIZE ) ;
/* allocate enough room to accomodate the number of entries */
async_desc = kzalloc ( sizeof ( * async_desc ) +
@ -636,10 +636,10 @@ static struct dma_async_tx_descriptor *bam_prep_slave_sg(struct dma_chan *chan,
desc - > addr = cpu_to_le32 ( sg_dma_address ( sg ) +
curr_offset ) ;
if ( remainder > BAM_MAX_DATA _SIZE ) {
desc - > size = cpu_to_le16 ( BAM_MAX_DATA _SIZE ) ;
remainder - = BAM_MAX_DATA _SIZE ;
curr_offset + = BAM_MAX_DATA _SIZE ;
if ( remainder > BAM_FIFO _SIZE ) {
desc - > size = cpu_to_le16 ( BAM_FIFO _SIZE ) ;
remainder - = BAM_FIFO _SIZE ;
curr_offset + = BAM_FIFO _SIZE ;
} else {
desc - > size = cpu_to_le16 ( remainder ) ;
remainder = 0 ;
@ -1174,7 +1174,7 @@ static int bam_dma_probe(struct platform_device *pdev)
/* set max dma segment size */
bdev - > common . dev = bdev - > dev ;
bdev - > common . dev - > dma_parms = & bdev - > dma_parms ;
ret = dma_set_max_seg_size ( bdev - > common . dev , BAM_MAX_DATA _SIZE ) ;
ret = dma_set_max_seg_size ( bdev - > common . dev , BAM_FIFO _SIZE ) ;
if ( ret ) {
dev_err ( bdev - > dev , " cannot set maximum segment size \n " ) ;
goto err_bam_channel_exit ;