On 06/05/2014 06:19 PM, Pranith Kumar wrote:
use the documented atomic_cmpxchg instead of __cmpxchg64
This kills the last user of said API in drivers code.
Signed-off-by: Pranith Kumar <bobby.pr...@gmail.com>
---
drivers/iommu/intel-iommu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 6bb3277..270113f 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -293,7 +293,7 @@ static inline u64 dma_pte_addr(struct dma_pte *pte)
return pte->val & VTD_PAGE_MASK;
#else
/* Must have a full atomic 64-bit read */
- return __cmpxchg64(&pte->val, 0ULL, 0ULL) & VTD_PAGE_MASK;
+ return atomic_cmpxchg(&pte->val, 0ULL, 0ULL) & VTD_PAGE_MASK;
This is not equivalent.
The __cmpxchg64() is specifically being used in this case
when !CONFIG_64BIT for a full 64-bit RMW, whereas atomic_cmpxchg()
uses ints which would be 32-bit RMW.
Regards,
Peter Hurley
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu