diff options
Diffstat (limited to 'include/asm-powerpc/io.h')
-rw-r--r-- | include/asm-powerpc/io.h | 33 |
1 files changed, 5 insertions, 28 deletions
diff --git a/include/asm-powerpc/io.h b/include/asm-powerpc/io.h index cbbd8c648df1..c2c5f14b5f5f 100644 --- a/include/asm-powerpc/io.h +++ b/include/asm-powerpc/io.h | |||
@@ -163,8 +163,11 @@ extern void _outsl_ns(volatile u32 __iomem *port, const void *buf, long count); | |||
163 | 163 | ||
164 | static inline void mmiowb(void) | 164 | static inline void mmiowb(void) |
165 | { | 165 | { |
166 | __asm__ __volatile__ ("sync" : : : "memory"); | 166 | unsigned long tmp; |
167 | get_paca()->io_sync = 0; | 167 | |
168 | __asm__ __volatile__("sync; li %0,0; stb %0,%1(13)" | ||
169 | : "=&r" (tmp) : "i" (offsetof(struct paca_struct, io_sync)) | ||
170 | : "memory"); | ||
168 | } | 171 | } |
169 | 172 | ||
170 | /* | 173 | /* |
@@ -404,32 +407,6 @@ static inline void __out_be64(volatile unsigned long __iomem *addr, unsigned lon | |||
404 | 407 | ||
405 | #include <asm/eeh.h> | 408 | #include <asm/eeh.h> |
406 | 409 | ||
407 | /** | ||
408 | * check_signature - find BIOS signatures | ||
409 | * @io_addr: mmio address to check | ||
410 | * @signature: signature block | ||
411 | * @length: length of signature | ||
412 | * | ||
413 | * Perform a signature comparison with the mmio address io_addr. This | ||
414 | * address should have been obtained by ioremap. | ||
415 | * Returns 1 on a match. | ||
416 | */ | ||
417 | static inline int check_signature(const volatile void __iomem * io_addr, | ||
418 | const unsigned char *signature, int length) | ||
419 | { | ||
420 | int retval = 0; | ||
421 | do { | ||
422 | if (readb(io_addr) != *signature) | ||
423 | goto out; | ||
424 | io_addr++; | ||
425 | signature++; | ||
426 | length--; | ||
427 | } while (length); | ||
428 | retval = 1; | ||
429 | out: | ||
430 | return retval; | ||
431 | } | ||
432 | |||
433 | /* Nothing to do */ | 410 | /* Nothing to do */ |
434 | 411 | ||
435 | #define dma_cache_inv(_start,_size) do { } while (0) | 412 | #define dma_cache_inv(_start,_size) do { } while (0) |