Thank you for your quick reply. From: Stepan Moskovchenko <stepanm@xxxxxxxxxxxxxx> Subject: Re: msm: iommu: what is iommu_ctx? Date: Mon, 12 Dec 2011 07:15:07 +0100 Message-ID: <63eaf43a92f1e2619f04c717edf7e3db.squirrel@xxxxxxxxxxxxxxxxxx> > The "ctx" devices you are referring to are IOMMU translation context > devices. For the purposes of the IOMMU API, these can be thought of as > separate and independent IOMMUs, with each context device having its own > set of registers (including page table pointer) and having its own address > space. Thus, the attach_dev and detach_dev calls would operate on these > "ctx" devices rather than the top-level IOMMU devices you mentioned (which > don't really interact directly with the IOMMU API). > > In reality, an IOMMU device can internally contain one or more IOMMU > context devices, though some hardware resources do end up being shared > between the context devices within the same IOMMU device. This is why > there is a parent-child relationship between the IOMMU devices and the > context devices - the driver needs to know about and deal with the fact > that some internal resources (such as the TLB) may be shared between > several context devices within the same IOMMU. Does the above mean, is it switching the page table pointer in H/W register dynamically by S/W, and this allows to have more logical IOMMU instances(ctx) than physical ones as framework? -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html