[Bug,26641] RV730 agp xf86-video-ati with kms poor performance
diff mbox

Message ID 20100219012532.D6CDE1300D9@annarchy.freedesktop.org
State New, archived
Headers show

Commit Message

bugzilla-daemon@freedesktop.org Feb. 19, 2010, 1:25 a.m. UTC
None

Patch
diff mbox

diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c
index e2123af..9c2b1cc 100644
--- a/drivers/gpu/drm/ttm/ttm_tt.c
+++ b/drivers/gpu/drm/ttm/ttm_tt.c
@@ -198,26 +198,17 @@  EXPORT_SYMBOL(ttm_tt_populate);
 static inline int ttm_tt_set_page_caching(struct page *p,
                                          enum ttm_caching_state c_state)
 {
-       int ret = 0;
-
        if (PageHighMem(p))
                return 0;

-       if (get_page_memtype(p) != -1) {
-               /* p isn't in the default caching state, set it to
-                * writeback first to free its current memtype. */
-
-               ret = set_pages_wb(p, 1);
-               if (ret)
-                       return ret;
+       switch (c_state) {
+       case tt_cached:
+               return set_pages_wb(p, 1);
+       case tt_wc:
+           return set_memory_wc((unsigned long) page_address(p), 1);
+       default:
+               return set_pages_uc(p, 1);
        }
-
-       if (c_state == tt_wc)
-               ret = set_memory_wc((unsigned long) page_address(p), 1);
-       else if (c_state == tt_uncached)
-               ret = set_pages_uc(p, 1);
-
-       return ret;
 }
 #else /* CONFIG_X86 */
 static inline int ttm_tt_set_page_caching(struct page *p,