x86: Stop using weak symbols for __iowrite32_copy()
authorJason Gunthorpe <jgg@nvidia.com>
Thu, 11 Apr 2024 16:46:14 +0000 (13:46 -0300)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 22 Apr 2024 20:11:19 +0000 (17:11 -0300)
commit20516d6e51dd9994afda8d556507cfbe7853384b
tree15e4bdf535cbe812c0c232481c3a5cefbb529c4b
parent1a633bdc8fd9e9e4a9f9a668ae122edfc5aacc86
x86: Stop using weak symbols for __iowrite32_copy()

Start switching iomap_copy routines over to use #define and arch provided
inline/macro functions instead of weak symbols.

Inline functions allow more compiler optimization and this is often a
driver hot path.

x86 has the only weak implementation for __iowrite32_copy(), so replace it
with a static inline containing the same single instruction inline
assembly. The compiler will generate the "mov edx,ecx" in a more optimal
way.

Remove iomap_copy_64.S

Link: https://lore.kernel.org/r/1-v3-1893cd8b9369+1925-mlx5_arm_wc_jgg@nvidia.com
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
arch/x86/include/asm/io.h
arch/x86/lib/Makefile
arch/x86/lib/iomap_copy_64.S [deleted file]
include/linux/io.h
lib/iomap_copy.c