Re: TTM placement & caching issue/questions
From: Michel Dänzer <hidden>
Date: 2014-09-04 07:19:35
On 04.09.2014 11:36, Jerome Glisse wrote:
On Wed, Sep 03, 2014 at 10:31:18PM -0400, Jerome Glisse wrote:quoted
On Thu, Sep 04, 2014 at 12:25:23PM +1000, Benjamin Herrenschmidt wrote:quoted
On Wed, 2014-09-03 at 22:07 -0400, Jerome Glisse wrote:quoted
So in the meantime the attached patch should work, it just silently ignore the caching attribute request on non x86 instead of pretending that things are setup as expected and then latter the radeon ou nouveau hw unsetting the snoop bit. It's not tested but i think it should work.I'm still getting placements with !CACHED going from bo_memcpy in ttm_io_prot() though ... I'm looking at filtering the placement attributes instead. Ben.Ok so this one should do the trick.Ok final version ... famous last word.
[...]
+#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. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer