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
next prev parent 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: linkBe 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.