From: Jes Sorensen <Jes.Sorensen@cern.ch>
To: Paul.Mackerras@cs.anu.edu.au
Cc: Geert.Uytterhoeven@cs.kuleuven.ac.be,
linuxppc-dev@lists.linuxppc.org, linux-fbdev@vuser.vu.union.edu
Subject: Re: [linux-fbdev] Re: readl() and friends and eieio on PPC
Date: 10 Aug 1999 09:18:21 +0200 [thread overview]
Message-ID: <d34si8xfwi.fsf@lxp03.cern.ch> (raw)
In-Reply-To: Paul Mackerras's message of "Tue, 10 Aug 1999 11:00:29 +1000"
>>>>> "Paul" == Paul Mackerras <paulus@cs.anu.edu.au> writes:
Paul> If you take out the eieios, you will break other drivers,
Paul> starting with the OHCI USB host driver. Can we think of another
Paul> way around the problem? You could use le32_to_cpup for loading
Paul> from the frame buffer, but there isn't currently an equivalent
Paul> for stores, unfortunately (one could be invented, though).
This is quite easily solved by putting in mb()'s in the right
places. This is how it is done for other drivers that are supposed to
work on the Alpha.
Paul> I thought the point of the aty_ld/st* routines was to avoid one
Paul> add instruction each time by using the PPC indexed addressing
Paul> mode. Anyway, IMO the aty_ld/st* routines *should* include the
Paul> eieio. That would mean you wouldn't need the explicit eieio()
Paul> calls scattered through the rest of the driver. I guess it's
Paul> just luck that it works where you do a sequence of aty_st_le32's
Paul> to set up some drawing command and then call wait_for_fifo (or
Paul> wait_for_idle) which does an aty_ld_le32. Or doesn't it matter
Paul> if the load gets done before all of the stores have completed?
Having mb()'s explicitly put into the driver in the right places also
makes sure that a driver will work on other architectures. Right now a
driver that is written for the PPC is likely not to work on the Alpha
if the author expects readl/writel to guarantee write ordering.
Jes
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting. ]]
next prev parent reply other threads:[~1999-08-10 7:18 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-08-09 8:17 readl() and friends and eieio on PPC Geert Uytterhoeven
1999-08-09 17:19 ` David A. Gatwood
1999-08-10 1:00 ` Paul Mackerras
1999-08-10 7:18 ` Jes Sorensen [this message]
1999-08-11 0:23 ` [linux-fbdev] " Paul Mackerras
1999-08-11 7:23 ` Jes Sorensen
1999-08-11 7:38 ` Richard Henderson
1999-08-12 0:13 ` Paul Mackerras
1999-08-12 1:39 ` Peter Chang
1999-08-12 4:52 ` Paul Mackerras
1999-08-12 6:17 ` Peter Chang
1999-08-12 0:17 ` Paul Mackerras
1999-08-12 4:40 ` Richard Henderson
1999-08-12 5:00 ` Paul Mackerras
1999-08-12 5:43 ` Richard Henderson
1999-08-12 7:07 ` Paul Mackerras
1999-08-12 7:33 ` Richard Henderson
1999-08-12 9:58 ` Paul Mackerras
1999-08-12 12:31 ` Geert Uytterhoeven
1999-08-13 12:18 ` Paul Mackerras
1999-08-18 11:02 ` Gabriel Paubert
1999-08-13 18:33 ` Richard Henderson
1999-08-12 5:16 ` David Edelsohn
1999-08-12 5:27 ` Paul Mackerras
1999-08-12 5:52 ` Richard Henderson
1999-08-12 7:11 ` Paul Mackerras
1999-08-12 7:32 ` Jes Sorensen
1999-08-11 23:52 ` Paul Mackerras
1999-08-12 7:38 ` Jes Sorensen
1999-08-12 19:00 ` David A. Gatwood
1999-08-13 1:51 ` Paul Mackerras
[not found] <Pine.LNX.3.96.990813143741.27557B-100000@mvista.com>
[not found] ` <d3so5mdyta.fsf@lxp03.cern.ch>
1999-08-14 18:34 ` Geert Uytterhoeven
1999-08-14 18:36 ` David A. Gatwood
1999-08-14 19:48 ` Jes Sorensen
1999-08-15 1:28 ` David A. Gatwood
1999-08-14 21:39 ` Richard Henderson
1999-08-15 23:16 ` Paul Mackerras
1999-08-16 0:29 ` Richard Henderson
1999-08-16 7:11 ` Jes Sorensen
[not found] <m3672hkxri.fsf@soma.andreas.org>
1999-08-15 13:39 ` James Simmons
[not found] <d3pv0p72yr.fsf@lxp03.cern.ch>
1999-08-15 19:43 ` David A. Gatwood
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=d34si8xfwi.fsf@lxp03.cern.ch \
--to=jes.sorensen@cern.ch \
--cc=Geert.Uytterhoeven@cs.kuleuven.ac.be \
--cc=Paul.Mackerras@cs.anu.edu.au \
--cc=linux-fbdev@vuser.vu.union.edu \
--cc=linuxppc-dev@lists.linuxppc.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).