Merge tag 'gvt-next-fix-2016-10-20' of https://github.com/01org/gvt-linux into drm...
[sfrench/cifs-2.6.git] / drivers / gpu / drm / i915 / i915_drv.h
index 5024ad91d132742dbbbaf3138cddbdd8b1f46bd6..5b2b7f3c6e76ceffdf888542ad092870a10c1b65 100644 (file)
@@ -71,6 +71,7 @@
 #define DRIVER_NAME            "i915"
 #define DRIVER_DESC            "Intel Graphics"
 #define DRIVER_DATE            "20161010"
+#define DRIVER_TIMESTAMP       1476452087
 
 #undef WARN_ON
 /* Many gcc seem to no see through this and fall over :( */
@@ -1389,7 +1390,7 @@ struct i915_gem_mm {
 
        /* accounting, useful for userland debugging */
        spinlock_t object_stat_lock;
-       size_t object_memory;
+       u64 object_memory;
        u32 object_count;
 };
 
@@ -1648,8 +1649,6 @@ struct skl_ddb_allocation {
 struct skl_wm_values {
        unsigned dirty_pipes;
        struct skl_ddb_allocation ddb;
-       uint32_t plane[I915_MAX_PIPES][I915_MAX_PLANES][8];
-       uint32_t plane_trans[I915_MAX_PIPES][I915_MAX_PLANES];
 };
 
 struct skl_wm_level {
@@ -2862,6 +2861,8 @@ struct drm_i915_cmd_table {
 
 #define HAS_GMCH_DISPLAY(dev_priv) ((dev_priv)->info.has_gmch_display)
 
+#define HAS_LSPCON(dev_priv) (IS_GEN9(dev_priv))
+
 /* DPF == dynamic parity feature */
 #define HAS_L3_DPF(dev_priv) ((dev_priv)->info.has_l3_dpf)
 #define NUM_L3_SLICES(dev_priv) (IS_HSW_GT3(dev_priv) ? \
@@ -3105,7 +3106,7 @@ void i915_gem_object_free(struct drm_i915_gem_object *obj);
 void i915_gem_object_init(struct drm_i915_gem_object *obj,
                         const struct drm_i915_gem_object_ops *ops);
 struct drm_i915_gem_object *i915_gem_object_create(struct drm_device *dev,
-                                                 size_t size);
+                                                  u64 size);
 struct drm_i915_gem_object *i915_gem_object_create_from_data(
                struct drm_device *dev, const void *data, size_t size);
 void i915_gem_close_object(struct drm_gem_object *gem, struct drm_file *file);
@@ -3179,14 +3180,15 @@ i915_gem_object_get_page(struct drm_i915_gem_object *obj, int n)
 
 static inline void i915_gem_object_pin_pages(struct drm_i915_gem_object *obj)
 {
-       BUG_ON(obj->pages == NULL);
+       GEM_BUG_ON(obj->pages == NULL);
        obj->pages_pin_count++;
 }
 
 static inline void i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj)
 {
-       BUG_ON(obj->pages_pin_count == 0);
+       GEM_BUG_ON(obj->pages_pin_count == 0);
        obj->pages_pin_count--;
+       GEM_BUG_ON(obj->pages_pin_count < obj->bind_count);
 }
 
 enum i915_map_type {
@@ -3629,6 +3631,9 @@ bool intel_bios_is_port_dp_dual_mode(struct drm_i915_private *dev_priv, enum por
 bool intel_bios_is_dsi_present(struct drm_i915_private *dev_priv, enum port *port);
 bool intel_bios_is_port_hpd_inverted(struct drm_i915_private *dev_priv,
                                     enum port port);
+bool intel_bios_is_lspcon_present(struct drm_i915_private *dev_priv,
+                               enum port port);
+
 
 /* intel_opregion.c */
 #ifdef CONFIG_ACPI