Merge branches 'iommu/fixes', 'arm/rockchip', 'arm/renesas', 'arm/smmu', 'arm/core', 'x86/vt-d', 'x86/amd', 's390' and 'core' into next
This commit is contained in:

@@ -481,7 +481,7 @@ struct deferred_flush_data {
|
||||
struct deferred_flush_table *tables;
|
||||
};
|
||||
|
||||
DEFINE_PER_CPU(struct deferred_flush_data, deferred_flush);
|
||||
static DEFINE_PER_CPU(struct deferred_flush_data, deferred_flush);
|
||||
|
||||
/* bitmap for indexing intel_iommus */
|
||||
static int g_num_of_iommus;
|
||||
@@ -2390,7 +2390,7 @@ static struct dmar_domain *find_domain(struct device *dev)
|
||||
|
||||
/* No lock here, assumes no domain exit in normal case */
|
||||
info = dev->archdata.iommu;
|
||||
if (info)
|
||||
if (likely(info))
|
||||
return info->domain;
|
||||
return NULL;
|
||||
}
|
||||
@@ -3478,7 +3478,7 @@ static unsigned long intel_alloc_iova(struct device *dev,
|
||||
return iova_pfn;
|
||||
}
|
||||
|
||||
static struct dmar_domain *__get_valid_domain_for_dev(struct device *dev)
|
||||
static struct dmar_domain *get_valid_domain_for_dev(struct device *dev)
|
||||
{
|
||||
struct dmar_domain *domain, *tmp;
|
||||
struct dmar_rmrr_unit *rmrr;
|
||||
@@ -3525,18 +3525,6 @@ out:
|
||||
return domain;
|
||||
}
|
||||
|
||||
static inline struct dmar_domain *get_valid_domain_for_dev(struct device *dev)
|
||||
{
|
||||
struct device_domain_info *info;
|
||||
|
||||
/* No lock here, assumes no domain exit in normal case */
|
||||
info = dev->archdata.iommu;
|
||||
if (likely(info))
|
||||
return info->domain;
|
||||
|
||||
return __get_valid_domain_for_dev(dev);
|
||||
}
|
||||
|
||||
/* Check if the dev needs to go through non-identity map and unmap process.*/
|
||||
static int iommu_no_mapping(struct device *dev)
|
||||
{
|
||||
@@ -3725,10 +3713,8 @@ static void add_unmap(struct dmar_domain *dom, unsigned long iova_pfn,
|
||||
struct intel_iommu *iommu;
|
||||
struct deferred_flush_entry *entry;
|
||||
struct deferred_flush_data *flush_data;
|
||||
unsigned int cpuid;
|
||||
|
||||
cpuid = get_cpu();
|
||||
flush_data = per_cpu_ptr(&deferred_flush, cpuid);
|
||||
flush_data = raw_cpu_ptr(&deferred_flush);
|
||||
|
||||
/* Flush all CPUs' entries to avoid deferring too much. If
|
||||
* this becomes a bottleneck, can just flush us, and rely on
|
||||
@@ -3761,8 +3747,6 @@ static void add_unmap(struct dmar_domain *dom, unsigned long iova_pfn,
|
||||
}
|
||||
flush_data->size++;
|
||||
spin_unlock_irqrestore(&flush_data->lock, flags);
|
||||
|
||||
put_cpu();
|
||||
}
|
||||
|
||||
static void intel_unmap(struct device *dev, dma_addr_t dev_addr, size_t size)
|
||||
@@ -3973,7 +3957,7 @@ static int intel_mapping_error(struct device *dev, dma_addr_t dma_addr)
|
||||
return !dma_addr;
|
||||
}
|
||||
|
||||
struct dma_map_ops intel_dma_ops = {
|
||||
const struct dma_map_ops intel_dma_ops = {
|
||||
.alloc = intel_alloc_coherent,
|
||||
.free = intel_free_coherent,
|
||||
.map_sg = intel_map_sg,
|
||||
|
Reference in New Issue
Block a user