drm/ttm: move populated state into page flags

Just use the top bit of page flags to store the populated state.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200915024007.67163-8-airlied@gmail.com
This commit is contained in:
Dave Airlie 2020-09-15 11:47:19 +10:00
Родитель 3a4ab168a5
Коммит 3312be8f6f
1 изменённых файлов: 5 добавлений и 4 удалений

Просмотреть файл

@ -42,6 +42,8 @@ struct ttm_operation_ctx;
#define TTM_PAGE_FLAG_SG (1 << 8) #define TTM_PAGE_FLAG_SG (1 << 8)
#define TTM_PAGE_FLAG_NO_RETRY (1 << 9) #define TTM_PAGE_FLAG_NO_RETRY (1 << 9)
#define TTM_PAGE_FLAG_PRIV_POPULATED (1 << 31)
enum ttm_caching_state { enum ttm_caching_state {
tt_uncached, tt_uncached,
tt_wc, tt_wc,
@ -70,22 +72,21 @@ struct ttm_tt {
struct sg_table *sg; /* for SG objects via dma-buf */ struct sg_table *sg; /* for SG objects via dma-buf */
struct file *swap_storage; struct file *swap_storage;
enum ttm_caching_state caching_state; enum ttm_caching_state caching_state;
bool populated;
}; };
static inline bool ttm_tt_is_populated(struct ttm_tt *tt) static inline bool ttm_tt_is_populated(struct ttm_tt *tt)
{ {
return tt->populated; return tt->page_flags & TTM_PAGE_FLAG_PRIV_POPULATED;
} }
static inline void ttm_tt_set_unpopulated(struct ttm_tt *tt) static inline void ttm_tt_set_unpopulated(struct ttm_tt *tt)
{ {
tt->populated = false; tt->page_flags &= ~TTM_PAGE_FLAG_PRIV_POPULATED;
} }
static inline void ttm_tt_set_populated(struct ttm_tt *tt) static inline void ttm_tt_set_populated(struct ttm_tt *tt)
{ {
tt->populated = true; tt->page_flags |= TTM_PAGE_FLAG_PRIV_POPULATED;
} }
/** /**