Skip to content

Commit

Permalink
Merge branch 'topic/ste' into for-linus
Browse files Browse the repository at this point in the history
  • Loading branch information
vinodkoul committed Aug 17, 2018
2 parents 89b7e78 + 90ec93c commit de764fd
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 8 deletions.
15 changes: 13 additions & 2 deletions drivers/dma/ste_dma40.c
Original file line number Diff line number Diff line change
Expand Up @@ -555,6 +555,7 @@ struct d40_gen_dmac {
* @reg_val_backup_v4: Backup of registers that only exits on dma40 v3 and
* later
* @reg_val_backup_chan: Backup data for standard channel parameter registers.
* @regs_interrupt: Scratch space for registers during interrupt.
* @gcc_pwr_off_mask: Mask to maintain the channels that can be turned off.
* @gen_dmac: the struct for generic registers values to represent u8500/8540
* DMA controller
Expand Down Expand Up @@ -592,6 +593,7 @@ struct d40_base {
u32 reg_val_backup[BACKUP_REGS_SZ];
u32 reg_val_backup_v4[BACKUP_REGS_SZ_MAX];
u32 *reg_val_backup_chan;
u32 *regs_interrupt;
u16 gcc_pwr_off_mask;
struct d40_gen_dmac gen_dmac;
};
Expand Down Expand Up @@ -1637,7 +1639,7 @@ static irqreturn_t d40_handle_interrupt(int irq, void *data)
struct d40_chan *d40c;
unsigned long flags;
struct d40_base *base = data;
u32 regs[base->gen_dmac.il_size];
u32 *regs = base->regs_interrupt;
struct d40_interrupt_lookup *il = base->gen_dmac.il;
u32 il_size = base->gen_dmac.il_size;

Expand Down Expand Up @@ -3258,13 +3260,22 @@ static struct d40_base * __init d40_hw_detect_init(struct platform_device *pdev)
if (!base->lcla_pool.alloc_map)
goto free_backup_chan;

base->regs_interrupt = kmalloc_array(base->gen_dmac.il_size,
sizeof(*base->regs_interrupt),
GFP_KERNEL);
if (!base->regs_interrupt)
goto free_map;

base->desc_slab = kmem_cache_create(D40_NAME, sizeof(struct d40_desc),
0, SLAB_HWCACHE_ALIGN,
NULL);
if (base->desc_slab == NULL)
goto free_map;
goto free_regs;


return base;
free_regs:
kfree(base->regs_interrupt);
free_map:
kfree(base->lcla_pool.alloc_map);
free_backup_chan:
Expand Down
4 changes: 2 additions & 2 deletions drivers/dma/stm32-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -594,7 +594,7 @@ static void stm32_dma_start_transfer(struct stm32_dma_chan *chan)

chan->busy = true;

dev_dbg(chan2dev(chan), "vchan %p: started\n", &chan->vchan);
dev_dbg(chan2dev(chan), "vchan %pK: started\n", &chan->vchan);
}

static void stm32_dma_configure_next_sg(struct stm32_dma_chan *chan)
Expand Down Expand Up @@ -693,7 +693,7 @@ static void stm32_dma_issue_pending(struct dma_chan *c)

spin_lock_irqsave(&chan->vchan.lock, flags);
if (vchan_issue_pending(&chan->vchan) && !chan->desc && !chan->busy) {
dev_dbg(chan2dev(chan), "vchan %p: issued\n", &chan->vchan);
dev_dbg(chan2dev(chan), "vchan %pK: issued\n", &chan->vchan);
stm32_dma_start_transfer(chan);

}
Expand Down
8 changes: 4 additions & 4 deletions drivers/dma/stm32-mdma.c
Original file line number Diff line number Diff line change
Expand Up @@ -1170,7 +1170,7 @@ static void stm32_mdma_start_transfer(struct stm32_mdma_chan *chan)

chan->busy = true;

dev_dbg(chan2dev(chan), "vchan %p: started\n", &chan->vchan);
dev_dbg(chan2dev(chan), "vchan %pK: started\n", &chan->vchan);
}

static void stm32_mdma_issue_pending(struct dma_chan *c)
Expand All @@ -1183,7 +1183,7 @@ static void stm32_mdma_issue_pending(struct dma_chan *c)
if (!vchan_issue_pending(&chan->vchan))
goto end;

dev_dbg(chan2dev(chan), "vchan %p: issued\n", &chan->vchan);
dev_dbg(chan2dev(chan), "vchan %pK: issued\n", &chan->vchan);

if (!chan->desc && !chan->busy)
stm32_mdma_start_transfer(chan);
Expand All @@ -1203,7 +1203,7 @@ static int stm32_mdma_pause(struct dma_chan *c)
spin_unlock_irqrestore(&chan->vchan.lock, flags);

if (!ret)
dev_dbg(chan2dev(chan), "vchan %p: pause\n", &chan->vchan);
dev_dbg(chan2dev(chan), "vchan %pK: pause\n", &chan->vchan);

return ret;
}
Expand Down Expand Up @@ -1240,7 +1240,7 @@ static int stm32_mdma_resume(struct dma_chan *c)

spin_unlock_irqrestore(&chan->vchan.lock, flags);

dev_dbg(chan2dev(chan), "vchan %p: resume\n", &chan->vchan);
dev_dbg(chan2dev(chan), "vchan %pK: resume\n", &chan->vchan);

return 0;
}
Expand Down

0 comments on commit de764fd

Please sign in to comment.