All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sai Prakash Ranjan <quic_saipraka@quicinc.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Will Deacon <will@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Marc Zyngier <maz@kernel.org>,
	gregkh <gregkh@linuxfoundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	<quic_psodagud@quicinc.com>
Subject: Re: [PATCHv5 1/4] arm64: io: Use asm-generic high level MMIO accessors
Date: Mon, 6 Dec 2021 16:42:01 +0530	[thread overview]
Message-ID: <7b2b5888-c2ca-2ca0-8c0c-32128fcb37d2@quicinc.com> (raw)
In-Reply-To: <CAK8P3a2JSSJxs92uEiJQAa0iQOvA6NDuww3+Br5cAxYvXVOOAQ@mail.gmail.com>

On 12/6/2021 2:20 PM, Arnd Bergmann wrote:
> On Mon, Dec 6, 2021 at 9:28 AM Sai Prakash Ranjan
> <quic_saipraka@quicinc.com> wrote:
>> Remove custom arm64 MMIO accessors read{b,w,l,q} and their relaxed
>> versions in support to use asm-generic ones. Also define arm64
>> barrier macros to override the asm-generic defined barriers.
>>
>> Suggested-by: Arnd Bergmann <arnd@arndb.de>
>> Signed-off-by: Sai Prakash Ranjan <quic_saipraka@quicinc.com>
> This looks correct, but I would change one detail:
>
>> +#define __io_ar(v)             __io_par(v)
>> +#define __io_bw()              __iowmb()
>> +#define __io_br(v)
>> +#define __io_aw(v)
> The default __io_par() is defined in terms of __io_ar(), so it would
> be more logical
> to remove the custom __io_par() and just define __io_ar() here.

Makes sense, will do this.

> I think it would be even better to flip these around and make the low-level
> definitions __io_ar() and __io_bw(), and then defining the arm64 specific
> macros based on those:
>
> /* arm64-specific, don't use in portable drivers */
> #define __iormb(v)     __io_ar(v)
> #define __iowmb()      __io_bw()
> #define __iomb()        dma_mb()
>
>

