Lines Matching refs:device
59 #define IS_AZALIA(pdev) ((pdev)->vendor == 0x8086 && (pdev)->device == 0x3a3e)
309 int devices_cnt; /* target device count */
316 int devices_cnt; /* target device count */
331 static void dmar_remove_one_dev_info(struct device *dev);
334 struct device *dev);
368 struct device_domain_info *get_domain_info(struct device *dev)
447 pr_info("Disable GFX device mapping\n");
745 * There could possibly be multiple device numa nodes as devices
766 * If RHSA is missing, we should default to the device numa domain
819 static bool attach_deferred(struct device *dev)
825 * is_downstream_to_pci_bridge - test if a device belongs to the PCI
827 * @dev: candidate PCI device belonging to @bridge PCI sub-hierarchy
833 is_downstream_to_pci_bridge(struct device *dev, struct device *bridge)
857 /* We know that this device on this chipset has its own IOMMU.
859 * to us. Hope that the IOMMU for this device is actually
873 pr_warn_once(FW_BUG "BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device\n");
881 static bool iommu_is_dummy(struct intel_iommu *iommu, struct device *dev)
890 pdev->device == PCI_DEVICE_ID_INTEL_IOAT_SNB &&
898 struct intel_iommu *device_to_iommu(struct device *dev, u8 *bus, u8 *devfn)
903 struct device *tmp;
1544 /* For IOMMU that supports device IOTLB throttling (DIT), we assign
1554 /* pdev will be returned if device is not a vf */
1561 the device if you enable PASID support after ATS support is
1700 * flush. However, device IOTLB doesn't need to be flushed in this case.
2178 * the newly-mapped device. For kdump, at this point, the device
2306 domain_context_mapping(struct dmar_domain *domain, struct device *dev)
2339 static int domain_context_mapped(struct device *dev)
2606 struct dmar_domain *find_domain(struct device *dev)
2624 static void do_deferred_attach(struct device *dev)
2649 struct device *dev,
2683 static bool dev_is_real_dma_subdevice(struct device *dev)
2691 struct device *dev,
2783 /* PASID table is mandatory for a PCI device in scalable mode. */
2840 struct device *dev;
2894 static int domain_add_dev_info(struct dmar_domain *domain, struct device *dev)
2911 static bool device_has_rmrr(struct device *dev)
2914 struct device *tmp;
2920 * Return TRUE if this RMRR contains the device that
2936 * device_rmrr_is_relaxable - Test whether the RMRR of this device
2938 * @dev: device handle
2945 * any use of the RMRR regions will be torn down before assigning the device
2950 static bool device_rmrr_is_relaxable(struct device *dev)
2966 * devices associated with RMRRs. The first is when evaluating a device for
2969 * a device with associated RMRRs will never be in a "passthrough" domain.
2970 * The second is use of the device through the IOMMU API. This interface
2971 * expects to have full control of the IOVA space for the device. We cannot
2973 * unencumbered IOVA space. We also have no ability to quiesce the device's
2976 * the IOMMU API, which eliminates them from device assignment.
2981 static bool device_is_rmrr_locked(struct device *dev)
2993 * Return the required default domain type for a specific device.
2995 * @dev: the device in query
2999 * - IOMMU_DOMAIN_DMA: device requires a dynamic mapping domain
3000 * - IOMMU_DOMAIN_IDENTITY: device requires an identical mapping domain
3001 * - 0: both identity and dynamic domains work for this device
3003 static int device_def_domain_type(struct device *dev)
3009 * Prevent any device marked as untrusted from getting
3475 * this device
3521 static unsigned long intel_alloc_iova(struct device *dev,
3567 static dma_addr_t __intel_map_single(struct device *dev, phys_addr_t paddr,
3629 static dma_addr_t intel_map_page(struct device *dev, struct page *page,
3638 static dma_addr_t intel_map_resource(struct device *dev, phys_addr_t phys_addr,
3645 static void intel_unmap(struct device *dev, dma_addr_t dev_addr, size_t size)
3689 static void intel_unmap_page(struct device *dev, dma_addr_t dev_addr,
3696 static void intel_unmap_resource(struct device *dev, dma_addr_t dev_addr,
3702 static void *intel_alloc_coherent(struct device *dev, size_t size,
3739 static void intel_free_coherent(struct device *dev, size_t size, void *vaddr,
3753 static void intel_unmap_sg(struct device *dev, struct scatterlist *sglist,
3771 static int intel_map_sg(struct device *dev, struct scatterlist *sglist, int nelems,
3832 static u64 intel_get_required_mask(struct device *dev)
3855 bounce_sync_single(struct device *dev, dma_addr_t addr, size_t size,
3871 bounce_map_single(struct device *dev, phys_addr_t paddr, size_t size,
3961 bounce_unmap_single(struct device *dev, dma_addr_t dev_addr, size_t size,
3985 bounce_map_page(struct device *dev, struct page *page, unsigned long offset,
3993 bounce_map_resource(struct device *dev, phys_addr_t phys_addr, size_t size,
4001 bounce_unmap_page(struct device *dev, dma_addr_t dev_addr, size_t size,
4008 bounce_unmap_resource(struct device *dev, dma_addr_t dev_addr, size_t size,
4015 bounce_unmap_sg(struct device *dev, struct scatterlist *sglist, int nelems,
4027 bounce_map_sg(struct device *dev, struct scatterlist *sglist, int nelems,
4053 bounce_sync_single_for_cpu(struct device *dev, dma_addr_t addr,
4060 bounce_sync_single_for_device(struct device *dev, dma_addr_t addr,
4067 bounce_sync_sg_for_cpu(struct device *dev, struct scatterlist *sglist,
4079 bounce_sync_sg_for_device(struct device *dev, struct scatterlist *sglist,
4175 struct device *dev;
4222 * this device
4475 struct device *dev;
4536 * we always have to disable PMRs or DMA may fail on this device
4612 struct device *tmp;
4619 /* If it's an integrated device, allow ATS */
4807 static inline struct intel_iommu *dev_to_intel_iommu(struct device *dev)
4814 static ssize_t intel_iommu_show_version(struct device *dev,
4825 static ssize_t intel_iommu_show_address(struct device *dev,
4834 static ssize_t intel_iommu_show_cap(struct device *dev,
4843 static ssize_t intel_iommu_show_ecap(struct device *dev,
4852 static ssize_t intel_iommu_show_ndoms(struct device *dev,
4861 static ssize_t intel_iommu_show_ndoms_used(struct device *dev,
4930 struct device *dev;
4996 panic("tboot: Failed to initialize DMAR device scope\n");
5122 static void domain_context_clear(struct intel_iommu *iommu, struct device *dev)
5164 static void dmar_remove_one_dev_info(struct device *dev)
5258 is_aux_domain(struct device *dev, struct iommu_domain *domain)
5267 struct device *dev)
5280 struct device *dev)
5296 struct device *dev)
5359 struct device *dev)
5383 struct device *dev)
5425 struct device *dev)
5455 struct device *dev)
5470 struct device *dev)
5476 struct device *dev)
5529 intel_iommu_sva_invalidate(struct iommu_domain *domain, struct device *dev,
5617 * Always flush device IOTLB if ATS is enabled. vIOMMU
5624 * PASID based device TLB invalidation does not support
5644 pr_warn_ratelimited("Passdown device IOTLB flush w/o ATS!\n");
5815 static struct iommu_device *intel_iommu_probe_device(struct device *dev)
5829 static void intel_iommu_release_device(struct device *dev)
5842 static void intel_iommu_probe_finalize(struct device *dev)
5855 static void intel_iommu_get_resv_regions(struct device *device,
5861 struct device *i_dev;
5872 if (i_dev != device &&
5873 !is_downstream_to_pci_bridge(device, i_dev))
5878 type = device_rmrr_is_relaxable(device) ?
5892 if (dev_is_pci(device)) {
5893 struct pci_dev *pdev = to_pci_dev(device);
5912 int intel_iommu_enable_pasid(struct intel_iommu *iommu, struct device *dev)
5950 /* Enable PASID support in the device, if it wasn't already */
5963 static void intel_iommu_apply_resv_region(struct device *dev,
5976 static struct iommu_group *intel_iommu_device_group(struct device *dev)
5983 static int intel_iommu_enable_auxd(struct device *dev)
6009 static int intel_iommu_disable_auxd(struct device *dev)
6030 * the device's PCI configuration space or 0 if the device does not support
6052 intel_iommu_dev_has_feat(struct device *dev, enum iommu_dev_features feat)
6080 intel_iommu_dev_enable_feat(struct device *dev, enum iommu_dev_features feat)
6099 intel_iommu_dev_disable_feat(struct device *dev, enum iommu_dev_features feat)
6108 intel_iommu_dev_feat_enabled(struct device *dev, enum iommu_dev_features feat)
6119 intel_iommu_aux_get_pasid(struct iommu_domain *domain, struct device *dev)
6128 struct device *dev)
6165 * Check that the device does not live on an external facing PCI port that is
6174 pdev->vendor, pdev->device);
6308 /* we have to ensure the gfx device is idle before we flush */
6325 ver = (dev->device >> 8) & 0xff;
6340 ISOCH DMAR unit for the Azalia sound device, but not give it any