drm/ttm: add TTM_PL_FLAG_CONTIGUOUS v2
authorChristian König <christian.koenig@amd.com>
Wed, 29 Mar 2017 10:13:54 +0000 (12:13 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 5 Apr 2017 03:33:42 +0000 (23:33 -0400)
This allows drivers to specify if they need a contiguous allocation or not.

v2: use space instead of tab

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/ttm/ttm_bo.c
include/drm/ttm/ttm_placement.h

index 99d2a2c6a4eca514c2be496915fa1b32d1d9e253..e44626a2e6980bd390888119cb284e52214f644e 100644 (file)
@@ -1036,7 +1036,9 @@ static bool ttm_bo_places_compat(const struct ttm_place *places,
 
                *new_flags = heap->flags;
                if ((*new_flags & mem->placement & TTM_PL_MASK_CACHING) &&
-                   (*new_flags & mem->placement & TTM_PL_MASK_MEM))
+                   (*new_flags & mem->placement & TTM_PL_MASK_MEM) &&
+                   (!(*new_flags & TTM_PL_FLAG_CONTIGUOUS) ||
+                    (mem->placement & TTM_PL_FLAG_CONTIGUOUS)))
                        return true;
        }
        return false;
index 932be0c8086e325dc985947d15e9b1da3385e81e..e88a8e39767bf5adc4941441581cd50496cfbf33 100644 (file)
@@ -63,6 +63,7 @@
 #define TTM_PL_FLAG_CACHED      (1 << 16)
 #define TTM_PL_FLAG_UNCACHED    (1 << 17)
 #define TTM_PL_FLAG_WC          (1 << 18)
+#define TTM_PL_FLAG_CONTIGUOUS  (1 << 19)
 #define TTM_PL_FLAG_NO_EVICT    (1 << 21)
 #define TTM_PL_FLAG_TOPDOWN     (1 << 22)