drm/i915/gtt: Use nonatomic bitmap ops
There is no need for atomicity here. Convert all bitmap operations to nonatomic variants. Cc: Ville Syrjälä <ville.syrjala@linux.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>
This commit is contained in:
parent
79ab937054
commit
966082c932
1 changed files with 6 additions and 6 deletions
|
@ -696,7 +696,7 @@ static int gen8_ppgtt_alloc_pagetabs(struct i915_hw_ppgtt *ppgtt,
|
||||||
|
|
||||||
gen8_initialize_pt(&ppgtt->base, pt);
|
gen8_initialize_pt(&ppgtt->base, pt);
|
||||||
pd->page_table[pde] = pt;
|
pd->page_table[pde] = pt;
|
||||||
set_bit(pde, new_pts);
|
__set_bit(pde, new_pts);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -754,7 +754,7 @@ static int gen8_ppgtt_alloc_page_directories(struct i915_hw_ppgtt *ppgtt,
|
||||||
|
|
||||||
gen8_initialize_pd(&ppgtt->base, pd);
|
gen8_initialize_pd(&ppgtt->base, pd);
|
||||||
pdp->page_directory[pdpe] = pd;
|
pdp->page_directory[pdpe] = pd;
|
||||||
set_bit(pdpe, new_pds);
|
__set_bit(pdpe, new_pds);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -895,7 +895,7 @@ static int gen8_alloc_va_range(struct i915_address_space *vm,
|
||||||
gen8_pte_count(pd_start, pd_len));
|
gen8_pte_count(pd_start, pd_len));
|
||||||
|
|
||||||
/* Our pde is now pointing to the pagetable, pt */
|
/* 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 */
|
/* Map the PDE to the page table */
|
||||||
page_directory[pde] = gen8_pde_encode(px_dma(pt),
|
page_directory[pde] = gen8_pde_encode(px_dma(pt),
|
||||||
|
@ -907,7 +907,7 @@ static int gen8_alloc_va_range(struct i915_address_space *vm,
|
||||||
|
|
||||||
kunmap_px(ppgtt, page_directory);
|
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);
|
free_gen8_temp_bitmaps(new_page_dirs, new_page_tables);
|
||||||
|
@ -1329,7 +1329,7 @@ static int gen6_alloc_va_range(struct i915_address_space *vm,
|
||||||
gen6_initialize_pt(vm, pt);
|
gen6_initialize_pt(vm, pt);
|
||||||
|
|
||||||
ppgtt->pd.page_table[pde] = 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);
|
trace_i915_page_table_entry_alloc(vm, pde, start, GEN6_PDE_SHIFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1343,7 +1343,7 @@ static int gen6_alloc_va_range(struct i915_address_space *vm,
|
||||||
bitmap_set(tmp_bitmap, gen6_pte_index(start),
|
bitmap_set(tmp_bitmap, gen6_pte_index(start),
|
||||||
gen6_pte_count(start, length));
|
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);
|
gen6_write_pde(&ppgtt->pd, pde, pt);
|
||||||
|
|
||||||
trace_i915_page_table_entry_map(vm, pde, pt,
|
trace_i915_page_table_entry_map(vm, pde, pt,
|
||||||
|
|
Loading…
Add table
Reference in a new issue