Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bca34692 authored by Dan Williams's avatar Dan Williams
Browse files

dmaengine: provide helper for setting txstate



Simple conditional struct filler to cut out some duplicated code.

Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 07934481
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -834,12 +834,7 @@ atc_tx_status(struct dma_chan *chan,

	spin_unlock_bh(&atchan->lock);

	if (txstate) {
		txstate->last = last_complete;
		txstate->used = last_used;
		txstate->residue = 0;
	}

	dma_set_tx_state(txstate, last_complete, last_used, 0);
	dev_vdbg(chan2dev(chan), "tx_status: %d (d%d, u%d)\n",
		 cookie, last_complete ? last_complete : 0,
		 last_used ? last_used : 0);
+2 −6
Original line number Diff line number Diff line
@@ -1147,12 +1147,8 @@ coh901318_tx_status(struct dma_chan *chan, dma_cookie_t cookie,

	ret = dma_async_is_complete(cookie, last_complete, last_used);

	if (txstate) {
		txstate->last = last_complete;
		txstate->used = last_used;
		txstate->residue = coh901318_get_bytes_left(chan);
	}

	dma_set_tx_state(txstate, last_complete, last_used,
			 coh901318_get_bytes_left(chan));
	if (ret == DMA_IN_PROGRESS && cohc->stopped)
		ret = DMA_PAUSED;

+1 −5
Original line number Diff line number Diff line
@@ -841,11 +841,7 @@ dwc_tx_status(struct dma_chan *chan,
		ret = dma_async_is_complete(cookie, last_complete, last_used);
	}

	if (txstate) {
		txstate->last = last_complete;
		txstate->used = last_used;
		txstate->residue = 0;
	}
	dma_set_tx_state(txstate, last_complete, last_used, 0);

	return ret;
}
+1 −5
Original line number Diff line number Diff line
@@ -987,11 +987,7 @@ static enum dma_status fsl_tx_status(struct dma_chan *dchan,
	last_used = dchan->cookie;
	last_complete = chan->completed_cookie;

	if (txstate) {
		txstate->last = last_complete;
		txstate->used = last_used;
		txstate->residue = 0;
	}
	dma_set_tx_state(txstate, last_complete, last_used, 0);

	return dma_async_is_complete(cookie, last_complete, last_used);
}
+1 −5
Original line number Diff line number Diff line
@@ -158,11 +158,7 @@ ioat_tx_status(struct dma_chan *c, dma_cookie_t cookie,
	last_used = c->cookie;
	last_complete = chan->completed_cookie;

	if (txstate) {
		txstate->last = last_complete;
		txstate->used = last_used;
		txstate->residue = 0;
	}
	dma_set_tx_state(txstate, last_complete, last_used, 0);

	return dma_async_is_complete(cookie, last_complete, last_used);
}
Loading