Commit Graph

8 Commits

Author SHA1 Message Date
Ivan Vecera 069881f73a s390: Stop using weak symbols for __iowrite64_copy()
JIRA: https://issues.redhat.com/browse/RHEL-48792

Conflicts:
- simple context conflict due to missing b43b3fff042d ("s390: mm:
  convert to GENERIC_IOREMAP")

commit e7bc47b16622d1016b3b77bbdb20fb9e213045f2
Author: Jason Gunthorpe <jgg@ziepe.ca>
Date:   Thu Apr 11 13:46:16 2024 -0300

    s390: Stop using weak symbols for __iowrite64_copy()

    Complete switching the __iowriteXX_copy() routines over to use #define and
    arch provided inline/macro functions instead of weak symbols.

    S390 has an implementation that simply calls another memcpy
    function. Inline this so the callers don't have to do two jumps.

    Link: https://lore.kernel.org/r/3-v3-1893cd8b9369+1925-mlx5_arm_wc_jgg@nvidia.com
    Acked-by: Niklas Schnelle <schnelle@linux.ibm.com>
    Acked-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2024-07-16 14:13:34 +02:00
Ivan Vecera b74fb65967 x86: Stop using weak symbols for __iowrite32_copy()
JIRA: https://issues.redhat.com/browse/RHEL-48792

Conflicts:
- simple context due to missing 0b1f77e74b5a ("asm-generic/iomap.h:
  remove ARCH_HAS_IOREMAP_xx macros")

commit 20516d6e51dd9994afda8d556507cfbe7853384b
Author: Jason Gunthorpe <jgg@ziepe.ca>
Date:   Thu Apr 11 13:46:14 2024 -0300

    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>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2024-07-16 14:13:17 +02:00
Thomas Gleixner 775c8a3d71 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 504
Based on 1 normalized pattern(s):

  this file is free software you can redistribute it and or modify it
  under the terms of version 2 of the gnu general public license as
  published by the free software foundation this program is
  distributed in the hope that it will be useful but without any
  warranty without even the implied warranty of merchantability or
  fitness for a particular purpose see the gnu general public license
  for more details you should have received a copy of the gnu general
  public license along with this program if not write to the free
  software foundation inc 51 franklin st fifth floor boston ma 02110
  1301 usa

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 8 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Allison Randal <allison@lohutok.net>
Reviewed-by: Enrico Weigelt <info@metux.net>
Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190604081207.443595178@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-19 17:09:56 +02:00
Stephen Boyd a9aec5881b lib/iomap_copy.c: add __ioread32_copy()
Some drivers need to read data out of iomem areas 32-bits at a time.
Add an API to do this.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Cc: <zajec5@gmail.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-01-20 17:09:18 -08:00
Paul Gortmaker 8bc3bcc93a lib: reduce the use of module.h wherever possible
For files only using THIS_MODULE and/or EXPORT_SYMBOL, map
them onto including export.h -- or if the file isn't even
using those, then just delete the include.  Fix up any implicit
include dependencies that were being masked by module.h along
the way.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2012-03-07 15:04:04 -05:00
Brice Goglin 22ae813b85 [PATCH] add __iowrite64_copy
Introduce __iowrite64_copy.  It will be used by the Myri-10G Ethernet
driver to post requests to the NIC.  This driver will be submitted soon.

__iowrite64_copy copies to I/O memory in units of 64 bits when possible (on
64 bit architectures).  It reverts to __iowrite32_copy on 32 bit
architectures.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-20 20:24:58 -07:00
Al Viro ad6b97fc92 [PATCH] iomap_copy fallout (m68k)
added __raw_writel(), sanitized include order in iomap_copy.c

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-02-18 16:30:40 -05:00
Bryan O'Sullivan c27a0d75b3 [PATCH] Introduce __iowrite32_copy
This arch-independent routine copies data to a memory-mapped I/O region,
using 32-bit accesses.  The naming is double-underscored to make it clear
that it does not guarantee write ordering, nor does it perform a memory
barrier afterwards; the kernel doc also explicitly states this.  This style
of access is required by some devices.

This change also introduces include/linux/io.h, at Andrew's suggestion.  It
only has one occupant at the moment, but is a logical destination for
oft-replicated contents of include/asm-*/{io,iomap}.h to migrate to.

Signed-off-by: Bryan O'Sullivan <bos@pathscale.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-01 08:53:13 -08:00