mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Julian Vetter <julian@outer-limits.org>
To: Arnd Bergmann <arnd@arndb.de>,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	Helge Deller <deller@gmx.de>
Cc: linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] parisc: Remove memcpy_fromio
Date: Mon, 3 Feb 2025 11:21:09 +0100	[thread overview]
Message-ID: <65e57211-7983-477a-af94-1bdab57574b4@outer-limits.org> (raw)
In-Reply-To: <543bd0f6-b25d-48b4-8039-496b8ddd10ce@app.fastmail.com>

On 1/31/25 08:28, Arnd Bergmann wrote:
> On Thu, Jan 30, 2025, at 14:48, Julian Vetter wrote:
>> Fully migrate parisc to the IO functions from lib/iomem_copy.c. In a
>> recent patch the functions memset_io and memcpy_toio were removed, but
>> the memcpy_fromio was kept, because for very short sequences it does
>> half word accesses, whereas the functions in lib/iomem_copy.c do byte
>> accesses until the memory is naturally aligned and then do machine word
>> accesses. But I don't think the single half-word access merits keeping
>> the arch specific implementation, so, remove it as well.
>>
>> Signed-off-by: Julian Vetter <julian@outer-limits.org>
> 
> Acked-by: Arnd Bergmann <arnd@arndb.de>
> 
> This one looks fairly obvious. It might be nice to also
> clean up the {in,out}s{b,w,l} helper functions in the same
> file, but I don't understand why those are special
> in the first place.
> 
Not sure, either. But some comments contain: "just using the inlined 
version of the inw() breaks things". This is clear, and what you point 
out below already, these parisc specific functions deal with unaligned 
buffers, so using, e.g., the generic "inw()" will surely break things.

> Those functions have been unchanged since before the git
> history and there are some comments that I don't find helpful.
> One thing they do is to deal with unaligned memory buffers,
> which the generic ones don't, but that could be easily added
> using get_unaligned/put_unaligned, expecting the compiler
> to optimize the memory side of the transfer.

I'm not sure what you suggest. Do you mean adding 
get_unaligned/put_unaligned in the generic include/asm-generic/io.h 
functions, or just adding get_unaligned/put_unaligned to the body of the 
parisc specific functions? Instead of all the "switch... case 0x2..." code?

Julian

> 
>       Arnd

  reply	other threads:[~2025-02-03 10:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-30 13:48 Julian Vetter
2025-01-31  7:28 ` Arnd Bergmann
2025-02-03 10:21   ` Julian Vetter [this message]
2025-02-03 10:49     ` Arnd Bergmann
2025-02-03 18:39   ` Helge Deller

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=65e57211-7983-477a-af94-1bdab57574b4@outer-limits.org \
    --to=julian@outer-limits.org \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=arnd@arndb.de \
    --cc=deller@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    /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®