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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130419073058.GA660@pengutronix.de>
Date:	Fri, 19 Apr 2013 09:30:58 +0200
From:	Steffen Trumtrar <s.trumtrar@...gutronix.de>
To:	Hein Tibosch <hein_tibosch@...oo.es>
Cc:	Nicolas Ferre <nicolas.ferre@...el.com>, netdev@...r.kernel.org,
	David Miller <davem@...emloft.net>,
	Ludovic Desroches <ludovic.desroches@...el.com>
Subject: Re: net/macb: clear tx/rx completion flags in ISR

Hi Hein,

On Fri, Apr 19, 2013 at 01:13:26PM +0800, Hein Tibosch wrote:
> Hi Steffen,
> 
> > At least in the cadence IP core on the Xilinx Zynq SoC the TCOMP/RCOMP flags
> > are not auto-cleaned. As these flags are evaluated, they need to be cleaned.
> 
> This patch does not work for at least the AVR32 platform. Both RCOMP/RCOMP
> are cleared by *reading* the ISR and writing them would be fatal.
> 

:-(

> Could you tell me the version of the macb of Xilinx Zynq?
> 
>     u32 version = (macb_readl(bp, MID) & ((1 << MACB_REV_SIZE) - 1))
>             | MACB_GREGS_VERSION;
> 
> On an AP7000 it reads as 0x0000010D
> 

This gives me 0x00000119. The TRM says it is version r1p23.

> I am thinking of making a patch like:
> 
>     if (bp->version >= xxx)
>         macb_writel(bp, ISR, MACB_BIT(TCOMP));
> 
>     if (bp->version >= xxx)
>         macb_writel(bp, ISR, MACB_BIT(RCOMP));
> 
> which would make it work on both platforms.
> 

The documentation I have is a little bit confusing in that regard.
The cadence datasheet says, this register is R/W, the Xilinx datasheet says,
it is "normaly RO", but the programming guide explicitely mentions clearing
the bit by writing to it.
It seems, that something like your patch is inevitable.

Regards,
Steffen

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