RE: [PATCH 1/6 v8] iommu/fsl: Store iommu domain information pointer in archdata.
From: Yoder Stuart-B08248 <hidden>
Date: 2013-03-01 16:22:06
Also in:
linux-iommu, lkml
-----Original Message----- From: Alexey Kardashevskiy [mailto:aik@ozlabs.ru] Sent: Friday, March 01, 2013 4:07 AM To: Sethi Varun-B16395 Cc: Kumar Gala; Benjamin Herrenschmidt; iommu@lists.linux-foundation.org;=
linuxppc-dev@lists.ozlabs.org
list; linux-kernel@vger.kernel.org list; Wood Scott-B07421; Yoder Stuart-=
B08248; Joerg Roedel; Paul
Mackerras; David Gibson; Alex Williamson Subject: Re: [PATCH 1/6 v8] iommu/fsl: Store iommu domain information poi=
nter in archdata.
=20 btw the device struct already has a pointer to its iommu_group, and the iommu_group struct itself has a pointer void *iommu_data which you could use for anything you want (iommu_group_get_iommudata(), iommu_group_set_iommudata()). By design you are expected to add iommu groups to a domain but not device=
s
so I am not so sure that you really need a pointer to domain in the devic=
e
struct.
Well, at the lowest level the IOMMU API does attach devices to domains-- i.= e. API attach_dev(). So, it seems to conceptually make sense to have a ptr from the device to the associated domain. When you implement attach_dev() you need to be able to see whether the device is already attached to a domain. Adding a couple of levels of indirection...from device to group to domain...doesn't seems to make things simpler or better IMHO. x86 keeps a pointer to the domain in device archdata and since there is a direct correlation between a device and domain I'd rather see it where this patch has it. Stuart