[PATCH v3 4/6] mmc: uniphier-sd: add UniPhier SD/eMMC controller driver
From: Ulf Hansson <hidden>
Date: 2018-08-23 10:43:43
Also in:
linux-mmc, linux-renesas-soc, lkml
From: Ulf Hansson <hidden>
Date: 2018-08-23 10:43:43
Also in:
linux-mmc, linux-renesas-soc, lkml
[...]
+static void uniphier_sd_external_dma_request(struct tmio_mmc_host *host,
+ struct tmio_mmc_data *pdata)
+{
+ struct uniphier_sd_priv *priv = uniphier_sd_priv(host);
+ struct dma_chan *chan;
+
+ chan = dma_request_chan(mmc_dev(host->mmc), "rx-tx");
+ if (IS_ERR(chan)) {
+ dev_warn(mmc_dev(host->mmc),
+ "failed to request DMA channel. falling back to PIO\n");
+ return; /* just use PIO even for -EPROBE_DEFER */
+ }
+
+ /* this driver uses a single channel for both RX an TX */
+ priv->chan = chan;
+ host->chan_rx = chan;
+ host->chan_tx = chan;
+
+ tasklet_init(&host->dma_issue, uniphier_sd_external_dma_issue,
+ (unsigned long)host);Isn't it time to get rid of tasklets for tmio? No worries, I don't require that to be changed prior $subject patch, however using threaded IRQs is a justified modernization for the tmio variants. [...] Kind regards Uffe