iommu/arm-smmu-v3: Add second level of context descriptor table
authorJean-Philippe Brucker <jean-philippe@linaro.org>
Wed, 15 Jan 2020 12:52:36 +0000 (13:52 +0100)
committerWill Deacon <will@kernel.org>
Wed, 15 Jan 2020 16:06:50 +0000 (16:06 +0000)
commit73af06f589fe5656b07baa92e390d2d48464b18a
treeda0fc96d546252f4b3a209d1001a94da8bf6b0c5
parent492ddc79e07ed16a4ec4b6f57787273b2e4c26c1
iommu/arm-smmu-v3: Add second level of context descriptor table

The SMMU can support up to 20 bits of SSID. Add a second level of page
tables to accommodate this. Devices that support more than 1024 SSIDs now
have a table of 1024 L1 entries (8kB), pointing to tables of 1024 context
descriptors (64kB), allocated on demand.

Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm-smmu-v3.c