iommu/arm-smmu: Simplify VMID and ASID allocation
commitecfadb6e5b49a0a56df2038bf39f1fcd652788b9
authorWill Deacon <will.deacon@arm.com>
Wed, 31 Jul 2013 18:21:28 +0000 (31 19:21 +0100)
committerJoerg Roedel <joro@8bytes.org>
Wed, 14 Aug 2013 10:10:02 +0000 (14 12:10 +0200)
treecb2c131c97f604aaa957f336200c8d342e6a3332
parent1463fe44fd0f87af0404e2c147ab9724081b7235
iommu/arm-smmu: Simplify VMID and ASID allocation

We only use ASIDs and VMIDs to identify individual stage-1 and stage-2
context-banks respectively, so rather than allocate these separately
from the context-banks, just calculate them based on the context bank
index.

Note that VMIDs are offset by 1, since VMID 0 is reserved for stage-1.
This doesn't cause us any issues with the numberspaces, since the
maximum number of context banks is half the minimum number of VMIDs.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Joerg Roedel <joro@8bytes.org>
drivers/iommu/arm-smmu.c