On Tue, 23 Feb 2021 at 11:10, Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> wrote: > > SDHI Gen2+ has a different value for TMIO_MASK_ALL, so add a member to > support that. If the member is not used, the previous default value is > applied. > > Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Applied for next, thanks! To be clear, I am awaiting a v2 of patch 2/2. Kind regards Uffe > --- > drivers/mmc/host/tmio_mmc.h | 1 + > drivers/mmc/host/tmio_mmc_core.c | 8 +++++--- > 2 files changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h > index 2d1db9396d4a..7d5201d6a006 100644 > --- a/drivers/mmc/host/tmio_mmc.h > +++ b/drivers/mmc/host/tmio_mmc.h > @@ -164,6 +164,7 @@ struct tmio_mmc_host { > u32 sdio_irq_mask; > unsigned int clk_cache; > u32 sdcard_irq_setbit_mask; > + u32 sdcard_irq_mask_all; > > spinlock_t lock; /* protect host private data */ > unsigned long last_req_ts; > diff --git a/drivers/mmc/host/tmio_mmc_core.c b/drivers/mmc/host/tmio_mmc_core.c > index 0e7a2faa5238..eca767dcabba 100644 > --- a/drivers/mmc/host/tmio_mmc_core.c > +++ b/drivers/mmc/host/tmio_mmc_core.c > @@ -1175,7 +1175,9 @@ int tmio_mmc_host_probe(struct tmio_mmc_host *_host) > tmio_mmc_reset(_host); > > _host->sdcard_irq_mask = sd_ctrl_read16_and_16_as_32(_host, CTL_IRQ_MASK); > - tmio_mmc_disable_mmc_irqs(_host, TMIO_MASK_ALL); > + if (!_host->sdcard_irq_mask_all) > + _host->sdcard_irq_mask_all = TMIO_MASK_ALL; > + tmio_mmc_disable_mmc_irqs(_host, _host->sdcard_irq_mask_all); > > if (_host->native_hotplug) > tmio_mmc_enable_mmc_irqs(_host, > @@ -1229,7 +1231,7 @@ void tmio_mmc_host_remove(struct tmio_mmc_host *host) > cancel_work_sync(&host->done); > cancel_delayed_work_sync(&host->delayed_reset_work); > tmio_mmc_release_dma(host); > - tmio_mmc_disable_mmc_irqs(host, TMIO_MASK_ALL); > + tmio_mmc_disable_mmc_irqs(host, host->sdcard_irq_mask_all); > > if (host->native_hotplug) > pm_runtime_put_noidle(&pdev->dev); > @@ -1259,7 +1261,7 @@ int tmio_mmc_host_runtime_suspend(struct device *dev) > { > struct tmio_mmc_host *host = dev_get_drvdata(dev); > > - tmio_mmc_disable_mmc_irqs(host, TMIO_MASK_ALL); > + tmio_mmc_disable_mmc_irqs(host, host->sdcard_irq_mask_all); > > if (host->clk_cache) > host->set_clock(host, 0); > -- > 2.30.0 >