Lines Matching full:mem

36 static int __iopagetest(struct intel_memory_region *mem,  in __iopagetest()  argument
51 dev_err(mem->i915->drm.dev, in __iopagetest()
53 &mem->region, &mem->io_start, &offset, caller, in __iopagetest()
61 static int iopagetest(struct intel_memory_region *mem, in iopagetest() argument
70 va = ioremap_wc(mem->io_start + offset, PAGE_SIZE); in iopagetest()
72 dev_err(mem->i915->drm.dev, in iopagetest()
74 &mem->io_start, &offset, caller); in iopagetest()
79 err = __iopagetest(mem, va, PAGE_SIZE, val[i], offset, caller); in iopagetest()
83 err = __iopagetest(mem, va, PAGE_SIZE, ~val[i], offset, caller); in iopagetest()
98 static int iomemtest(struct intel_memory_region *mem, in iomemtest() argument
105 if (mem->io_size < PAGE_SIZE) in iomemtest()
108 last = mem->io_size - PAGE_SIZE; in iomemtest()
123 err = iopagetest(mem, page, caller); in iomemtest()
128 err = iopagetest(mem, 0, caller); in iomemtest()
132 err = iopagetest(mem, last, caller); in iomemtest()
136 err = iopagetest(mem, random_page(last), caller); in iomemtest()
176 * @mem: The region for which we want to reserve a range.
182 int intel_memory_region_reserve(struct intel_memory_region *mem, in intel_memory_region_reserve() argument
186 struct ttm_resource_manager *man = mem->region_private; in intel_memory_region_reserve()
188 GEM_BUG_ON(mem->is_range_manager); in intel_memory_region_reserve()
204 static int intel_memory_region_memtest(struct intel_memory_region *mem, in intel_memory_region_memtest() argument
207 struct drm_i915_private *i915 = mem->i915; in intel_memory_region_memtest()
210 if (!mem->io_start) in intel_memory_region_memtest()
214 err = iomemtest(mem, i915->params.memtest, caller); in intel_memory_region_memtest()
246 struct intel_memory_region *mem; in intel_memory_region_create() local
249 mem = kzalloc(sizeof(*mem), GFP_KERNEL); in intel_memory_region_create()
250 if (!mem) in intel_memory_region_create()
253 mem->i915 = i915; in intel_memory_region_create()
254 mem->region = DEFINE_RES_MEM(start, size); in intel_memory_region_create()
255 mem->io_start = io_start; in intel_memory_region_create()
256 mem->io_size = io_size; in intel_memory_region_create()
257 mem->min_page_size = min_page_size; in intel_memory_region_create()
258 mem->ops = ops; in intel_memory_region_create()
259 mem->total = size; in intel_memory_region_create()
260 mem->type = type; in intel_memory_region_create()
261 mem->instance = instance; in intel_memory_region_create()
263 snprintf(mem->uabi_name, sizeof(mem->uabi_name), "%s%u", in intel_memory_region_create()
266 mutex_init(&mem->objects.lock); in intel_memory_region_create()
267 INIT_LIST_HEAD(&mem->objects.list); in intel_memory_region_create()
270 err = ops->init(mem); in intel_memory_region_create()
275 err = intel_memory_region_memtest(mem, (void *)_RET_IP_); in intel_memory_region_create()
279 return mem; in intel_memory_region_create()
282 if (mem->ops->release) in intel_memory_region_create()
283 mem->ops->release(mem); in intel_memory_region_create()
285 kfree(mem); in intel_memory_region_create()
289 void intel_memory_region_set_name(struct intel_memory_region *mem, in intel_memory_region_set_name() argument
295 vsnprintf(mem->name, sizeof(mem->name), fmt, ap); in intel_memory_region_set_name()
313 void intel_memory_region_destroy(struct intel_memory_region *mem) in intel_memory_region_destroy() argument
317 if (mem->ops->release) in intel_memory_region_destroy()
318 ret = mem->ops->release(mem); in intel_memory_region_destroy()
320 GEM_WARN_ON(!list_empty_careful(&mem->objects.list)); in intel_memory_region_destroy()
321 mutex_destroy(&mem->objects.lock); in intel_memory_region_destroy()
323 kfree(mem); in intel_memory_region_destroy()
333 struct intel_memory_region *mem = ERR_PTR(-ENODEV); in intel_memory_regions_hw_probe() local
344 mem = i915_gem_ttm_system_setup(i915, type, in intel_memory_regions_hw_probe()
347 mem = i915_gem_shmem_setup(i915, type, in intel_memory_regions_hw_probe()
351 mem = i915_gem_stolen_lmem_setup(i915, type, instance); in intel_memory_regions_hw_probe()
352 if (!IS_ERR(mem)) in intel_memory_regions_hw_probe()
353 i915->mm.stolen_region = mem; in intel_memory_regions_hw_probe()
356 mem = i915_gem_stolen_smem_setup(i915, type, instance); in intel_memory_regions_hw_probe()
357 if (!IS_ERR(mem)) in intel_memory_regions_hw_probe()
358 i915->mm.stolen_region = mem; in intel_memory_regions_hw_probe()
364 if (IS_ERR(mem)) { in intel_memory_regions_hw_probe()
365 err = PTR_ERR(mem); in intel_memory_regions_hw_probe()
372 mem->id = i; in intel_memory_regions_hw_probe()
373 i915->mm.regions[i] = mem; in intel_memory_regions_hw_probe()