diff options
4 files changed, 9 insertions, 13 deletions
diff --git a/drivers/staging/unisys/channels/channel.c b/drivers/staging/unisys/channels/channel.c index ade2fe0..b4bdee4 100644 --- a/drivers/staging/unisys/channels/channel.c +++ b/drivers/staging/unisys/channels/channel.c @@ -75,7 +75,7 @@ visor_signal_insert(CHANNEL_HEADER __iomem *pChannel, u32 Queue, void *pSignal) (head * readl(&pqhdr->SignalSize)); memcpy_toio(psignal, pSignal, readl(&pqhdr->SignalSize)); - VolatileBarrier(); + mb(); /* channel synch */ writel(head, &pqhdr->Head); writeq(readq(&pqhdr->NumSignalsSent) + 1, &pqhdr->NumSignalsSent); @@ -128,7 +128,7 @@ visor_signal_remove(CHANNEL_HEADER __iomem *pChannel, u32 Queue, void *pSignal) (tail * readl(&pqhdr->SignalSize)); memcpy_fromio(pSignal, psource, readl(&pqhdr->SignalSize)); - VolatileBarrier(); + mb(); /* channel synch */ writel(tail, &pqhdr->Tail); writeq(readq(&pqhdr->NumSignalsReceived) + 1, @@ -186,7 +186,7 @@ SignalRemoveAll(pCHANNEL_HEADER pChannel, u32 Queue, void *pSignal) memcpy((char *) pSignal + (pqhdr->SignalSize * signalCount), psource, pqhdr->SignalSize); - VolatileBarrier(); + mb(); /* channel synch */ pqhdr->Tail = tail; signalCount++; diff --git a/drivers/staging/unisys/common-spar/include/channels/channel.h b/drivers/staging/unisys/common-spar/include/channels/channel.h index 15a8d6b..bc92333 100644 --- a/drivers/staging/unisys/common-spar/include/channels/channel.h +++ b/drivers/staging/unisys/common-spar/include/channels/channel.h @@ -157,7 +157,7 @@ ULTRA_CHANNELCLI_STRING(u32 v) PathName_Last_N_Nodes(__FILE__, 4), __LINE__); \ writel(newstate, &((CHANNEL_HEADER __iomem *) \ (pChan))->CliStateOS); \ - MEMORYBARRIER; \ + mb(); /* required for channel synch */ \ } while (0) #define ULTRA_CHANNEL_CLIENT_ACQUIRE_OS(pChan, chanId, logCtx) \ @@ -458,7 +458,7 @@ ULTRA_channel_client_acquire_os(void __iomem *pChannel, u8 *chanId, CHANNELCLI_OWNED, PathName_Last_N_Nodes((u8 *) file, 4), line); writel(CHANNELCLI_OWNED, &pChan->CliStateOS); - MEMORYBARRIER; + mb(); /* required for channel synch */ } if (readl(&pChan->CliStateOS) == CHANNELCLI_OWNED) { if (readb(&pChan->CliErrorOS) != 0) { @@ -502,7 +502,7 @@ ULTRA_channel_client_acquire_os(void __iomem *pChannel, u8 *chanId, return 0; } writel(CHANNELCLI_BUSY, &pChan->CliStateOS); - MEMORYBARRIER; + mb(); /* required for channel synch */ if (readl(&pChan->CliStateBoot) == CHANNELCLI_BUSY) { if ((readb(&pChan->CliErrorOS) & ULTRA_CLIERROROS_THROTTLEMSG_BUSY) == 0) { @@ -521,7 +521,7 @@ ULTRA_channel_client_acquire_os(void __iomem *pChannel, u8 *chanId, } /* reset busy */ writel(CHANNELCLI_ATTACHED, &pChan->CliStateOS); - MEMORYBARRIER; + mb(); /* required for channel synch */ return 0; } if (readb(&pChan->CliErrorOS) != 0) { diff --git a/drivers/staging/unisys/include/commontypes.h b/drivers/staging/unisys/include/commontypes.h index 53ac770..34b31ad 100644 --- a/drivers/staging/unisys/include/commontypes.h +++ b/drivers/staging/unisys/include/commontypes.h @@ -30,8 +30,6 @@ typedef u64 GUEST_PHYSICAL_ADDRESS; #define INLINE inline #define OFFSETOF offsetof -#define MEMORYBARRIER mb() - #define CHANNEL_GUID_MISMATCH(chType, chName, field, expected, actual, fil, \ lin, logCtx) \ do { \ @@ -63,7 +61,5 @@ typedef u64 GUEST_PHYSICAL_ADDRESS; LineNumber, Str, args...) \ pr_info(Str, ## args) -#define VolatileBarrier() MEMORYBARRIER - #endif diff --git a/drivers/staging/unisys/visorchannel/visorchannel_funcs.c b/drivers/staging/unisys/visorchannel/visorchannel_funcs.c index 62ec928..947b23c 100644 --- a/drivers/staging/unisys/visorchannel/visorchannel_funcs.c +++ b/drivers/staging/unisys/visorchannel/visorchannel_funcs.c @@ -424,7 +424,7 @@ visorchannel_signalremove(VISORCHANNEL *channel, u32 queue, void *msg) /* For each data field in SIGNAL_QUEUE_HEADER that was modified, * update host memory. */ - MEMORYBARRIER; + mb(); /* required for channel synch */ if (!SIG_WRITE_FIELD(channel, queue, &sig_hdr, Tail)) { ERRDRV("visor_memregion_write of Tail failed: (status=%d)\n", rc); @@ -477,7 +477,7 @@ visorchannel_signalinsert(VISORCHANNEL *channel, u32 queue, void *msg) /* For each data field in SIGNAL_QUEUE_HEADER that was modified, * update host memory. */ - MEMORYBARRIER; + mb(); /* required for channel synch */ if (!SIG_WRITE_FIELD(channel, queue, &sig_hdr, Head)) { ERRDRV("visor_memregion_write of Head failed: (status=%d)\n", rc); |