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

Commit d7244e9a authored by Russell King - ARM Linux's avatar Russell King - ARM Linux Committed by Dan Williams
Browse files

ARM: PL08x: shrink srcbus/dstbus in txd structure



We only need to store the dma address.

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
Acked-by: default avatarLinus Walleij <linus.walleij@stericsson.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 542361f8
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -595,8 +595,8 @@ static int pl08x_fill_llis_for_desc(struct pl08x_driver_data *pl08x,

	bd.txd = txd;
	bd.pl08x = pl08x;
	bd.srcbus.addr = txd->srcbus.addr;
	bd.dstbus.addr = txd->dstbus.addr;
	bd.srcbus.addr = txd->src_addr;
	bd.dstbus.addr = txd->dst_addr;

	/* Find maximum width of the source bus */
	bd.srcbus.maxwidth =
@@ -1313,8 +1313,8 @@ static struct dma_async_tx_descriptor *pl08x_prep_dma_memcpy(
	}

	txd->direction = DMA_NONE;
	txd->srcbus.addr = src;
	txd->dstbus.addr = dest;
	txd->src_addr = src;
	txd->dst_addr = dest;
	txd->len = len;

	/* Set platform data for m2m */
@@ -1393,21 +1393,21 @@ static struct dma_async_tx_descriptor *pl08x_prep_slave_sg(
	if (direction == DMA_TO_DEVICE) {
		txd->ccfg |= PL080_FLOW_MEM2PER << PL080_CONFIG_FLOW_CONTROL_SHIFT;
		txd->cctl |= PL080_CONTROL_SRC_INCR;
		txd->srcbus.addr = sgl->dma_address;
		txd->src_addr = sgl->dma_address;
		if (plchan->runtime_addr)
			txd->dstbus.addr = plchan->runtime_addr;
			txd->dst_addr = plchan->runtime_addr;
		else
			txd->dstbus.addr = plchan->cd->addr;
			txd->dst_addr = plchan->cd->addr;
		src_buses = pl08x->mem_buses;
		dst_buses = plchan->cd->periph_buses;
	} else if (direction == DMA_FROM_DEVICE) {
		txd->ccfg |= PL080_FLOW_PER2MEM << PL080_CONFIG_FLOW_CONTROL_SHIFT;
		txd->cctl |= PL080_CONTROL_DST_INCR;
		if (plchan->runtime_addr)
			txd->srcbus.addr = plchan->runtime_addr;
			txd->src_addr = plchan->runtime_addr;
		else
			txd->srcbus.addr = plchan->cd->addr;
		txd->dstbus.addr = sgl->dma_address;
			txd->src_addr = plchan->cd->addr;
		txd->dst_addr = sgl->dma_address;
		src_buses = plchan->cd->periph_buses;
		dst_buses = pl08x->mem_buses;
	} else {
+2 −2
Original line number Diff line number Diff line
@@ -114,8 +114,8 @@ struct pl08x_txd {
	struct dma_async_tx_descriptor tx;
	struct list_head node;
	enum dma_data_direction	direction;
	struct pl08x_bus_data srcbus;
	struct pl08x_bus_data dstbus;
	dma_addr_t src_addr;
	dma_addr_t dst_addr;
	size_t len;
	dma_addr_t llis_bus;
	void *llis_va;