Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
[firefly-linux-kernel-4.4.55.git] / drivers / staging / gma500 / psb_drv.h
index c3609e01f6c93dfae3b5d330d6943990d88efd7c..e19a454787573bbd3de6a6e95058ad357c811ac8 100644 (file)
@@ -21,6 +21,7 @@
 #define _PSB_DRV_H_
 
 #include <linux/version.h>
+#include <linux/kref.h>
 
 #include <drm/drmP.h>
 #include "drm_global.h"
@@ -34,8 +35,6 @@
 /*Append new drm mode definition here, align with libdrm definition*/
 #define DRM_MODE_SCALE_NO_SCALE   2
 
-extern struct ttm_bo_driver psb_ttm_bo_driver;
-
 enum {
        CHIP_PSB_8108 = 0,
        CHIP_PSB_8109 = 1,
@@ -228,6 +227,7 @@ struct psb_intel_opregion {
        int enabled;
 };
 
+
 struct drm_psb_private {
        struct drm_device *dev;
 
@@ -235,19 +235,33 @@ struct drm_psb_private {
 
        struct psb_gtt *pg;
 
-       /*GTT Memory manager*/
+       /* GTT Memory manager */
        struct psb_gtt_mm *gtt_mm;
        struct page *scratch_page;
+       u32 *gtt_map;
+       uint32_t stolen_base;
+       void *vram_addr;
+       unsigned long vram_stolen_size;
+       int gtt_initialized;
+       u16 gmch_ctrl;          /* Saved GTT setup */
+       u32 pge_ctl;
+
+       struct mutex gtt_mutex;
+       struct resource *gtt_mem;       /* Our PCI resource */
 
        struct psb_mmu_driver *mmu;
        struct psb_mmu_pd *pf_pd;
 
+       /*
+        * Register base
+        */
+
        uint8_t *sgx_reg;
        uint8_t *vdc_reg;
        uint32_t gatt_free_offset;
 
        /*
-        *Fencing / irq.
+        * Fencing / irq.
         */
 
        uint32_t vdc_irq_mask;
@@ -617,9 +631,22 @@ extern const struct drm_connector_helper_funcs
                                        psb_intel_lvds_connector_helper_funcs;
 extern const struct drm_connector_funcs psb_intel_lvds_connector_funcs;
 
+/* psb_gem.c */
+extern int psb_gem_init_object(struct drm_gem_object *obj);
+extern void psb_gem_free_object(struct drm_gem_object *obj);
+extern int psb_gem_get_aperture(struct drm_device *dev, void *data,
+                               struct drm_file *file);
+extern int psb_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
+                       struct drm_mode_create_dumb *args);
+extern int psb_gem_dumb_destroy(struct drm_file *file, struct drm_device *dev,
+                       uint32_t handle);
+extern int psb_gem_dumb_map_gtt(struct drm_file *file, struct drm_device *dev,
+                        uint32_t handle, uint64_t *offset);
+extern int psb_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf);
+
 
 /*
- *Debug print bits setting
+ * Debug print bits setting
  */
 #define PSB_D_GENERAL (1 << 0)
 #define PSB_D_INIT    (1 << 1)