From: Lucas Stach Date: Thu, 7 Sep 2017 13:41:38 +0000 (+0200) Subject: drm/etnaviv: iommuv1: remove map_lock X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=86666c54c801da7860f9d273b5e6fc30e210e219;p=openwrt%2Fstaging%2Fblogic.git 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 Reviewed-by: Philipp Zabel Reviewed-By: Wladimir J. van der Laan --- diff --git a/drivers/gpu/drm/etnaviv/etnaviv_iommu.c b/drivers/gpu/drm/etnaviv/etnaviv_iommu.c index 33084cbc8b27..2ffdb27e4ac2 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_iommu.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_iommu.c @@ -42,7 +42,6 @@ struct etnaviv_iommu_domain { void *bad_page_cpu; dma_addr_t bad_page_dma; struct etnaviv_iommu_domain_pgtable pgtable; - spinlock_t map_lock; }; 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->bad_page_dma; - spin_lock_init(&etnaviv_domain->map_lock); - return 0; } @@ -110,9 +107,7 @@ static int etnaviv_iommuv1_map(struct iommu_domain *domain, unsigned long iova, if (size != SZ_4K) return -EINVAL; - spin_lock(&etnaviv_domain->map_lock); etnaviv_domain->pgtable.pgtable[index] = paddr; - spin_unlock(&etnaviv_domain->map_lock); return 0; } @@ -126,9 +121,7 @@ static size_t etnaviv_iommuv1_unmap(struct iommu_domain *domain, if (size != SZ_4K) return -EINVAL; - spin_lock(&etnaviv_domain->map_lock); etnaviv_domain->pgtable.pgtable[index] = etnaviv_domain->bad_page_dma; - spin_unlock(&etnaviv_domain->map_lock); return SZ_4K; }