lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 22 Oct 2015 08:39:46 +0000 From: Appana Durga Kedareswara Rao <appana.durga.rao@...inx.com> To: Marc Kleine-Budde <mkl@...gutronix.de>, Arnd Bergmann <arnd@...db.de>, "linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org> CC: Anirudha Sarangi <anirudh@...inx.com>, "wg@...ndegger.com" <wg@...ndegger.com>, Michal Simek <michals@...inx.com>, Soren Brinkmann <sorenb@...inx.com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "linux-can@...r.kernel.org" <linux-can@...r.kernel.org> Subject: RE: [PATCH 1/2] can: xilinx: use readl/writel instead of ioread/iowrite Hi Marc, > -----Original Message----- > From: Marc Kleine-Budde [mailto:mkl@...gutronix.de] > Sent: Thursday, October 22, 2015 1:52 PM > To: Arnd Bergmann; linux-arm-kernel@...ts.infradead.org > Cc: Appana Durga Kedareswara Rao; Anirudha Sarangi; wg@...ndegger.com; > Michal Simek; Soren Brinkmann; Appana Durga Kedareswara Rao; > netdev@...r.kernel.org; linux-kernel@...r.kernel.org; linux- > can@...r.kernel.org > Subject: Re: [PATCH 1/2] can: xilinx: use readl/writel instead of ioread/iowrite > > On 10/22/2015 10:14 AM, Arnd Bergmann 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@...inx.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. > > > > 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. > > We don't have DMA in CAN drivers, but usually a certain write triggers sending. > Do we need a barrier before triggering the sending? Yes During validation of this IP on ARM 64 bit processor with using iowrite32() and sending a lot of packets it requires barriers before triggering the send. With using writel() barriers are not needed. Regards, Kedar. > > Marc > > -- > Pengutronix e.K. | Marc Kleine-Budde | > Industrial Linux Solutions | Phone: +49-231-2826-924 | > Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | > Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
Powered by blists - more mailing lists