Hi Wolfram-san, > From: Wolfram Sang, Sent: Friday, April 26, 2019 6:37 PM > > > > +static void > > +renesas_sdhi_internal_dmac_init_card(struct tmio_mmc_host *host, > > + struct mmc_card *card) > > +{ > > + if (host->pdev->dev.iommu_group && > > + (mmc_card_mmc(card) || mmc_card_sd(card))) > > + host->mmc->max_segs = 512; > > + else > > + host->mmc->max_segs = host->pdata->max_segs; > > +} > > + > > Will this work with Gen2 as well if we explicitly set max_segs in > of_rcar_gen2_compatible (renesas_sdhi_sys_dmac.c)? Yes, Gen2 (renesas_sdhi_sys_dmac.c) can work with max_segs = 512. # Enabling IPMMU on Gen2 might cause some troubles anyway regardless the max_segs value though. > Then we could simply > move the above chunk to renesas_sdhi_core.c and use this minimal diff. > > --- a/drivers/mmc/host/renesas_sdhi_core.c > +++ b/drivers/mmc/host/renesas_sdhi_core.c > @@ -726,6 +726,8 @@ int renesas_sdhi_probe(struct platform_device *pdev, > > /* SDR speeds are only available on Gen2+ */ > if (mmc_data->flags & TMIO_MMC_MIN_RCAR2) { > + host->ops.init_card = renesas_sdhi_init_card; > + > /* card_busy caused issues on r8a73a4 (pre-Gen2) CD-less SDHI */ > host->ops.card_busy = renesas_sdhi_card_busy; > host->ops.start_signal_voltage_switch = > > What do you think, Shimoda-san? I think it's a nice idea. So, I'll modify this patch on v2. Best regards, Yoshihiro Shimoda