Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1253605
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 1/2] can: xilinx: use readl/writel instead of ioread/iowrite |
| Date | 2015-10-22 11:10 +0200 |
| Message-ID | <qmk2J-69B-11@gated-at.bofh.it> (permalink) |
| References | <qmjgm-4Y3-11@gated-at.bofh.it> <qmjgm-4Y3-9@gated-at.bofh.it> <qmk2J-69B-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thursday 22 October 2015 08:34:53 Appana Durga Kedareswara Rao wrote: > > On Thursday 22 October 2015 10:16:02 Kedareswara rao Appana wrote: > > > The driver only supports memory-mapped I/O [by ioremap()], so > > > readl/writel is actually the right thing to do, IMO. > > > During the validation of this driver or IP on ARM 64-bit processor > > > while sending lot of packets observed that the tx packet drop with > > > iowrite Putting the barriers for each tx fifo register write fixes > > > this issue Instead of barriers using writel also fixed this issue. > > > > > > Signed-off-by: Kedareswara rao Appana <appanad@xilinx.com> > > > > The two should really do the same thing: iowrite32() is just a static inline calling > > writel() on both ARM32 and ARM64. On which kernel version did you observe the > > difference? It's possible that an older version used CONFIG_GENERIC_IOMAP, > > which made this slightly more expensive. > > I observed this issue with the 4.0.0 kernel version Is it possible that you have nonstandard patches on your kernel? If so, can you send a diff against the mainline version? I don't see CONFIG_GENERIC_IOMAP in 4.0.0, and writel() definitely has the necessary barriers on arm64, the same way that iowrite() does. > > If there are barriers that you want to get rid of for performance reasons, you > > should use writel_relaxed(), but be careful to synchronize them correctly with > > regard to DMA. It should be fine in this driver, as it does not perform any DMA, > > but be aware that there is no big-endian version of > > writel_relaxed() at the moment. > > There is no DMA in CAN for this IP. Ok, good. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
Re: [PATCH 1/2] can: xilinx: use readl/writel instead of ioread/iowrite Arnd Bergmann <arnd@arndb.de> - 2015-10-22 10:20 +0200
Re: [PATCH 1/2] can: xilinx: use readl/writel instead of ioread/iowrite Marc Kleine-Budde <mkl@pengutronix.de> - 2015-10-22 10:30 +0200
Re: [PATCH 1/2] can: xilinx: use readl/writel instead of ioread/iowrite Arnd Bergmann <arnd@arndb.de> - 2015-10-22 11:00 +0200
Re: [PATCH 1/2] can: xilinx: use readl/writel instead of ioread/iowrite Marc Kleine-Budde <mkl@pengutronix.de> - 2015-10-25 21:40 +0100
Re: [PATCH 1/2] can: xilinx: use readl/writel instead of ioread/iowrite Arnd Bergmann <arnd@arndb.de> - 2015-10-26 02:30 +0100
Re: [PATCH 1/2] can: xilinx: use readl/writel instead of ioread/iowrite Arnd Bergmann <arnd@arndb.de> - 2015-10-22 11:10 +0200
csiph-web