mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
To: Julian Vetter <julian@outer-limits.org>,
	Arnd Bergmann <arnd@arndb.de>,
	 Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>
Cc: linux-sh@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] sh: Remove memset_io from sh specific code
Date: Thu, 30 Jan 2025 09:32:04 +0100	[thread overview]
Message-ID: <3ec5a6621cabddad686f727d20b725ed9658dddd.camel@physik.fu-berlin.de> (raw)
In-Reply-To: <20241204164020.48361-1-julian@outer-limits.org>

Hi Julian,

On Wed, 2024-12-04 at 17:40 +0100, Julian Vetter wrote:
> Remove memset_io from sh specific code and fall back to the new
> implementation from lib/iomem_copy.c. It uses word accesses if the
> buffer is aligned and only falls back to byte accesses for potentially
> unaligned parts of a buffer (i.e., at the beginning and end).
> 
> Signed-off-by: Julian Vetter <julian@outer-limits.org>
> ---
>  arch/sh/include/asm/io.h |  2 --
>  arch/sh/kernel/io.c      | 14 --------------
>  2 files changed, 16 deletions(-)
> 
> diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
> index cf5eab840d57..3771bfa984af 100644
> --- a/arch/sh/include/asm/io.h
> +++ b/arch/sh/include/asm/io.h
> @@ -269,12 +269,10 @@ __BUILD_IOPORT_STRING(q, u64)
>  #define IO_SPACE_LIMIT 0xffffffff
>  
>  /* We really want to try and get these to memcpy etc */
> -#define memset_io memset_io
>  #define memcpy_fromio memcpy_fromio
>  #define memcpy_toio memcpy_toio
>  void memcpy_fromio(void *, const volatile void __iomem *, unsigned long);
>  void memcpy_toio(volatile void __iomem *, const void *, unsigned long);
> -void memset_io(volatile void __iomem *, int, unsigned long);
>  
>  /* Quad-word real-mode I/O, don't ask.. */
>  unsigned long long peek_real_address_q(unsigned long long addr);
> diff --git a/arch/sh/kernel/io.c b/arch/sh/kernel/io.c
> index da22f3b32d30..16e963bab595 100644
> --- a/arch/sh/kernel/io.c
> +++ b/arch/sh/kernel/io.c
> @@ -95,17 +95,3 @@ void memcpy_toio(volatile void __iomem *to, const void *from, unsigned long coun
>  	mb();
>  }
>  EXPORT_SYMBOL(memcpy_toio);
> -
> -/*
> - * "memset" on IO memory space.
> - * This needs to be optimized.
> - */
> -void memset_io(volatile void __iomem *dst, int c, unsigned long count)
> -{
> -        while (count) {
> -                count--;
> -                writeb(c, dst);
> -                dst++;
> -        }
> -}
> -EXPORT_SYMBOL(memset_io);

Looks good to me. I looked up the generic implementation in lib/iomem_copy.c and
it looks much better than the sh-specific implementation due to the smarter
use of conditional word-long memset.

Reviewed-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

      reply	other threads:[~2025-01-30  8:32 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-04 16:40 Julian Vetter
2025-01-30  8:32 ` John Paul Adrian Glaubitz [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3ec5a6621cabddad686f727d20b725ed9658dddd.camel@physik.fu-berlin.de \
    --to=glaubitz@physik.fu-berlin.de \
    --cc=arnd@arndb.de \
    --cc=dalias@libc.org \
    --cc=julian@outer-limits.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®