iommu.h (06c375053cefc3a2f383d200596abe5ab3fb35f9) | iommu.h (621b7e54f288c5e4e32d1dd81a926b8ecb547c60) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright © 2006-2015, Intel Corporation. 4 * 5 * Authors: Ashok Raj <ashok.raj@intel.com> 6 * Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com> 7 * David Woodhouse <David.Woodhouse@intel.com> 8 */ --- 441 unchanged lines hidden (view full) --- 450#define QI_DEV_EIOTLB_SID(sid) ((u64)((sid) & 0xffff) << 16) 451#define QI_DEV_EIOTLB_QDEP(qd) ((u64)((qd) & 0x1f) << 4) 452#define QI_DEV_EIOTLB_PFSID(pfsid) (((u64)(pfsid & 0xf) << 12) | \ 453 ((u64)((pfsid >> 4) & 0xfff) << 52)) 454#define QI_DEV_EIOTLB_MAX_INVS 32 455 456/* Page group response descriptor QW0 */ 457#define QI_PGRP_PASID_P(p) (((u64)(p)) << 4) | 1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright © 2006-2015, Intel Corporation. 4 * 5 * Authors: Ashok Raj <ashok.raj@intel.com> 6 * Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com> 7 * David Woodhouse <David.Woodhouse@intel.com> 8 */ --- 441 unchanged lines hidden (view full) --- 450#define QI_DEV_EIOTLB_SID(sid) ((u64)((sid) & 0xffff) << 16) 451#define QI_DEV_EIOTLB_QDEP(qd) ((u64)((qd) & 0x1f) << 4) 452#define QI_DEV_EIOTLB_PFSID(pfsid) (((u64)(pfsid & 0xf) << 12) | \ 453 ((u64)((pfsid >> 4) & 0xfff) << 52)) 454#define QI_DEV_EIOTLB_MAX_INVS 32 455 456/* Page group response descriptor QW0 */ 457#define QI_PGRP_PASID_P(p) (((u64)(p)) << 4) |
458#define QI_PGRP_PDP(p) (((u64)(p)) << 5) | |
459#define QI_PGRP_RESP_CODE(res) (((u64)(res)) << 12) 460#define QI_PGRP_DID(rid) (((u64)(rid)) << 16) 461#define QI_PGRP_PASID(pasid) (((u64)(pasid)) << 32) 462 463/* Page group response descriptor QW1 */ 464#define QI_PGRP_LPIG(x) (((u64)(x)) << 2) 465#define QI_PGRP_IDX(idx) (((u64)(idx)) << 3) 466 --- 613 unchanged lines hidden (view full) --- 1080void domain_detach_iommu(struct dmar_domain *domain, struct intel_iommu *iommu); 1081void device_block_translation(struct device *dev); 1082int prepare_domain_attach_device(struct iommu_domain *domain, 1083 struct device *dev); 1084void domain_update_iommu_cap(struct dmar_domain *domain); 1085 1086int dmar_ir_support(void); 1087 | 458#define QI_PGRP_RESP_CODE(res) (((u64)(res)) << 12) 459#define QI_PGRP_DID(rid) (((u64)(rid)) << 16) 460#define QI_PGRP_PASID(pasid) (((u64)(pasid)) << 32) 461 462/* Page group response descriptor QW1 */ 463#define QI_PGRP_LPIG(x) (((u64)(x)) << 2) 464#define QI_PGRP_IDX(idx) (((u64)(idx)) << 3) 465 --- 613 unchanged lines hidden (view full) --- 1079void domain_detach_iommu(struct dmar_domain *domain, struct intel_iommu *iommu); 1080void device_block_translation(struct device *dev); 1081int prepare_domain_attach_device(struct iommu_domain *domain, 1082 struct device *dev); 1083void domain_update_iommu_cap(struct dmar_domain *domain); 1084 1085int dmar_ir_support(void); 1086 |
1087void *alloc_pgtable_page(int node, gfp_t gfp); 1088void free_pgtable_page(void *vaddr); |
|
1088void iommu_flush_write_buffer(struct intel_iommu *iommu); 1089struct iommu_domain *intel_nested_domain_alloc(struct iommu_domain *parent, 1090 const struct iommu_user_data *user_data); 1091struct device *device_rbtree_find(struct intel_iommu *iommu, u16 rid); 1092 1093#ifdef CONFIG_INTEL_IOMMU_SVM 1094void intel_svm_check(struct intel_iommu *iommu); 1095int intel_svm_enable_prq(struct intel_iommu *iommu); --- 112 unchanged lines hidden --- | 1089void iommu_flush_write_buffer(struct intel_iommu *iommu); 1090struct iommu_domain *intel_nested_domain_alloc(struct iommu_domain *parent, 1091 const struct iommu_user_data *user_data); 1092struct device *device_rbtree_find(struct intel_iommu *iommu, u16 rid); 1093 1094#ifdef CONFIG_INTEL_IOMMU_SVM 1095void intel_svm_check(struct intel_iommu *iommu); 1096int intel_svm_enable_prq(struct intel_iommu *iommu); --- 112 unchanged lines hidden --- |