Re: [PATCH 9/9] drm/ttm: Sanity check mapping attributes on powerpc in ttm_io_prot()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux