]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Revert "drm/ttm: Add a flag to allow drivers to skip clear-on-free"
authorNirmoy Das <nirmoy.das@intel.com>
Wed, 28 Aug 2024 08:36:35 +0000 (10:36 +0200)
committerLucas De Marchi <lucas.demarchi@intel.com>
Wed, 28 Aug 2024 13:45:53 +0000 (06:45 -0700)
Remove TTM_TT_FLAG_CLEARED_ON_FREE now that XE stopped using this
flag.

This reverts commit decbfaf06db05fa1f9b33149ebb3c145b44e878f.

Cc: Christian König <christian.koenig@amd.com>
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240828083635.23601-2-nirmoy.das@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/ttm/ttm_pool.c
include/drm/ttm/ttm_tt.h

index 935ab3cfd04672f47c61d10af7050a3d704f6b48..8504dbe19c1a0f5f2443bddae01ee1836204e8b5 100644 (file)
@@ -222,18 +222,15 @@ static void ttm_pool_unmap(struct ttm_pool *pool, dma_addr_t dma_addr,
 }
 
 /* Give pages into a specific pool_type */
-static void ttm_pool_type_give(struct ttm_pool_type *pt, struct page *p,
-                              bool cleared)
+static void ttm_pool_type_give(struct ttm_pool_type *pt, struct page *p)
 {
        unsigned int i, num_pages = 1 << pt->order;
 
-       if (!cleared) {
-               for (i = 0; i < num_pages; ++i) {
-                       if (PageHighMem(p))
-                               clear_highpage(p + i);
-                       else
-                               clear_page(page_address(p + i));
-               }
+       for (i = 0; i < num_pages; ++i) {
+               if (PageHighMem(p))
+                       clear_highpage(p + i);
+               else
+                       clear_page(page_address(p + i));
        }
 
        spin_lock(&pt->lock);
@@ -397,7 +394,6 @@ static void ttm_pool_free_range(struct ttm_pool *pool, struct ttm_tt *tt,
                                pgoff_t start_page, pgoff_t end_page)
 {
        struct page **pages = &tt->pages[start_page];
-       bool cleared = tt->page_flags & TTM_TT_FLAG_CLEARED_ON_FREE;
        unsigned int order;
        pgoff_t i, nr;
 
@@ -411,7 +407,7 @@ static void ttm_pool_free_range(struct ttm_pool *pool, struct ttm_tt *tt,
 
                pt = ttm_pool_select_type(pool, caching, order);
                if (pt)
-                       ttm_pool_type_give(pt, *pages, cleared);
+                       ttm_pool_type_give(pt, *pages);
                else
                        ttm_pool_free_page(pool, caching, order, *pages);
        }
index cfaf49de2419df9e2a38a63f9de0af88dda99cf1..2b9d856ff388d886692fbefd6f5fc2bad4557e8f 100644 (file)
@@ -85,9 +85,6 @@ struct ttm_tt {
         * fault handling abuses the DMA api a bit and dma_map_attrs can't be
         * used to assure pgprot always matches.
         *
-        * TTM_TT_FLAG_CLEARED_ON_FREE: Set this if a drm driver handles
-        * clearing backing store
-        *
         * TTM_TT_FLAG_PRIV_POPULATED: TTM internal only. DO NOT USE. This is
         * set by TTM after ttm_tt_populate() has successfully returned, and is
         * then unset when TTM calls ttm_tt_unpopulate().
@@ -97,9 +94,8 @@ struct ttm_tt {
 #define TTM_TT_FLAG_EXTERNAL           BIT(2)
 #define TTM_TT_FLAG_EXTERNAL_MAPPABLE  BIT(3)
 #define TTM_TT_FLAG_DECRYPTED          BIT(4)
-#define TTM_TT_FLAG_CLEARED_ON_FREE    BIT(5)
 
-#define TTM_TT_FLAG_PRIV_POPULATED     BIT(6)
+#define TTM_TT_FLAG_PRIV_POPULATED     BIT(5)
        uint32_t page_flags;
        /** @num_pages: Number of pages in the page array. */
        uint32_t num_pages;