]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Merge branches 'fixes', 'apple/dart', 'arm/smmu/updates', 'arm/smmu/bindings', 'fsl...
authorJoerg Roedel <jroedel@suse.de>
Fri, 23 May 2025 15:14:32 +0000 (17:14 +0200)
committerJoerg Roedel <jroedel@suse.de>
Fri, 23 May 2025 15:14:32 +0000 (17:14 +0200)
14 files changed:
1  2  3  4  5  6  7  8  9  10  11  12 
drivers/dma/idxd/init.c
drivers/iommu/amd/amd_iommu_types.h
drivers/iommu/amd/init.c
drivers/iommu/amd/iommu.c
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
drivers/iommu/intel/dmar.c
drivers/iommu/intel/iommu.c
drivers/iommu/intel/iommu.h
drivers/iommu/intel/nested.c
drivers/iommu/io-pgtable-arm.c
drivers/iommu/iommu.c
include/linux/iommu.h

index 760b7d81fcd846a19770d6e74d199a3d38201b7f,fca1d29249998d9238550681feb86162454fd6d7,fca1d29249998d9238550681feb86162454fd6d7,fca1d29249998d9238550681feb86162454fd6d7,fca1d29249998d9238550681feb86162454fd6d7,fca1d29249998d9238550681feb86162454fd6d7,fca1d29249998d9238550681feb86162454fd6d7,fca1d29249998d9238550681feb86162454fd6d7,fca1d29249998d9238550681feb86162454fd6d7,fca1d29249998d9238550681feb86162454fd6d7,fca1d29249998d9238550681feb86162454fd6d7,9e739a4d1ecd5d4d859c4f8d9833b0ab8a12ec5f..80355d03004dbd756ca0d28c4e105a5314c75e44
@@@@@@@@@@@@@ -1320,12 -1245,20 -1245,20 -1245,20 -1245,20 -1245,20 -1245,20 -1245,20 -1245,20 -1245,20 -1245,20 -1216,18 +1291,12 @@@@@@@@@@@@@ static void idxd_remove(struct pci_dev 
                get_device(idxd_confdev(idxd));
                device_unregister(idxd_confdev(idxd));
                idxd_shutdown(pdev);
 -----------    if (device_pasid_enabled(idxd))
 -----------            idxd_disable_system_pasid(idxd);
                idxd_device_remove_debugfs(idxd);
 -----------
 -----------    irq_entry = idxd_get_ie(idxd, 0);
 -----------    free_irq(irq_entry->vector, irq_entry);
 -----------    pci_free_irq_vectors(pdev);
 +++++++++++    idxd_cleanup(idxd);
                pci_iounmap(pdev, idxd->reg_base);
 ----------     if (device_user_pasid_enabled(idxd))
 ----------             idxd_disable_sva(pdev);
 -----------    pci_disable_device(pdev);
 -----------    destroy_workqueue(idxd->wq);
 -----------    perfmon_pmu_remove(idxd);
                put_device(idxd_confdev(idxd));
 +++++++++++    idxd_free(idxd);
 +++++++++++    pci_disable_device(pdev);
            }
            
            static struct pci_driver idxd_pci_driver = {
Simple merge
index 14aa0d77df26df8ab5f59258448bf65cab8ac5aa,14aa0d77df26df8ab5f59258448bf65cab8ac5aa,dd9e26b7b71848dd5449316df1eb2ee31eecb67f,dd9e26b7b71848dd5449316df1eb2ee31eecb67f,dd9e26b7b71848dd5449316df1eb2ee31eecb67f,dd9e26b7b71848dd5449316df1eb2ee31eecb67f,dd9e26b7b71848dd5449316df1eb2ee31eecb67f,dd9e26b7b71848dd5449316df1eb2ee31eecb67f,dd9e26b7b71848dd5449316df1eb2ee31eecb67f,dd9e26b7b71848dd5449316df1eb2ee31eecb67f,acf8941e1ed3d66ab8fa50e53ceff88f6b1dbc17,df1094893eb0d15b1f9858c1af1e5e563ddba4a2..c06b62f87b9bc0e5cf36ca12081443b727e774a4
@@@@@@@@@@@@@ -243,19 -243,19 -243,19 -243,19 -243,19 -243,19 -243,19 -243,19 -243,19 -243,19 -243,24 -243,11 +243,16 @@@@@@@@@@@@@ static void init_translation_status(str
                        iommu->flags |= AMD_IOMMU_FLAG_TRANS_PRE_ENABLED;
            }
            
----------- static inline unsigned long tbl_size(int entry_size, int last_bdf)
          - {
          -     unsigned shift = PAGE_SHIFT +
          -                      get_order((last_bdf + 1) * entry_size);
          - 
          -     return 1UL << shift;
          - }
          - 
++++++++++  int amd_iommu_get_num_iommus(void)
            {
----------      unsigned shift = PAGE_SHIFT +
----------                       get_order((last_bdf + 1) * entry_size);
----------  
----------      return 1UL << shift;
++++++++++      return amd_iommus_present;
            }
            
----------  int amd_iommu_get_num_iommus(void)
++++++++++ +bool amd_iommu_ht_range_ignore(void)
           +{
----------      return amd_iommus_present;
++++++++++ +    return check_feature2(FEATURE_HT_RANGE_IGNORE);
           +}
           +
            /*
             * Iterate through all the IOMMUs to get common EFR
             * masks among all IOMMUs and warn if found inconsistency.
Simple merge
Simple merge
Simple merge
Simple merge
index 6ac5c534bef437d9f4c635ac069772bca57b9751,6ac5c534bef437d9f4c635ac069772bca57b9751,6ac5c534bef437d9f4c635ac069772bca57b9751,6ac5c534bef437d9f4c635ac069772bca57b9751,6ac5c534bef437d9f4c635ac069772bca57b9751,6ac5c534bef437d9f4c635ac069772bca57b9751,6ac5c534bef437d9f4c635ac069772bca57b9751,6ac5c534bef437d9f4c635ac069772bca57b9751,6ac5c534bef437d9f4c635ac069772bca57b9751,1e149169ee77b070377ba0db9db3d5b4d833ace1,6ac5c534bef437d9f4c635ac069772bca57b9751,d2a94025d0a00ca6d18bc171ba1a0e7e349db93e..fc312f649f9ef020f5bd84481cd7d8895eda0d2a
@@@@@@@@@@@@@ -59,9 -59,9 -59,9 -59,9 -59,9 -59,9 -59,9 -59,9 -59,9 -58,10 -59,9 -63,9 +62,10 @@@@@@@@@@@@@ static int intel_nested_attach_dev(stru
                ret = intel_pasid_setup_nested(iommu, dev,
                                               IOMMU_NO_PASID, dmar_domain);
                if (ret)
-----------             goto unassign_tag;
+++++++++++             goto disable_iopf;
            
                info->domain = dmar_domain;
+++++++++ ++    info->domain_attached = true;
                spin_lock_irqsave(&dmar_domain->lock, flags);
                list_add(&info->link, &dmar_domain->devices);
                spin_unlock_irqrestore(&dmar_domain->lock, flags);
index 7632c80edea63a3770c48884048d813aa42987de,7632c80edea63a3770c48884048d813aa42987de,7632c80edea63a3770c48884048d813aa42987de,64db457371ece769b6f799b07c1a9c8cbb37791f,7632c80edea63a3770c48884048d813aa42987de,7632c80edea63a3770c48884048d813aa42987de,7632c80edea63a3770c48884048d813aa42987de,7632c80edea63a3770c48884048d813aa42987de,7632c80edea63a3770c48884048d813aa42987de,7632c80edea63a3770c48884048d813aa42987de,7632c80edea63a3770c48884048d813aa42987de,bbd42323c0290cb302925f47536eae967a8b65c8..96425e92f3135f8e5c9cbb1a2d234a70f3444a20
@@@@@@@@@@@@@ -1437,11 -1437,11 -1437,11 -1437,12 -1437,11 -1437,11 -1437,11 -1437,11 -1437,11 -1437,11 -1437,11 -1442,13 +1442,14 @@@@@@@@@@@@@ static int __init arm_lpae_do_selftests
                struct io_pgtable_cfg cfg = {
                        .tlb = &dummy_tlb_ops,
                        .coherent_walk = true,
-----------             .iommu_dev = &dev,
+++ ++++++++            .quirks = IO_PGTABLE_QUIRK_NO_WARN,
                };
            
-----------     /* __arm_lpae_alloc_pages() merely needs dev_to_node() to work */
-----------     set_dev_node(&dev, NUMA_NO_NODE);
+++++++++++     dev = faux_device_create("io-pgtable-test", NULL, 0);
+++++++++++     if (!dev)
+++++++++++             return -ENOMEM;
+++++++++++ 
+++++++++++     cfg.iommu_dev = &dev->dev;
            
                for (i = 0; i < ARRAY_SIZE(pgsize); ++i) {
                        for (j = 0; j < ARRAY_SIZE(address_size); ++j) {
Simple merge
Simple merge