drm/etnaviv: iommuv1: remove map_lock
It wasn't protecting anything, as the single word writes used to set up or tear down a translation are already inherently atomic, so the spinlock is pure overhead. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-By: Wladimir J. van der Laan <laanwj@gmail.com>
This commit is contained in:
parent
bd2442bc1b
commit
86666c54c8
|
@ -42,7 +42,6 @@ struct etnaviv_iommu_domain {
|
||||||
void *bad_page_cpu;
|
void *bad_page_cpu;
|
||||||
dma_addr_t bad_page_dma;
|
dma_addr_t bad_page_dma;
|
||||||
struct etnaviv_iommu_domain_pgtable pgtable;
|
struct etnaviv_iommu_domain_pgtable pgtable;
|
||||||
spinlock_t map_lock;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct etnaviv_iommu_domain *to_etnaviv_domain(struct iommu_domain *domain)
|
static struct etnaviv_iommu_domain *to_etnaviv_domain(struct iommu_domain *domain)
|
||||||
|
@ -81,8 +80,6 @@ static int __etnaviv_iommu_init(struct etnaviv_iommu_domain *etnaviv_domain)
|
||||||
etnaviv_domain->pgtable.pgtable[i] =
|
etnaviv_domain->pgtable.pgtable[i] =
|
||||||
etnaviv_domain->bad_page_dma;
|
etnaviv_domain->bad_page_dma;
|
||||||
|
|
||||||
spin_lock_init(&etnaviv_domain->map_lock);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,9 +107,7 @@ static int etnaviv_iommuv1_map(struct iommu_domain *domain, unsigned long iova,
|
||||||
if (size != SZ_4K)
|
if (size != SZ_4K)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
spin_lock(&etnaviv_domain->map_lock);
|
|
||||||
etnaviv_domain->pgtable.pgtable[index] = paddr;
|
etnaviv_domain->pgtable.pgtable[index] = paddr;
|
||||||
spin_unlock(&etnaviv_domain->map_lock);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -126,9 +121,7 @@ static size_t etnaviv_iommuv1_unmap(struct iommu_domain *domain,
|
||||||
if (size != SZ_4K)
|
if (size != SZ_4K)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
spin_lock(&etnaviv_domain->map_lock);
|
|
||||||
etnaviv_domain->pgtable.pgtable[index] = etnaviv_domain->bad_page_dma;
|
etnaviv_domain->pgtable.pgtable[index] = etnaviv_domain->bad_page_dma;
|
||||||
spin_unlock(&etnaviv_domain->map_lock);
|
|
||||||
|
|
||||||
return SZ_4K;
|
return SZ_4K;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue