From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: "Michel Dänzer" <michel@daenzer.net>
Cc: linuxppc-dev@ozlabs.org, "Michel Dänzer" <michel.daenzer@amd.com>,
dri-devel@lists.freedesktop.org,
"Alex Deucher" <alexander.deucher@amd.com>,
"Jerome Glisse" <j.glisse@gmail.com>,
"Christian Koenig" <christian.koenig@amd.com>
Subject: Re: TTM placement & caching issue/questions
Date: Thu, 04 Sep 2014 17:54:35 +1000 [thread overview]
Message-ID: <1409817275.4246.40.camel@pasglop> (raw)
In-Reply-To: <54081282.3040005@daenzer.net>
On Thu, 2014-09-04 at 16:19 +0900, Michel Dänzer wrote:
> > +#else /* CONFIG_X86 */
> > +int ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t
> *placement)
> > +{
> > + if (*placement & (TTM_PL_TT | TTM_PL_FLAG_SYSTEM)) {
> > + ttm->caching_state = tt_cached;
> > + *placement &= ~TTM_PL_MASK_CACHING;
> > + *placement |= TTM_PL_FLAG_CACHED;
>
> NAK, this will break AGP on PowerMacs.
... which doesn't work reliably anyway with DRI2 :-)
The problem is ... with DRI1 I think we had tricks to take out the
AGP from the linear mapping but that want away, didn't we ?
In any case, we are playing with fire on these by allowing the
cache paradox. It just happens that those old CPUs aren't *that*
aggressive at speculative prefetch and we probably rarely hit the
lockups that they would cause...
Michel, what do you recommend we do then ? The patch I sent to
double check in ttm_io_prot() has a specific hack to avoid warning
on PowerMac for the above reason, but we need to fix Jerome if we
want to keep that broken-by-design Mac AGP functionality going :-)
Maybe we could add a similar ifdef in the above ?
Cheers,
Ben.
next prev parent reply other threads:[~2014-09-04 7:54 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-04 0:12 TTM placement & caching issue/questions Benjamin Herrenschmidt
2014-09-04 0:12 ` Benjamin Herrenschmidt
2014-09-04 1:55 ` Jerome Glisse
2014-09-04 2:07 ` Jerome Glisse
2014-09-04 2:07 ` Jerome Glisse
2014-09-04 2:25 ` Benjamin Herrenschmidt
2014-09-04 2:25 ` Benjamin Herrenschmidt
2014-09-04 2:31 ` Jerome Glisse
2014-09-04 2:31 ` Jerome Glisse
2014-09-04 2:32 ` Jerome Glisse
2014-09-04 2:32 ` Jerome Glisse
2014-09-04 2:36 ` Jerome Glisse
2014-09-04 2:36 ` Jerome Glisse
2014-09-04 5:23 ` Benjamin Herrenschmidt
2014-09-04 6:45 ` Gabriel Paubert
2014-09-04 7:19 ` Michel Dänzer
2014-09-04 7:54 ` Benjamin Herrenschmidt [this message]
2014-09-04 7:59 ` Michel Dänzer
2014-09-04 7:59 ` Michel Dänzer
2014-09-04 8:07 ` Benjamin Herrenschmidt
2014-09-04 2:15 ` Benjamin Herrenschmidt
2014-09-04 7:12 ` Michel Dänzer
2014-09-04 7:44 ` Thomas Hellstrom
2014-09-04 7:44 ` Thomas Hellstrom
2014-09-04 8:06 ` Benjamin Herrenschmidt
2014-09-04 8:46 ` Thomas Hellstrom
2014-09-04 8:46 ` Thomas Hellstrom
2014-09-04 9:34 ` Daniel Vetter
2014-09-04 9:34 ` Daniel Vetter
2014-09-04 9:43 ` Benjamin Herrenschmidt
2014-09-04 10:23 ` Thomas Hellstrom
2014-09-04 10:23 ` Thomas Hellstrom
[not found] <ED4D93630842CD4385F644DC5158EE9171B05E72@NTOVMAIL03.ad.otto.de>
2014-09-05 7:40 ` Jochen Rollwagen
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=1409817275.4246.40.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=alexander.deucher@amd.com \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=j.glisse@gmail.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=michel.daenzer@amd.com \
--cc=michel@daenzer.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.