mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 05:55:44 +02:00
After extending v7s, our pagetable already support iova reach
16GB(34bit). the master got the iova via dma_alloc_attrs may reach
34bits, but its HW register still is 32bit. then how to set the
bit32/bit33 iova? this depend on a SMI larb setting(bank_sel).
we separate whole 16GB iova to four banks:
bank: 0: 0~4G; 1: 4~8G; 2: 8-12G; 3: 12-16G;
The bank number is (iova >> 32).
We will preassign which bank the larbs belong to. currently we don't
have a interface for master to adjust its bank number.
Each a bank is a iova_region which is a independent iommu-domain.
the iova range for each iommu-domain can't cross 4G.
Signed-off-by: Yong Wu <yong.wu@mediatek.com>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org> #for memory part
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Link: https://lore.kernel.org/r/20210111111914.22211-31-yong.wu@mediatek.com
Signed-off-by: Will Deacon <will@kernel.org>
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| samsung | ||
| tegra | ||
| .gitignore | ||
| atmel-ebi.c | ||
| atmel-sdramc.c | ||
| brcmstb_dpfe.c | ||
| bt1-l2-ctl.c | ||
| da8xx-ddrctl.c | ||
| emif-asm-offsets.c | ||
| emif.c | ||
| emif.h | ||
| fsl_ifc.c | ||
| fsl-corenet-cf.c | ||
| jedec_ddr_data.c | ||
| jedec_ddr.h | ||
| jz4780-nemc.c | ||
| Kconfig | ||
| Makefile | ||
| mtk-smi.c | ||
| mvebu-devbus.c | ||
| of_memory.c | ||
| of_memory.h | ||
| omap-gpmc.c | ||
| pl172.c | ||
| pl353-smc.c | ||
| renesas-rpc-if.c | ||
| stm32-fmc2-ebi.c | ||
| ti-aemif.c | ||
| ti-emif-pm.c | ||
| ti-emif-sram-pm.S | ||