|
@@ -15,6 +15,7 @@ static inline void wr_fence(void)
|
|
volatile int *flushptr = (volatile int *) LINSYSEVENT_WR_FENCE;
|
|
volatile int *flushptr = (volatile int *) LINSYSEVENT_WR_FENCE;
|
|
barrier();
|
|
barrier();
|
|
*flushptr = 0;
|
|
*flushptr = 0;
|
|
|
|
+ barrier();
|
|
}
|
|
}
|
|
|
|
|
|
#else /* CONFIG_METAG_META21 */
|
|
#else /* CONFIG_METAG_META21 */
|
|
@@ -35,6 +36,7 @@ static inline void wr_fence(void)
|
|
*flushptr = 0;
|
|
*flushptr = 0;
|
|
*flushptr = 0;
|
|
*flushptr = 0;
|
|
*flushptr = 0;
|
|
*flushptr = 0;
|
|
|
|
+ barrier();
|
|
}
|
|
}
|
|
|
|
|
|
#endif /* !CONFIG_METAG_META21 */
|
|
#endif /* !CONFIG_METAG_META21 */
|
|
@@ -68,6 +70,7 @@ static inline void fence(void)
|
|
volatile int *flushptr = (volatile int *) LINSYSEVENT_WR_ATOMIC_UNLOCK;
|
|
volatile int *flushptr = (volatile int *) LINSYSEVENT_WR_ATOMIC_UNLOCK;
|
|
barrier();
|
|
barrier();
|
|
*flushptr = 0;
|
|
*flushptr = 0;
|
|
|
|
+ barrier();
|
|
}
|
|
}
|
|
#define smp_mb() fence()
|
|
#define smp_mb() fence()
|
|
#define smp_rmb() fence()
|
|
#define smp_rmb() fence()
|