Merge branches 'x86/vt-d', 'arm/omap', 'arm/smmu', 's390', 'core' and 'x86/amd' into...
authorJoerg Roedel <jroedel@suse.de>
Mon, 2 Nov 2015 11:03:34 +0000 (20:03 +0900)
committerJoerg Roedel <jroedel@suse.de>
Mon, 2 Nov 2015 11:03:34 +0000 (20:03 +0900)
Conflicts:
drivers/iommu/amd_iommu_types.h

1  2  3  4  5  6  7 
MAINTAINERS
drivers/iommu/Kconfig
drivers/iommu/Makefile
drivers/iommu/amd_iommu.c
drivers/iommu/amd_iommu_init.c
drivers/iommu/amd_iommu_types.h
drivers/iommu/arm-smmu-v3.c
drivers/iommu/arm-smmu.c
drivers/iommu/intel-iommu.c

diff --cc MAINTAINERS
@@@@@@@@ -11409,10 -11378,19 -11377,10 -11377,10 -11385,19 -11377,10 -11364,21 +11416,10 @@@@@@@@ W:    http://oops.ghostprotocols.net:81/bl
       S:       Maintained
       F:       drivers/net/wireless/wl3501*
       
 -  - -WM97XX TOUCHSCREEN DRIVERS
 -  - -M:       Mark Brown <broonie@kernel.org>
 -  - -M:       Liam Girdwood <lrg@slimlogic.co.uk>
 -  - -L:       linux-input@vger.kernel.org
 -  -  W:       https://github.com/CirrusLogic/linux-drivers/wiki
      -T:       git git://opensource.wolfsonmicro.com/linux-2.6-touch
      -W:       http://opensource.wolfsonmicro.com/node/7
 -  - -S:       Supported
 -  - -F:       drivers/input/touchscreen/*wm97*
 -  - -F:       include/linux/wm97xx.h
 -  - -
       WOLFSON MICROELECTRONICS DRIVERS
       L:       patches@opensource.wolfsonmicro.com
      -T:       git git://opensource.wolfsonmicro.com/linux-2.6-asoc
      -T:       git git://opensource.wolfsonmicro.com/linux-2.6-audioplus
      -W:       http://opensource.wolfsonmicro.com/content/linux-drivers-wolfson-devices
      +T:       git https://github.com/CirrusLogic/linux-drivers.git
      +W:       https://github.com/CirrusLogic/linux-drivers/wiki
       S:       Supported
       F:       Documentation/hwmon/wm83??
       F:       arch/arm/mach-s3c64xx/mach-crag6410*
Simple merge
Simple merge
@@@@@@@@ -2005,17 -2005,8 -2005,8 -2005,8 -2005,8 -2005,8 -1913,10 +1913,19 @@@@@@@@ static void do_attach(struct iommu_dev_
       static void do_detach(struct iommu_dev_data *dev_data)
       {
        struct amd_iommu *iommu;
++++++  u16 alias;
 +++++ 
 ++++++ /*
 ++++++  * First check if the device is still attached. It might already
 ++++++  * be detached from its domain because the generic
 ++++++  * iommu_detach_group code detached it and we try again here in
 ++++++  * our alias handling.
 ++++++  */
 ++++++ if (!dev_data->domain)
 ++++++         return;
      +
        iommu = amd_iommu_rlookup_table[dev_data->devid];
++++++  alias = amd_iommu_alias_table[dev_data->devid];
       
        /* decrease reference counters */
        dev_data->domain->dev_iommu[iommu->index] -= 1;
@@@@@@@@ -604,15 -604,15 -604,15 -604,15 -604,15 -604,15 -577,12 +577,12 @@@@@@@@ static void __init free_event_buffer(st
       }
       
       /* allocates the memory where the IOMMU will log its events to */
------ static u8 * __init alloc_ppr_log(struct amd_iommu *iommu)
++++++ static int __init alloc_ppr_log(struct amd_iommu *iommu)
       {
------  iommu->ppr_log = (u8 *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
------                                          get_order(PPR_LOG_SIZE));
 ----- 
 -----  if (iommu->ppr_log == NULL)
 -----          return NULL;
++++++  iommu->ppr_log = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
++++++                                            get_order(PPR_LOG_SIZE));
       
-       if (iommu->ppr_log == NULL)
-               return NULL;
-      
------  return iommu->ppr_log;
++++++  return iommu->ppr_log ? 0 : -ENOMEM;
       }
       
       static void iommu_enable_ppr_log(struct amd_iommu *iommu)
       #define IOMMU_PTE_IR (1ULL << 61)
       #define IOMMU_PTE_IW (1ULL << 62)
       
 ----- #define DTE_FLAG_IOTLB   (0x01UL << 32)
 ----- #define DTE_FLAG_GV      (0x01ULL << 55)
++++++ #define DTE_FLAG_IOTLB   (1ULL << 32)
++++++ #define DTE_FLAG_GV      (1ULL << 55)
 ++++++#define DTE_FLAG_MASK    (0x3ffULL << 32)
-      #define DTE_FLAG_IOTLB   (0x01UL << 32)
-      #define DTE_FLAG_GV      (0x01ULL << 55)
       #define DTE_GLX_SHIFT    (56)
       #define DTE_GLX_MASK     (3)
       
Simple merge
@@@@@@@@ -1363,10 -1363,10 -1363,10 -1366,10 -1363,10 -1348,13 -1363,10 +1351,13 @@@@@@@@ static int arm_smmu_init_platform_devic
       
       static int arm_smmu_add_device(struct device *dev)
       {
----- - if (dev_is_pci(dev))
----- -         return arm_smmu_add_pci_device(to_pci_dev(dev));
+++++ + struct iommu_group *group;
+++ + +
   -    return arm_smmu_add_platform_device(dev);
+++++ + group = iommu_group_get_for_dev(dev);
+++++ + if (IS_ERR(group))
+++++ +         return PTR_ERR(group);
   +   
--- - - return arm_smmu_add_platform_device(dev);
+++++ + return 0;
       }
       
       static void arm_smmu_remove_device(struct device *dev)
Simple merge