Thread (11 messages) 11 messages, 4 authors, 2022-06-15

Re: [PATCH v8 1/3] iommu/io-pgtable-arm-v7s: Add a quirk to allow pgtable PA up to 35bit

From: Yong Wu <yong.wu@mediatek.com>
Date: 2022-06-15 06:32:47
Also in: linux-iommu, linux-mediatek, lkml

On Tue, 2022-06-14 at 13:56 +0100, Will Deacon wrote:
quoted
@@ -74,17 +74,22 @@ struct io_pgtable_cfg {
 	 *	to support up to 35 bits PA where the bit32, bit33 and
bit34 are
 	 *	encoded in the bit9, bit4 and bit5 of the PTE respectively.
 	 *
+	 * IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT: (ARM v7s format) MediaTek
IOMMUs
+	 *	extend the translation table base support up to 35 bits PA,
the
+	 *	encoding format is same with IO_PGTABLE_QUIRK_ARM_MTK_EXT.
+	 *
One thing I don't get is how the existing driver handles this. It
seems
as though if the HAS_4GB_MODE flag is not set, then we set oas to 35
but
without any pgtable changes. How does this work?
Regarding the pgtable, we already use the quirk
IO_PGTABLE_QUIRK_ARM_MTK_EXT to support 35bits oas.

HAS_4GB_MODE is the flag for the previous SoC that only supports 33bits
oas, it also is covered by IO_PGTABLE_QUIRK_ARM_MTK_EXT. and in 4GB
mode we add PA32 manually in mtk_iommu_map.
If it turns out that the existing devices can't handle 35-bit PAs,
then
could we use an oas of 35 to indicate that this new format is in use
instead of introducing another quirk?
The existed devices can handle 35bits oas. The problem is that if
the pgtable PA could support up to 35bits. The previous SoC like mt8173
can't support while the lastest SoC can. This is the purpose of this
new quick. therefore we need GFP_DMA/DMA32 for pgtable allocating in
mt8173 and GFP_DMA/DMA32 is not needed in the new quirk.
Will
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help