So __iormb on arm64 has some dummy control dependency stuff as well based on
("arm64: io: Ensure calls to delay routines are ordered against prior 
readX()") and then we would
need to change __iormb definition to __io_ar which doesn't seem like 
__iormb definition to be exact
right?

Thanks,
Sai

WARNING: multiple messages have this Message-ID (diff)
From: Sai Prakash Ranjan <quic_saipraka@quicinc.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Will Deacon <will@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	 Steven Rostedt <rostedt@goodmis.org>,
	Marc Zyngier <maz@kernel.org>,
	gregkh <gregkh@linuxfoundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	<quic_psodagud@quicinc.com>
Subject: Re: [PATCHv5 1/4] arm64: io: Use asm-generic high level MMIO accessors
Date: Mon, 6 Dec 2021 16:42:01 +0530	[thread overview]
Message-ID: <7b2b5888-c2ca-2ca0-8c0c-32128fcb37d2@quicinc.com> (raw)
In-Reply-To: <CAK8P3a2JSSJxs92uEiJQAa0iQOvA6NDuww3+Br5cAxYvXVOOAQ@mail.gmail.com>

On 12/6/2021 2:20 PM, Arnd Bergmann wrote:
> On Mon, Dec 6, 2021 at 9:28 AM Sai Prakash Ranjan
> <quic_saipraka@quicinc.com> wrote:
>> Remove custom arm64 MMIO accessors read{b,w,l,q} and their relaxed
>> versions in support to use asm-generic ones. Also define arm64
>> barrier macros to override the asm-generic defined barriers.
>>
>> Suggested-by: Arnd Bergmann <arnd@arndb.de>
>> Signed-off-by: Sai Prakash Ranjan <quic_saipraka@quicinc.com>
> This looks correct, but I would change one detail:
>
>> +#define __io_ar(v)             __io_par(v)
>> +#define __io_bw()              __iowmb()
>> +#define __io_br(v)
>> +#define __io_aw(v)
> The default __io_par() is defined in terms of __io_ar(), so it would
> be more logical
> to remove the custom __io_par() and just define __io_ar() here.

Makes sense, will do this.

> I think it would be even better to flip these around and make the low-level
> definitions __io_ar() and __io_bw(), and then defining the arm64 specific
> macros based on those:
>
> /* arm64-specific, don't use in portable drivers */
> #define __iormb(v)     __io_ar(v)
> #define __iowmb()      __io_bw()
> #define __iomb()        dma_mb()
>
>

So __iormb on arm64 has some dummy control dependency stuff as well based on
("arm64: io: Ensure calls to delay routines are ordered against prior 
readX()") and then we would
need to change __iormb definition to __io_ar which doesn't seem like 
__iormb definition to be exact
right?

Thanks,
Sai

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-12-06 11:12 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-06  8:28 [PATCHv5 0/4] tracing/rwmmio/arm64: Add support to trace register reads/writes Sai Prakash Ranjan
2021-12-06  8:28 ` Sai Prakash Ranjan
2021-12-06  8:28 ` [PATCHv5 1/4] arm64: io: Use asm-generic high level MMIO accessors Sai Prakash Ranjan
2021-12-06  8:28   ` Sai Prakash Ranjan
2021-12-06  8:50   ` Arnd Bergmann
2021-12-06  8:50     ` Arnd Bergmann
2021-12-06 11:12     ` Sai Prakash Ranjan [this message]
2021-12-06 11:12       ` Sai Prakash Ranjan
2021-12-06 11:30       ` Arnd Bergmann
2021-12-06 11:30         ` Arnd Bergmann
2021-12-06 13:52         ` Sai Prakash Ranjan
2021-12-06 13:52           ` Sai Prakash Ranjan
2021-12-06 15:15           ` Arnd Bergmann
2021-12-06 15:15             ` Arnd Bergmann
2021-12-06 15:57             ` Sai Prakash Ranjan
2021-12-06 15:57               ` Sai Prakash Ranjan
2021-12-06 15:36   ` kernel test robot
2021-12-06 15:36     ` kernel test robot
2021-12-06 15:36     ` kernel test robot
2021-12-07 13:04   ` kernel test robot
2021-12-07 13:04     ` kernel test robot
2021-12-07 13:04     ` kernel test robot
2021-12-06  8:28 ` [PATCHv5 2/4] irqchip/tegra: Fix overflow implicit truncation warnings Sai Prakash Ranjan
2021-12-06  8:28   ` Sai Prakash Ranjan
2021-12-06  8:51   ` Arnd Bergmann
2021-12-06  8:51     ` Arnd Bergmann
2021-12-06  8:28 ` [PATCHv5 3/4] tracing: Add register read/write tracing support Sai Prakash Ranjan
2021-12-06  8:28   ` Sai Prakash Ranjan
2021-12-06  8:59   ` Arnd Bergmann
2021-12-06  8:59     ` Arnd Bergmann
2021-12-06 10:11     ` Sai Prakash Ranjan
2021-12-06 10:11       ` Sai Prakash Ranjan
2021-12-06 10:46       ` Arnd Bergmann
2021-12-06 10:46         ` Arnd Bergmann
2021-12-06 10:52         ` Sai Prakash Ranjan
2021-12-06 10:52           ` Sai Prakash Ranjan
2021-12-06 10:13     ` Sai Prakash Ranjan
2021-12-06 10:13       ` Sai Prakash Ranjan
2021-12-06 11:52   ` kernel test robot
2021-12-06 11:52     ` kernel test robot
2021-12-06 11:52     ` kernel test robot
2021-12-06 16:39   ` kernel test robot
2021-12-06 16:39     ` kernel test robot
2021-12-06 16:39     ` kernel test robot
2021-12-06  8:28 ` [PATCHv5 4/4] asm-generic/io: Add logging support for MMIO accessors Sai Prakash Ranjan
2021-12-06  8:28   ` Sai Prakash Ranjan
2021-12-06  9:09   ` Arnd Bergmann
2021-12-06  9:09     ` Arnd Bergmann
2021-12-06  9:52     ` Sai Prakash Ranjan
2021-12-06  9:52       ` Sai Prakash Ranjan
2021-12-06 10:01       ` Arnd Bergmann
2021-12-06 10:01         ` Arnd Bergmann
2021-12-06 10:20         ` Sai Prakash Ranjan
2021-12-06 10:20           ` Sai Prakash Ranjan

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=7b2b5888-c2ca-2ca0-8c0c-32128fcb37d2@quicinc.com \
    --to=quic_saipraka@quicinc.com \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=quic_psodagud@quicinc.com \
    --cc=rostedt@goodmis.org \
    --cc=will@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.