mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 16:12:59 +02:00
iommu/vt-d: Add iommu_domain_did() to get did
domain_id_iommu() does not support SVA type and identity type domains. Add iommu_domain_did() to support all domain types. Signed-off-by: Yi Liu <yi.l.liu@intel.com> Link: https://lore.kernel.org/r/20241107122234.7424-7-yi.l.liu@intel.com Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
d93cf86cc6
commit
a1deee90a2
|
|
@ -806,6 +806,13 @@ static inline struct dmar_domain *to_dmar_domain(struct iommu_domain *dom)
|
|||
return container_of(dom, struct dmar_domain, domain);
|
||||
}
|
||||
|
||||
/*
|
||||
* Domain ID reserved for pasid entries programmed for first-level
|
||||
* only and pass-through transfer modes.
|
||||
*/
|
||||
#define FLPT_DEFAULT_DID 1
|
||||
#define NUM_RESERVED_DID 2
|
||||
|
||||
/* Retrieve the domain ID which has allocated to the domain */
|
||||
static inline u16
|
||||
domain_id_iommu(struct dmar_domain *domain, struct intel_iommu *iommu)
|
||||
|
|
@ -816,6 +823,15 @@ domain_id_iommu(struct dmar_domain *domain, struct intel_iommu *iommu)
|
|||
return info->did;
|
||||
}
|
||||
|
||||
static inline u16
|
||||
iommu_domain_did(struct iommu_domain *domain, struct intel_iommu *iommu)
|
||||
{
|
||||
if (domain->type == IOMMU_DOMAIN_SVA ||
|
||||
domain->type == IOMMU_DOMAIN_IDENTITY)
|
||||
return FLPT_DEFAULT_DID;
|
||||
return domain_id_iommu(to_dmar_domain(domain), iommu);
|
||||
}
|
||||
|
||||
/*
|
||||
* 0: readable
|
||||
* 1: writable
|
||||
|
|
|
|||
|
|
@ -22,13 +22,6 @@
|
|||
#define is_pasid_enabled(entry) (((entry)->lo >> 3) & 0x1)
|
||||
#define get_pasid_dir_size(entry) (1 << ((((entry)->lo >> 9) & 0x7) + 7))
|
||||
|
||||
/*
|
||||
* Domain ID reserved for pasid entries programmed for first-level
|
||||
* only and pass-through transfer modes.
|
||||
*/
|
||||
#define FLPT_DEFAULT_DID 1
|
||||
#define NUM_RESERVED_DID 2
|
||||
|
||||
#define PASID_FLAG_NESTED BIT(1)
|
||||
#define PASID_FLAG_PAGE_SNOOP BIT(2)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user