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

Commit 6dc6f261 authored by Stefan Wahren's avatar Stefan Wahren Committed by Ulf Hansson
Browse files

mmc: bcm2835: Refactor dma_map_sg handling



There are two variables len within bcm2835_prepare_dma. So rename the
result of dma_map_sg to sg_len. While we are at this add a bail out to
simplify the following change.

Signed-off-by: default avatarStefan Wahren <stefan.wahren@i2se.com>
Acked-by: default avatarEric Anholt <eric@anholt.net>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 37fefade
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -453,7 +453,7 @@ static void bcm2835_transfer_pio(struct bcm2835_host *host)
static
void bcm2835_prepare_dma(struct bcm2835_host *host, struct mmc_data *data)
{
	int len, dir_data, dir_slave;
	int sg_len, dir_data, dir_slave;
	struct dma_async_tx_descriptor *desc = NULL;
	struct dma_chan *dma_chan;

@@ -499,15 +499,13 @@ void bcm2835_prepare_dma(struct bcm2835_host *host, struct mmc_data *data)
				     &host->dma_cfg_rx :
				     &host->dma_cfg_tx);

	len = dma_map_sg(dma_chan->device->dev, data->sg, data->sg_len,
	sg_len = dma_map_sg(dma_chan->device->dev, data->sg, data->sg_len,
			    dir_data);
	if (!sg_len)
		return;

	if (len > 0) {
		desc = dmaengine_prep_slave_sg(dma_chan, data->sg,
					       len, dir_slave,
					       DMA_PREP_INTERRUPT |
					       DMA_CTRL_ACK);
	}
	desc = dmaengine_prep_slave_sg(dma_chan, data->sg, sg_len, dir_slave,
				       DMA_PREP_INTERRUPT | DMA_CTRL_ACK);

	if (desc) {
		desc->callback = bcm2835_dma_complete;