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:
Daniel Mack 2013-10-22 12:14:04 +02:00 committed by Vinod Koul
parent f8964968ab
commit 706ff628f0

View file

@ -266,6 +266,15 @@ static u32 pd_trans_len(u32 val)
return val & ((1 << (DESC_LENGTH_BITS_NUM + 1)) - 1); 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) static irqreturn_t cppi41_irq(int irq, void *data)
{ {
struct cppi41_dd *cdd = data; struct cppi41_dd *cdd = data;
@ -303,8 +312,7 @@ static irqreturn_t cppi41_irq(int irq, void *data)
q_num = __fls(val); q_num = __fls(val);
val &= ~(1 << q_num); val &= ~(1 << q_num);
q_num += 32 * i; q_num += 32 * i;
desc = cppi_readl(cdd->qmgr_mem + QMGR_QUEUE_D(q_num)); desc = cppi41_pop_desc(cdd, q_num);
desc &= ~0x1f;
c = desc_to_chan(cdd, desc); c = desc_to_chan(cdd, desc);
if (WARN_ON(!c)) { if (WARN_ON(!c)) {
pr_err("%s() q %d desc %08x\n", __func__, 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; 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) static int cppi41_tear_down_chan(struct cppi41_channel *c)
{ {
struct cppi41_dd *cdd = c->cdd; 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); WARN_ON(!c->td_retry);
if (!c->td_desc_seen) { 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); WARN_ON(!desc_phys);
} }