Re: [PATCH v3 4/6] mmc: uniphier-sd: add UniPhier SD/eMMC controller driver

From: Ulf Hansson
Date: Fri Aug 24 2018 - 02:33:01 EST


On 24 August 2018 at 03:50, Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:
> 2018-08-23 19:43 GMT+09:00 Ulf Hansson <ulf.hansson@xxxxxxxxxx>:
>> [...]
>>
>>> +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.
>
>
> Yeah, I also thought this.
>
> But, the irq handler is in the TMIO common code,
> so it would affect Renesas code.

Yep.

>
> tmio-mmc has lots to be improved.
> Tasklet is not the only problem.

Sure.

>
>
> Before investing more effort,
> I want working code base for my platform.

Totally acceptable!

[...]

Kind regards
Uffe