|
@@ -30,6 +30,9 @@
|
|
|
|
|
|
#ifndef _TTM_PLACEMENT_H_
|
|
|
#define _TTM_PLACEMENT_H_
|
|
|
+
|
|
|
+#include <linux/types.h>
|
|
|
+
|
|
|
/*
|
|
|
* Memory regions for data placement.
|
|
|
*/
|
|
@@ -69,4 +72,36 @@
|
|
|
|
|
|
#define TTM_PL_MASK_MEMTYPE (TTM_PL_MASK_MEM | TTM_PL_MASK_CACHING)
|
|
|
|
|
|
+/**
|
|
|
+ * struct ttm_place
|
|
|
+ *
|
|
|
+ * @fpfn: first valid page frame number to put the object
|
|
|
+ * @lpfn: last valid page frame number to put the object
|
|
|
+ * @flags: memory domain and caching flags for the object
|
|
|
+ *
|
|
|
+ * Structure indicating a possible place to put an object.
|
|
|
+ */
|
|
|
+struct ttm_place {
|
|
|
+ unsigned fpfn;
|
|
|
+ unsigned lpfn;
|
|
|
+ uint32_t flags;
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * struct ttm_placement
|
|
|
+ *
|
|
|
+ * @num_placement: number of preferred placements
|
|
|
+ * @placement: preferred placements
|
|
|
+ * @num_busy_placement: number of preferred placements when need to evict buffer
|
|
|
+ * @busy_placement: preferred placements when need to evict buffer
|
|
|
+ *
|
|
|
+ * Structure indicating the placement you request for an object.
|
|
|
+ */
|
|
|
+struct ttm_placement {
|
|
|
+ unsigned num_placement;
|
|
|
+ const struct ttm_place *placement;
|
|
|
+ unsigned num_busy_placement;
|
|
|
+ const struct ttm_place *busy_placement;
|
|
|
+};
|
|
|
+
|
|
|
#endif
|