Messages in this thread | | | From | Yoder Stuart-B08248 <> | Subject | RE: [PATCH 1/6 v8] iommu/fsl: Store iommu domain information pointer in archdata. | Date | Fri, 1 Mar 2013 16:21:57 +0000 |
| |
> -----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 pointer in archdata. > > 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 devices > so I am not so sure that you really need a pointer to domain in the device > 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
| |