diff options
author | Takeshi Saito <takeshi.saito.xv@renesas.com> | 2019-03-20 18:18:10 +0900 |
---|---|---|
committer | Ryo Kataoka <ryo.kataoka.wt@renesas.com> | 2019-03-22 20:50:21 +0900 |
commit | caabf4e7396a2b9bef48f180d6dd3644b243c8d1 (patch) | |
tree | bb3cf4f863dc4da33e6842ff8e8e9c0d88401e6a | |
parent | 0533172faca88bd946493f719bca659f9a4cc525 (diff) | |
download | renesas-bsp-caabf4e7396a2b9bef48f180d6dd3644b243c8d1.tar.gz |
mmc: renesas_sdhi: max_segs_on_iommu applies only no-sdio port
In Gen3 IOMMU, SG entries page size expects a multiple of PAGE_SIZE.
However, SG entries are allocated in small segment in SDIO.
max_segs_on_iommu applies only "no-sdio" port in DeviceTree.
In Atheros SDIO WiFi, the SDIO firmware crashes during the execution
of iperf3 command.
iperf3 -c <IP address>
[ 53.457669] ath6kl: firmware crashed
[ 53.473327] ath6kl: crash dump:
:
Signed-off-by: Takeshi Saito <takeshi.saito.xv@renesas.com>
-rw-r--r-- | drivers/mmc/host/renesas_sdhi_core.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c index 345232bff5b0f..0b3d94fe1795b 100644 --- a/drivers/mmc/host/renesas_sdhi_core.c +++ b/drivers/mmc/host/renesas_sdhi_core.c @@ -853,7 +853,9 @@ int renesas_sdhi_probe(struct platform_device *pdev, mmc_data->capabilities2 |= of_data->capabilities2; mmc_data->dma_rx_offset = of_data->dma_rx_offset; mmc_data->max_blk_count = of_data->max_blk_count; - if (pdev->dev.iommu_group) + /* IOMMU multiple segments applies only No-SDIO port */ + if (pdev->dev.iommu_group && + host->mmc->caps2 & MMC_CAP2_NO_SDIO) mmc_data->max_segs = of_data->max_segs_on_iommu; else mmc_data->max_segs = of_data->max_segs; |