Re: [PATCH 20/21] drm/i915/gtt: Use nonatomic bitmap ops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/22/2015 6:05 PM, Mika Kuoppala wrote:
There is no need for atomicity here. Convert all bitmap
operations to nonatomic variants.

Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx>
Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx>

---
  drivers/gpu/drm/i915/i915_gem_gtt.c | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index ab113ce..95c39e5 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -842,7 +842,7 @@ static int gen8_ppgtt_alloc_pagetabs(struct i915_hw_ppgtt *ppgtt,

                 gen8_initialize_pt(&ppgtt->base, pt);
                 pd->page_table[pde] = pt;
-               set_bit(pde, new_pts);
+               __set_bit(pde, new_pts);
         }

         return 0;
@@ -900,7 +900,7 @@ static int gen8_ppgtt_alloc_page_directories(struct i915_hw_ppgtt *ppgtt,

                 gen8_initialize_pd(&ppgtt->base, pd);
                 pdp->page_directory[pdpe] = pd;
-               set_bit(pdpe, new_pds);
+               __set_bit(pdpe, new_pds);
         }

         return 0;
@@ -1040,7 +1040,7 @@ static int gen8_alloc_va_range(struct i915_address_space *vm,
                                    gen8_pte_count(pd_start, pd_len));

                         /* Our pde is now pointing to the pagetable, pt */
-                       set_bit(pde, pd->used_pdes);
+                       __set_bit(pde, pd->used_pdes);

                         /* Map the PDE to the page table */
                         page_directory[pde] = gen8_pde_encode(px_dma(pt),
@@ -1052,7 +1052,7 @@ static int gen8_alloc_va_range(struct i915_address_space *vm,

                 kunmap_px(ppgtt, page_directory);

-               set_bit(pdpe, ppgtt->pdp.used_pdpes);
+               __set_bit(pdpe, ppgtt->pdp.used_pdpes);
         }

         free_gen8_temp_bitmaps(new_page_dirs, new_page_tables);
@@ -1497,7 +1497,7 @@ static int gen6_alloc_va_range(struct i915_address_space *vm,
                 gen6_initialize_pt(vm, pt);

                 ppgtt->pd.page_table[pde] = pt;
-               set_bit(pde, new_page_tables);
+               __set_bit(pde, new_page_tables);
                 trace_i915_page_table_entry_alloc(vm, pde, start, GEN6_PDE_SHIFT);
         }

@@ -1511,7 +1511,7 @@ static int gen6_alloc_va_range(struct i915_address_space *vm,
                 bitmap_set(tmp_bitmap, gen6_pte_index(start),
                            gen6_pte_count(start, length));

-               if (test_and_clear_bit(pde, new_page_tables))
+               if (__test_and_clear_bit(pde, new_page_tables))
                         gen6_write_pde(&ppgtt->pd, pde, pt);

                 trace_i915_page_table_entry_map(vm, pde, pt,
--
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux