Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 28149
b: refs/heads/master
c: 22ae813
h: refs/heads/master
i:
  28147: 70fd281
v: v3
  • Loading branch information
Brice Goglin authored and Linus Torvalds committed Jun 21, 2006
1 parent d30da06 commit fc7e419
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 34641a58a227e498adf471ab016bd054cc399d7e
refs/heads/master: 22ae813b85df7c0b0fc7c8d6f336d6a9f566ff97
1 change: 1 addition & 0 deletions trunk/include/linux/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,6 @@
#include <asm/io.h>

void __iowrite32_copy(void __iomem *to, const void *from, size_t count);
void __iowrite64_copy(void __iomem *to, const void *from, size_t count);

#endif /* _LINUX_IO_H */
28 changes: 28 additions & 0 deletions trunk/lib/iomap_copy.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,31 @@ void __attribute__((weak)) __iowrite32_copy(void __iomem *to,
__raw_writel(*src++, dst++);
}
EXPORT_SYMBOL_GPL(__iowrite32_copy);

/**
* __iowrite64_copy - copy data to MMIO space, in 64-bit or 32-bit units
* @to: destination, in MMIO space (must be 64-bit aligned)
* @from: source (must be 64-bit aligned)
* @count: number of 64-bit quantities to copy
*
* Copy data from kernel space to MMIO space, in units of 32 or 64 bits at a
* time. Order of access is not guaranteed, nor is a memory barrier
* performed afterwards.
*/
void __attribute__((weak)) __iowrite64_copy(void __iomem *to,
const void *from,
size_t count)
{
#ifdef CONFIG_64BIT
u64 __iomem *dst = to;
const u64 *src = from;
const u64 *end = src + count;

while (src < end)
__raw_writeq(*src++, dst++);
#else
__iowrite32_copy(to, from, count * 2);
#endif
}

EXPORT_SYMBOL_GPL(__iowrite64_copy);

0 comments on commit fc7e419

Please sign in to comment.