drm: wbinvd is cache coherent.
authorDave Airlie <airlied@redhat.com>
Tue, 7 Oct 2008 03:41:49 +0000 (13:41 +1000)
committerDave Airlie <airlied@linux.ie>
Fri, 17 Oct 2008 21:10:53 +0000 (07:10 +1000)
doing an ipi for the wbinvd case isn't necessary.

Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_cache.c

index 9475f7d9901da248d0f9acc439bfd8afedd336d0..0e994a0e46d4cad05d70d0c0760faec5a1b45cb6 100644 (file)
@@ -47,12 +47,6 @@ drm_clflush_page(struct page *page)
 }
 #endif
 
-static void
-drm_clflush_ipi_handler(void *null)
-{
-       wbinvd();
-}
-
 void
 drm_clflush_pages(struct page *pages[], unsigned long num_pages)
 {
@@ -68,9 +62,8 @@ drm_clflush_pages(struct page *pages[], unsigned long num_pages)
 
                return;
        }
-#endif
 
-       if (on_each_cpu(drm_clflush_ipi_handler, NULL, 1) != 0)
-               DRM_ERROR("Timed out waiting for cache flush.\n");
+       wbinvd();
+#endif
 }
 EXPORT_SYMBOL(drm_clflush_pages);