On 04.09.2014 16:47, Benjamin Herrenschmidt wrote:
On all current cache coherent powerpc processors, it is not legit to map system memory non-cachable. This will cause aliases with the linear mapping which can be fatal. The TTM should generally avoid it after Jerome placement patches but let's add a sanity check anyway to catch any possible remaining issue. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxxx>
[...]
@@ -498,6 +501,20 @@ pgprot_t ttm_io_prot(uint32_t caching_flags, pgprot_t tmp) tmp = pgprot_noncached(tmp); #endif +#if defined(__powerpc__) && !defined(CONFIG_NOT_COHERENT_CACHE) + /* + * Using a non-cachable mapping of system memory on + * cache coherent powerpc's can be fatal, let's make + * sure this doesn't happen and warn if it does. The + * only exception is powermac with AGP which has to + * take the risk. + */ + if (!machine_is(powermac) && + ((caching_flags & TTM_PL_FLAG_SYSTEM) || + (caching_flags & TTM_PL_FLAG_TT))) { + pr_err_once("TTM: Attempt to use a non-cached" + " mapping on RAM unsupported !\n"); + return tmp;
NAK, this breaks AGP on PowerMacs. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel