Merge branch 'drm-forlinus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
[pandora-kernel.git] / arch / powerpc / platforms / iseries / lpevents.c
index f0040d4..0b88530 100644 (file)
@@ -17,7 +17,7 @@
 
 #include <asm/system.h>
 #include <asm/paca.h>
-#include <asm/iSeries/ItLpQueue.h>
+#include <asm/iseries/it_lp_queue.h>
 #include <asm/iseries/hv_lp_event.h>
 #include <asm/iseries/hv_call_event.h>
 #include <asm/iseries/it_lp_naca.h>
@@ -53,7 +53,7 @@ static struct HvLpEvent * get_next_hvlpevent(void)
        struct HvLpEvent * event;
        event = (struct HvLpEvent *)hvlpevent_queue.xSlicCurEventPtr;
 
-       if (event->xFlags.xValid) {
+       if (hvlpevent_is_valid(event)) {
                /* rmb() needed only for weakly consistent machines (regatta) */
                rmb();
                /* Set pointer to next potential event */
@@ -84,7 +84,7 @@ int hvlpevent_is_pending(void)
 
        next_event = (struct HvLpEvent *)hvlpevent_queue.xSlicCurEventPtr;
 
-       return next_event->xFlags.xValid |
+       return hvlpevent_is_valid(next_event) ||
                hvlpevent_queue.xPlicOverflowIntPending;
 }
 
@@ -101,18 +101,18 @@ static void hvlpevent_clear_valid(struct HvLpEvent * event)
        switch (extra) {
        case 3:
                tmp = (struct HvLpEvent*)((char*)event + 3 * LpEventAlign);
-               tmp->xFlags.xValid = 0;
+               hvlpevent_invalidate(tmp);
        case 2:
                tmp = (struct HvLpEvent*)((char*)event + 2 * LpEventAlign);
-               tmp->xFlags.xValid = 0;
+               hvlpevent_invalidate(tmp);
        case 1:
                tmp = (struct HvLpEvent*)((char*)event + 1 * LpEventAlign);
-               tmp->xFlags.xValid = 0;
+               hvlpevent_invalidate(tmp);
        }
 
        mb();
 
-       event->xFlags.xValid = 0;
+       hvlpevent_invalidate(event);
 }
 
 void process_hvlpevents(struct pt_regs *regs)