提交 f38f94c6 编写于 作者: L Linus Walleij 提交者: Chris Ball

mmc: sh_mmcif: rename and retype activity variable

The host_sglen is now actually used to keep track of whether DMA
is active or not, so rename and retype it to bool.
Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: NChris Ball <cjb@laptop.org>
上级 9dc3fb5e
...@@ -169,7 +169,7 @@ struct sh_mmcif_host { ...@@ -169,7 +169,7 @@ struct sh_mmcif_host {
struct dma_chan *chan_rx; struct dma_chan *chan_rx;
struct dma_chan *chan_tx; struct dma_chan *chan_tx;
struct completion dma_complete; struct completion dma_complete;
unsigned int dma_sglen; bool dma_active;
}; };
static inline void sh_mmcif_bitset(struct sh_mmcif_host *host, static inline void sh_mmcif_bitset(struct sh_mmcif_host *host,
...@@ -216,7 +216,7 @@ static void sh_mmcif_start_dma_rx(struct sh_mmcif_host *host) ...@@ -216,7 +216,7 @@ static void sh_mmcif_start_dma_rx(struct sh_mmcif_host *host)
ret = dma_map_sg(chan->device->dev, sg, host->data->sg_len, ret = dma_map_sg(chan->device->dev, sg, host->data->sg_len,
DMA_FROM_DEVICE); DMA_FROM_DEVICE);
if (ret > 0) { if (ret > 0) {
host->dma_sglen = ret; host->dma_active = true;
desc = chan->device->device_prep_slave_sg(chan, sg, ret, desc = chan->device->device_prep_slave_sg(chan, sg, ret,
DMA_FROM_DEVICE, DMA_PREP_INTERRUPT | DMA_CTRL_ACK); DMA_FROM_DEVICE, DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
} }
...@@ -241,7 +241,7 @@ static void sh_mmcif_start_dma_rx(struct sh_mmcif_host *host) ...@@ -241,7 +241,7 @@ static void sh_mmcif_start_dma_rx(struct sh_mmcif_host *host)
if (ret >= 0) if (ret >= 0)
ret = -EIO; ret = -EIO;
host->chan_rx = NULL; host->chan_rx = NULL;
host->dma_sglen = 0; host->dma_active = false;
dma_release_channel(chan); dma_release_channel(chan);
/* Free the Tx channel too */ /* Free the Tx channel too */
chan = host->chan_tx; chan = host->chan_tx;
...@@ -269,7 +269,7 @@ static void sh_mmcif_start_dma_tx(struct sh_mmcif_host *host) ...@@ -269,7 +269,7 @@ static void sh_mmcif_start_dma_tx(struct sh_mmcif_host *host)
ret = dma_map_sg(chan->device->dev, sg, host->data->sg_len, ret = dma_map_sg(chan->device->dev, sg, host->data->sg_len,
DMA_TO_DEVICE); DMA_TO_DEVICE);
if (ret > 0) { if (ret > 0) {
host->dma_sglen = ret; host->dma_active = true;
desc = chan->device->device_prep_slave_sg(chan, sg, ret, desc = chan->device->device_prep_slave_sg(chan, sg, ret,
DMA_TO_DEVICE, DMA_PREP_INTERRUPT | DMA_CTRL_ACK); DMA_TO_DEVICE, DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
} }
...@@ -294,7 +294,7 @@ static void sh_mmcif_start_dma_tx(struct sh_mmcif_host *host) ...@@ -294,7 +294,7 @@ static void sh_mmcif_start_dma_tx(struct sh_mmcif_host *host)
if (ret >= 0) if (ret >= 0)
ret = -EIO; ret = -EIO;
host->chan_tx = NULL; host->chan_tx = NULL;
host->dma_sglen = 0; host->dma_active = false;
dma_release_channel(chan); dma_release_channel(chan);
/* Free the Rx channel too */ /* Free the Rx channel too */
chan = host->chan_rx; chan = host->chan_rx;
...@@ -321,7 +321,7 @@ static bool sh_mmcif_filter(struct dma_chan *chan, void *arg) ...@@ -321,7 +321,7 @@ static bool sh_mmcif_filter(struct dma_chan *chan, void *arg)
static void sh_mmcif_request_dma(struct sh_mmcif_host *host, static void sh_mmcif_request_dma(struct sh_mmcif_host *host,
struct sh_mmcif_plat_data *pdata) struct sh_mmcif_plat_data *pdata)
{ {
host->dma_sglen = 0; host->dma_active = false;
/* We can only either use DMA for both Tx and Rx or not use it at all */ /* We can only either use DMA for both Tx and Rx or not use it at all */
if (pdata->dma) { if (pdata->dma) {
...@@ -368,7 +368,7 @@ static void sh_mmcif_release_dma(struct sh_mmcif_host *host) ...@@ -368,7 +368,7 @@ static void sh_mmcif_release_dma(struct sh_mmcif_host *host)
dma_release_channel(chan); dma_release_channel(chan);
} }
host->dma_sglen = 0; host->dma_active = false;
} }
static void sh_mmcif_clock_control(struct sh_mmcif_host *host, unsigned int clk) static void sh_mmcif_clock_control(struct sh_mmcif_host *host, unsigned int clk)
...@@ -757,7 +757,7 @@ static void sh_mmcif_start_cmd(struct sh_mmcif_host *host, ...@@ -757,7 +757,7 @@ static void sh_mmcif_start_cmd(struct sh_mmcif_host *host,
} }
sh_mmcif_get_response(host, cmd); sh_mmcif_get_response(host, cmd);
if (host->data) { if (host->data) {
if (!host->dma_sglen) { if (!host->dma_active) {
ret = sh_mmcif_data_trans(host, mrq, cmd->opcode); ret = sh_mmcif_data_trans(host, mrq, cmd->opcode);
} else { } else {
long time = long time =
...@@ -769,7 +769,7 @@ static void sh_mmcif_start_cmd(struct sh_mmcif_host *host, ...@@ -769,7 +769,7 @@ static void sh_mmcif_start_cmd(struct sh_mmcif_host *host,
ret = time; ret = time;
sh_mmcif_bitclr(host, MMCIF_CE_BUF_ACC, sh_mmcif_bitclr(host, MMCIF_CE_BUF_ACC,
BUF_ACC_DMAREN | BUF_ACC_DMAWEN); BUF_ACC_DMAREN | BUF_ACC_DMAWEN);
host->dma_sglen = 0; host->dma_active = false;
} }
if (ret < 0) if (ret < 0)
mrq->data->bytes_xfered = 0; mrq->data->bytes_xfered = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册