Lines Matching refs:pmdp
48 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd)
50 pxx_xchg64(pmd, pmdp, native_pmd_val(pmd));
74 static inline void native_pmd_clear(pmd_t *pmdp)
76 WRITE_ONCE(pmdp->pmd_low, 0);
78 WRITE_ONCE(pmdp->pmd_high, 0);
108 static inline pmd_t native_pmdp_get_and_clear(pmd_t *pmdp)
110 return pxx_xchg64(pmd, pmdp, 0ULL);
126 unsigned long address, pmd_t *pmdp, pmd_t pmd)
132 * cmpxchg64: we can update pmdp half-by-half without racing with
137 old.pmd_low = xchg(&pmdp->pmd_low, pmd.pmd_low);
138 old.pmd_high = READ_ONCE(pmdp->pmd_high);
139 WRITE_ONCE(pmdp->pmd_high, pmd.pmd_high);
144 return pxx_xchg64(pmd, pmdp, pmd.pmd);