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

Reply via email to