diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 4063ee1dec17..49414d30e8d4 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
| @@ -251,18 +251,6 @@ struct intel_ddi_plls { | |||
| 251 | #define WATCH_LISTS 0 | 251 | #define WATCH_LISTS 0 |
| 252 | #define WATCH_GTT 0 | 252 | #define WATCH_GTT 0 |
| 253 | 253 | ||
| 254 | #define I915_GEM_PHYS_CURSOR_0 1 | ||
| 255 | #define I915_GEM_PHYS_CURSOR_1 2 | ||
| 256 | #define I915_GEM_PHYS_OVERLAY_REGS 3 | ||
| 257 | #define I915_MAX_PHYS_OBJECT (I915_GEM_PHYS_OVERLAY_REGS) | ||
| 258 | |||
| 259 | struct drm_i915_gem_phys_object { | ||
| 260 | int id; | ||
| 261 | struct page **page_list; | ||
| 262 | drm_dma_handle_t *handle; | ||
| 263 | struct drm_i915_gem_object *cur_obj; | ||
| 264 | }; | ||
| 265 | |||
| 266 | struct opregion_header; | 254 | struct opregion_header; |
| 267 | struct opregion_acpi; | 255 | struct opregion_acpi; |
| 268 | struct opregion_swsci; | 256 | struct opregion_swsci; |
| @@ -1106,9 +1094,6 @@ struct i915_gem_mm { | |||
| 1106 | /** Bit 6 swizzling required for Y tiling */ | 1094 | /** Bit 6 swizzling required for Y tiling */ |
| 1107 | uint32_t bit_6_swizzle_y; | 1095 | uint32_t bit_6_swizzle_y; |
| 1108 | 1096 | ||
| 1109 | /* storage for physical objects */ | ||
| 1110 | struct drm_i915_gem_phys_object *phys_objs[I915_MAX_PHYS_OBJECT]; | ||
| 1111 | |||
| 1112 | /* accounting, useful for userland debugging */ | 1097 | /* accounting, useful for userland debugging */ |
| 1113 | spinlock_t object_stat_lock; | 1098 | spinlock_t object_stat_lock; |
| 1114 | size_t object_memory; | 1099 | size_t object_memory; |
| @@ -1714,7 +1699,7 @@ struct drm_i915_gem_object { | |||
| 1714 | struct drm_file *pin_filp; | 1699 | struct drm_file *pin_filp; |
| 1715 | 1700 | ||
| 1716 | /** for phy allocated objects */ | 1701 | /** for phy allocated objects */ |
| 1717 | struct drm_i915_gem_phys_object *phys_obj; | 1702 | drm_dma_handle_t *phys_handle; |
| 1718 | 1703 | ||
| 1719 | union { | 1704 | union { |
| 1720 | struct i915_gem_userptr { | 1705 | struct i915_gem_userptr { |
| @@ -1918,6 +1903,9 @@ struct drm_i915_cmd_table { | |||
| 1918 | #define IS_ULT(dev) (IS_HSW_ULT(dev) || IS_BDW_ULT(dev)) | 1903 | #define IS_ULT(dev) (IS_HSW_ULT(dev) || IS_BDW_ULT(dev)) |
| 1919 | #define IS_HSW_GT3(dev) (IS_HASWELL(dev) && \ | 1904 | #define IS_HSW_GT3(dev) (IS_HASWELL(dev) && \ |
| 1920 | ((dev)->pdev->device & 0x00F0) == 0x0020) | 1905 | ((dev)->pdev->device & 0x00F0) == 0x0020) |
| 1906 | /* ULX machines are also considered ULT. */ | ||
| 1907 | #define IS_HSW_ULX(dev) ((dev)->pdev->device == 0x0A0E || \ | ||
| 1908 | (dev)->pdev->device == 0x0A1E) | ||
| 1921 | #define IS_PRELIMINARY_HW(intel_info) ((intel_info)->is_preliminary) | 1909 | #define IS_PRELIMINARY_HW(intel_info) ((intel_info)->is_preliminary) |
| 1922 | 1910 | ||
| 1923 | /* | 1911 | /* |
| @@ -2174,10 +2162,12 @@ void i915_gem_vma_destroy(struct i915_vma *vma); | |||
| 2174 | #define PIN_MAPPABLE 0x1 | 2162 | #define PIN_MAPPABLE 0x1 |
| 2175 | #define PIN_NONBLOCK 0x2 | 2163 | #define PIN_NONBLOCK 0x2 |
| 2176 | #define PIN_GLOBAL 0x4 | 2164 | #define PIN_GLOBAL 0x4 |
| 2165 | #define PIN_OFFSET_BIAS 0x8 | ||
| 2166 | #define PIN_OFFSET_MASK (~4095) | ||
| 2177 | int __must_check i915_gem_object_pin(struct drm_i915_gem_object *obj, | 2167 | int __must_check i915_gem_object_pin(struct drm_i915_gem_object *obj, |
| 2178 | struct i915_address_space *vm, | 2168 | struct i915_address_space *vm, |
| 2179 | uint32_t alignment, | 2169 | uint32_t alignment, |
| 2180 | unsigned flags); | 2170 | uint64_t flags); |
| 2181 | int __must_check i915_vma_unbind(struct i915_vma *vma); | 2171 | int __must_check i915_vma_unbind(struct i915_vma *vma); |
| 2182 | int i915_gem_object_put_pages(struct drm_i915_gem_object *obj); | 2172 | int i915_gem_object_put_pages(struct drm_i915_gem_object *obj); |
| 2183 | void i915_gem_release_all_mmaps(struct drm_i915_private *dev_priv); | 2173 | void i915_gem_release_all_mmaps(struct drm_i915_private *dev_priv); |
| @@ -2299,13 +2289,8 @@ i915_gem_object_pin_to_display_plane(struct drm_i915_gem_object *obj, | |||
| 2299 | u32 alignment, | 2289 | u32 alignment, |
| 2300 | struct intel_engine_cs *pipelined); | 2290 | struct intel_engine_cs *pipelined); |
| 2301 | void i915_gem_object_unpin_from_display_plane(struct drm_i915_gem_object *obj); | 2291 | void i915_gem_object_unpin_from_display_plane(struct drm_i915_gem_object *obj); |
| 2302 | int i915_gem_attach_phys_object(struct drm_device *dev, | 2292 | int i915_gem_object_attach_phys(struct drm_i915_gem_object *obj, |
| 2303 | struct drm_i915_gem_object *obj, | ||
| 2304 | int id, | ||
| 2305 | int align); | 2293 | int align); |
| 2306 | void i915_gem_detach_phys_object(struct drm_device *dev, | ||
| 2307 | struct drm_i915_gem_object *obj); | ||
| 2308 | void i915_gem_free_all_phys_object(struct drm_device *dev); | ||
| 2309 | int i915_gem_open(struct drm_device *dev, struct drm_file *file); | 2294 | int i915_gem_open(struct drm_device *dev, struct drm_file *file); |
| 2310 | void i915_gem_release(struct drm_device *dev, struct drm_file *file); | 2295 | void i915_gem_release(struct drm_device *dev, struct drm_file *file); |
| 2311 | 2296 | ||
| @@ -2432,6 +2417,8 @@ int __must_check i915_gem_evict_something(struct drm_device *dev, | |||
| 2432 | int min_size, | 2417 | int min_size, |
| 2433 | unsigned alignment, | 2418 | unsigned alignment, |
| 2434 | unsigned cache_level, | 2419 | unsigned cache_level, |
| 2420 | unsigned long start, | ||
| 2421 | unsigned long end, | ||
| 2435 | unsigned flags); | 2422 | unsigned flags); |
| 2436 | int i915_gem_evict_vm(struct i915_address_space *vm, bool do_idle); | 2423 | int i915_gem_evict_vm(struct i915_address_space *vm, bool do_idle); |
| 2437 | int i915_gem_evict_everything(struct drm_device *dev); | 2424 | int i915_gem_evict_everything(struct drm_device *dev); |
