mirror of
https://github.com/torvalds/linux.git
synced 2024-11-12 07:01:57 +00:00
dma: cppi41: use cppi41_pop_desc() where possible
Use cppi41_pop_desc() when appropriate instead of open-coding the same functionality again. That makes the code more readable. The function has to be moved some lines up for this change. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
f8964968ab
commit
706ff628f0
@ -266,6 +266,15 @@ static u32 pd_trans_len(u32 val)
|
||||
return val & ((1 << (DESC_LENGTH_BITS_NUM + 1)) - 1);
|
||||
}
|
||||
|
||||
static u32 cppi41_pop_desc(struct cppi41_dd *cdd, unsigned queue_num)
|
||||
{
|
||||
u32 desc;
|
||||
|
||||
desc = cppi_readl(cdd->qmgr_mem + QMGR_QUEUE_D(queue_num));
|
||||
desc &= ~0x1f;
|
||||
return desc;
|
||||
}
|
||||
|
||||
static irqreturn_t cppi41_irq(int irq, void *data)
|
||||
{
|
||||
struct cppi41_dd *cdd = data;
|
||||
@ -303,8 +312,7 @@ static irqreturn_t cppi41_irq(int irq, void *data)
|
||||
q_num = __fls(val);
|
||||
val &= ~(1 << q_num);
|
||||
q_num += 32 * i;
|
||||
desc = cppi_readl(cdd->qmgr_mem + QMGR_QUEUE_D(q_num));
|
||||
desc &= ~0x1f;
|
||||
desc = cppi41_pop_desc(cdd, q_num);
|
||||
c = desc_to_chan(cdd, desc);
|
||||
if (WARN_ON(!c)) {
|
||||
pr_err("%s() q %d desc %08x\n", __func__,
|
||||
@ -520,15 +528,6 @@ static void cppi41_compute_td_desc(struct cppi41_desc *d)
|
||||
d->pd0 = DESC_TYPE_TEARD << DESC_TYPE;
|
||||
}
|
||||
|
||||
static u32 cppi41_pop_desc(struct cppi41_dd *cdd, unsigned queue_num)
|
||||
{
|
||||
u32 desc;
|
||||
|
||||
desc = cppi_readl(cdd->qmgr_mem + QMGR_QUEUE_D(queue_num));
|
||||
desc &= ~0x1f;
|
||||
return desc;
|
||||
}
|
||||
|
||||
static int cppi41_tear_down_chan(struct cppi41_channel *c)
|
||||
{
|
||||
struct cppi41_dd *cdd = c->cdd;
|
||||
@ -612,7 +611,7 @@ static int cppi41_tear_down_chan(struct cppi41_channel *c)
|
||||
|
||||
WARN_ON(!c->td_retry);
|
||||
if (!c->td_desc_seen) {
|
||||
desc_phys = cppi_readl(cdd->qmgr_mem + QMGR_QUEUE_D(c->q_num));
|
||||
desc_phys = cppi41_pop_desc(cdd, c->q_num);
|
||||
WARN_ON(!desc_phys);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user