Commit 3312be8f authored by Dave Airlie's avatar Dave Airlie

drm/ttm: move populated state into page flags

Just use the top bit of page flags to store the populated state.
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200915024007.67163-8-airlied@gmail.com
parent 3a4ab168
...@@ -42,6 +42,8 @@ struct ttm_operation_ctx; ...@@ -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 { ...@@ -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;
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment