drm/i915/gtt: Reorder page alloc/free/init functions
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Tue, 30 Jun 2015 15:16:37 +0000 (18:16 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 3 Jul 2015 05:38:59 +0000 (07:38 +0200)
Maintain base page handling functions in order of
alloc, free, init. No functional changes.

v2: s/Introduce/Maintain (Michel)
v3: Rebase

Cc: Michel Thierry <michel.thierry@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: Michel Thierry <michel.thierry@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_gtt.c

index b94eebe81fd83227ac78f5e8ffeafb05e6848188..ef3019c88eb79cdbeb9aa7c114ce9227238e9efa 100644 (file)
@@ -384,24 +384,6 @@ static void fill_page_dma_32(struct drm_device *dev, struct i915_page_dma *p,
        fill_page_dma(dev, p, v);
 }
 
-static void free_pt(struct drm_device *dev, struct i915_page_table *pt)
-{
-       cleanup_px(dev, pt);
-       kfree(pt->used_ptes);
-       kfree(pt);
-}
-
-static void gen8_initialize_pt(struct i915_address_space *vm,
-                              struct i915_page_table *pt)
-{
-       gen8_pte_t scratch_pte;
-
-       scratch_pte = gen8_pte_encode(px_dma(vm->scratch_page),
-                                     I915_CACHE_LLC, true);
-
-       fill_px(vm->dev, pt, scratch_pte);
-}
-
 static struct i915_page_table *alloc_pt(struct drm_device *dev)
 {
        struct i915_page_table *pt;
@@ -433,13 +415,35 @@ fail_bitmap:
        return ERR_PTR(ret);
 }
 
-static void free_pd(struct drm_device *dev, struct i915_page_directory *pd)
+static void free_pt(struct drm_device *dev, struct i915_page_table *pt)
 {
-       if (px_page(pd)) {
-               cleanup_px(dev, pd);
-               kfree(pd->used_pdes);
-               kfree(pd);
-       }
+       cleanup_px(dev, pt);
+       kfree(pt->used_ptes);
+       kfree(pt);
+}
+
+static void gen8_initialize_pt(struct i915_address_space *vm,
+                              struct i915_page_table *pt)
+{
+       gen8_pte_t scratch_pte;
+
+       scratch_pte = gen8_pte_encode(px_dma(vm->scratch_page),
+                                     I915_CACHE_LLC, true);
+
+       fill_px(vm->dev, pt, scratch_pte);
+}
+
+static void gen6_initialize_pt(struct i915_address_space *vm,
+                              struct i915_page_table *pt)
+{
+       gen6_pte_t scratch_pte;
+
+       WARN_ON(px_dma(vm->scratch_page) == 0);
+
+       scratch_pte = vm->pte_encode(px_dma(vm->scratch_page),
+                                    I915_CACHE_LLC, true, 0);
+
+       fill32_px(vm->dev, pt, scratch_pte);
 }
 
 static struct i915_page_directory *alloc_pd(struct drm_device *dev)
@@ -470,6 +474,61 @@ fail_bitmap:
        return ERR_PTR(ret);
 }
 
+static void free_pd(struct drm_device *dev, struct i915_page_directory *pd)
+{
+       if (px_page(pd)) {
+               cleanup_px(dev, pd);
+               kfree(pd->used_pdes);
+               kfree(pd);
+       }
+}
+
+static void gen8_initialize_pd(struct i915_address_space *vm,
+                              struct i915_page_directory *pd)
+{
+       gen8_pde_t scratch_pde;
+
+       scratch_pde = gen8_pde_encode(px_dma(vm->scratch_pt), I915_CACHE_LLC);
+
+       fill_px(vm->dev, pd, scratch_pde);
+}
+
+static int alloc_scratch_page(struct i915_address_space *vm)
+{
+       struct i915_page_scratch *sp;
+       int ret;
+
+       WARN_ON(vm->scratch_page);
+
+       sp = kzalloc(sizeof(*sp), GFP_KERNEL);
+       if (sp == NULL)
+               return -ENOMEM;
+
+       ret = __setup_page_dma(vm->dev, px_base(sp), GFP_DMA32 | __GFP_ZERO);
+       if (ret) {
+               kfree(sp);
+               return ret;
+       }
+
+       set_pages_uc(px_page(sp), 1);
+
+       vm->scratch_page = sp;
+
+       return 0;
+}
+
+static void free_scratch_page(struct i915_address_space *vm)
+{
+       struct i915_page_scratch *sp = vm->scratch_page;
+
+       set_pages_wb(px_page(sp), 1);
+
+       cleanup_px(vm->dev, sp);
+       kfree(sp);
+
+       vm->scratch_page = NULL;
+}
+
 /* Broadwell Page Directory Pointer Descriptors */
 static int gen8_write_pdp(struct drm_i915_gem_request *req,
                          unsigned entry,
@@ -609,16 +668,6 @@ static void gen8_ppgtt_insert_entries(struct i915_address_space *vm,
                kunmap_px(ppgtt, pt_vaddr);
 }
 
-static void gen8_initialize_pd(struct i915_address_space *vm,
-                              struct i915_page_directory *pd)
-{
-       gen8_pde_t scratch_pde;
-
-       scratch_pde = gen8_pde_encode(px_dma(vm->scratch_pt), I915_CACHE_LLC);
-
-       fill_px(vm->dev, pd, scratch_pde);
-}
-
 static void gen8_free_page_tables(struct drm_device *dev,
                                  struct i915_page_directory *pd)
 {
@@ -1274,19 +1323,6 @@ static void gen6_ppgtt_insert_entries(struct i915_address_space *vm,
                kunmap_px(ppgtt, pt_vaddr);
 }
 
-static void gen6_initialize_pt(struct i915_address_space *vm,
-                              struct i915_page_table *pt)
-{
-       gen6_pte_t scratch_pte;
-
-       WARN_ON(px_dma(vm->scratch_page) == 0);
-
-       scratch_pte = vm->pte_encode(px_dma(vm->scratch_page),
-                                    I915_CACHE_LLC, true, 0);
-
-       fill32_px(vm->dev, pt, scratch_pte);
-}
-
 static int gen6_alloc_va_range(struct i915_address_space *vm,
                               uint64_t start_in, uint64_t length_in)
 {
@@ -2126,42 +2162,6 @@ void i915_global_gtt_cleanup(struct drm_device *dev)
        vm->cleanup(vm);
 }
 
-static int alloc_scratch_page(struct i915_address_space *vm)
-{
-       struct i915_page_scratch *sp;
-       int ret;
-
-       WARN_ON(vm->scratch_page);
-
-       sp = kzalloc(sizeof(*sp), GFP_KERNEL);
-       if (sp == NULL)
-               return -ENOMEM;
-
-       ret = __setup_page_dma(vm->dev, px_base(sp), GFP_DMA32 | __GFP_ZERO);
-       if (ret) {
-               kfree(sp);
-               return ret;
-       }
-
-       set_pages_uc(px_page(sp), 1);
-
-       vm->scratch_page = sp;
-
-       return 0;
-}
-
-static void free_scratch_page(struct i915_address_space *vm)
-{
-       struct i915_page_scratch *sp = vm->scratch_page;
-
-       set_pages_wb(px_page(sp), 1);
-
-       cleanup_px(vm->dev, sp);
-       kfree(sp);
-
-       vm->scratch_page = NULL;
-}
-
 static unsigned int gen6_get_total_gtt_size(u16 snb_gmch_ctl)
 {
        snb_gmch_ctl >>= SNB_GMCH_GGMS_SHIFT;