linux-mips
[Top] [All Lists]

Re: wbflush() abuse for TOSHIBA_RBTX4927

To: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Subject: Re: wbflush() abuse for TOSHIBA_RBTX4927
From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Date: Wed, 16 Apr 2003 15:46:54 +0200 (MET DST)
Cc: kevink@mips.com, linux-mips@linux-mips.org, source@mvista.com
In-reply-to: <20030416.205256.63134579.nemoto@toshiba-tops.co.jp>
Organization: Technical University of Gdansk
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
On Wed, 16 Apr 2003, Atsushi Nemoto wrote:

> macro> I suppose that's unrelated, since I'm specifically referring to
> macro> the way the buffer is handled in the TOSHIBA_RBTX4927 code --
> macro> the __wbflush() backend is not invoked by wbflush() and calls
> macro> like mb() (used by portable drivers) unless the kernel is
> macro> configured in an unobvious way and then there is duplicate
> macro> "sync" (but maybe that's needed, thus my question among
> macro> others).
> 
> I suppose it's just because the code was written before
> CONFIG_CPU_HAS_SYNC was introduced.

 It doesn't look so -- it appeared in the tree only a few days ago and
CONFIG_CPU_HAS_SYNC is there for almost a year now.  Even if maintained
privately since before CONFIG_CPU_HAS_SYNC, there was a lot of time to get
it fixed before merging.

> AFAIK TX49's SYNC instruction correctly flushes the write buffer.

 That would be an overkill; we only need to enforce strong ordering here.

> No bc0f loop is required.

 But an external buffer may be attached to a TX49 core, IIRC, so if it is
the case for TOSHIBA_RBTX4927, it's obviously needed.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +


<Prev in Thread] Current Thread [Next in Thread>