@@ -372,7 +372,7 @@ struct device_domain_info *get_domain_info(struct device *dev)
372
372
if (!dev )
373
373
return NULL ;
374
374
375
- info = dev -> archdata . iommu ;
375
+ info = dev_iommu_priv_get ( dev ) ;
376
376
if (unlikely (info == DUMMY_DEVICE_DOMAIN_INFO ||
377
377
info == DEFER_DEVICE_DOMAIN_INFO ))
378
378
return NULL ;
@@ -743,12 +743,12 @@ struct context_entry *iommu_context_addr(struct intel_iommu *iommu, u8 bus,
743
743
744
744
static int iommu_dummy (struct device * dev )
745
745
{
746
- return dev -> archdata . iommu == DUMMY_DEVICE_DOMAIN_INFO ;
746
+ return dev_iommu_priv_get ( dev ) == DUMMY_DEVICE_DOMAIN_INFO ;
747
747
}
748
748
749
749
static bool attach_deferred (struct device * dev )
750
750
{
751
- return dev -> archdata . iommu == DEFER_DEVICE_DOMAIN_INFO ;
751
+ return dev_iommu_priv_get ( dev ) == DEFER_DEVICE_DOMAIN_INFO ;
752
752
}
753
753
754
754
/**
@@ -2420,7 +2420,7 @@ static inline void unlink_domain_info(struct device_domain_info *info)
2420
2420
list_del (& info -> link );
2421
2421
list_del (& info -> global );
2422
2422
if (info -> dev )
2423
- info -> dev -> archdata . iommu = NULL ;
2423
+ dev_iommu_priv_set ( info -> dev , NULL ) ;
2424
2424
}
2425
2425
2426
2426
static void domain_remove_dev_info (struct dmar_domain * domain )
@@ -2453,7 +2453,7 @@ static void do_deferred_attach(struct device *dev)
2453
2453
{
2454
2454
struct iommu_domain * domain ;
2455
2455
2456
- dev -> archdata . iommu = NULL ;
2456
+ dev_iommu_priv_set ( dev , NULL ) ;
2457
2457
domain = iommu_get_domain_for_dev (dev );
2458
2458
if (domain )
2459
2459
intel_iommu_attach_device (domain , dev );
@@ -2599,7 +2599,7 @@ static struct dmar_domain *dmar_insert_one_dev_info(struct intel_iommu *iommu,
2599
2599
list_add (& info -> link , & domain -> devices );
2600
2600
list_add (& info -> global , & device_domain_list );
2601
2601
if (dev )
2602
- dev -> archdata . iommu = info ;
2602
+ dev_iommu_priv_set ( dev , info ) ;
2603
2603
spin_unlock_irqrestore (& device_domain_lock , flags );
2604
2604
2605
2605
/* PASID table is mandatory for a PCI device in scalable mode. */
@@ -4004,7 +4004,7 @@ static void quirk_ioat_snb_local_iommu(struct pci_dev *pdev)
4004
4004
if (!drhd || drhd -> reg_base_addr - vtbar != 0xa000 ) {
4005
4005
pr_warn_once (FW_BUG "BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device\n" );
4006
4006
add_taint (TAINT_FIRMWARE_WORKAROUND , LOCKDEP_STILL_OK );
4007
- pdev -> dev . archdata . iommu = DUMMY_DEVICE_DOMAIN_INFO ;
4007
+ dev_iommu_priv_set ( & pdev -> dev , DUMMY_DEVICE_DOMAIN_INFO ) ;
4008
4008
}
4009
4009
}
4010
4010
DECLARE_PCI_FIXUP_ENABLE (PCI_VENDOR_ID_INTEL , PCI_DEVICE_ID_INTEL_IOAT_SNB , quirk_ioat_snb_local_iommu );
@@ -4043,7 +4043,7 @@ static void __init init_no_remapping_devices(void)
4043
4043
drhd -> ignored = 1 ;
4044
4044
for_each_active_dev_scope (drhd -> devices ,
4045
4045
drhd -> devices_cnt , i , dev )
4046
- dev -> archdata . iommu = DUMMY_DEVICE_DOMAIN_INFO ;
4046
+ dev_iommu_priv_set ( dev , DUMMY_DEVICE_DOMAIN_INFO ) ;
4047
4047
}
4048
4048
}
4049
4049
}
@@ -5665,7 +5665,7 @@ static struct iommu_device *intel_iommu_probe_device(struct device *dev)
5665
5665
return ERR_PTR (- ENODEV );
5666
5666
5667
5667
if (translation_pre_enabled (iommu ))
5668
- dev -> archdata . iommu = DEFER_DEVICE_DOMAIN_INFO ;
5668
+ dev_iommu_priv_set ( dev , DEFER_DEVICE_DOMAIN_INFO ) ;
5669
5669
5670
5670
return & iommu -> iommu ;
5671
5671
}
0 commit comments