mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-18 00:24:58 +08:00
dmaengine: cppi41: Prepare to add PM runtime support
Let's just move code from cppi41_dma_issue_pending() to push_desc_queue() as that's the only call to push_desc_queue(). We want to do this for PM runtime as we need to call push_desc_queue() also for pending queued transfers from PM runtime resume. No functional changes, just moves code around. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
29b4817d40
commit
670fc2a870
@ -386,21 +386,6 @@ static void push_desc_queue(struct cppi41_channel *c)
|
||||
u32 desc_phys;
|
||||
u32 reg;
|
||||
|
||||
desc_phys = lower_32_bits(c->desc_phys);
|
||||
desc_num = (desc_phys - cdd->descs_phys) / sizeof(struct cppi41_desc);
|
||||
WARN_ON(cdd->chan_busy[desc_num]);
|
||||
cdd->chan_busy[desc_num] = c;
|
||||
|
||||
reg = (sizeof(struct cppi41_desc) - 24) / 4;
|
||||
reg |= desc_phys;
|
||||
cppi_writel(reg, cdd->qmgr_mem + QMGR_QUEUE_D(c->q_num));
|
||||
}
|
||||
|
||||
static void cppi41_dma_issue_pending(struct dma_chan *chan)
|
||||
{
|
||||
struct cppi41_channel *c = to_cpp41_chan(chan);
|
||||
u32 reg;
|
||||
|
||||
c->residue = 0;
|
||||
|
||||
reg = GCR_CHAN_ENABLE;
|
||||
@ -418,6 +403,21 @@ static void cppi41_dma_issue_pending(struct dma_chan *chan)
|
||||
* before starting the dma engine.
|
||||
*/
|
||||
__iowmb();
|
||||
|
||||
desc_phys = lower_32_bits(c->desc_phys);
|
||||
desc_num = (desc_phys - cdd->descs_phys) / sizeof(struct cppi41_desc);
|
||||
WARN_ON(cdd->chan_busy[desc_num]);
|
||||
cdd->chan_busy[desc_num] = c;
|
||||
|
||||
reg = (sizeof(struct cppi41_desc) - 24) / 4;
|
||||
reg |= desc_phys;
|
||||
cppi_writel(reg, cdd->qmgr_mem + QMGR_QUEUE_D(c->q_num));
|
||||
}
|
||||
|
||||
static void cppi41_dma_issue_pending(struct dma_chan *chan)
|
||||
{
|
||||
struct cppi41_channel *c = to_cpp41_chan(chan);
|
||||
|
||||
push_desc_queue(c);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user