Lines Matching defs:obj

260 i915_gem_object_fence_ok(struct drm_i915_gem_object *obj, int tiling_mode)
267 if (INTEL_INFO(obj->base.dev)->gen >= 4)
270 if (INTEL_INFO(obj->base.dev)->gen == 3) {
271 if (obj->gtt_offset & ~I915_FENCE_START_MASK)
274 if (obj->gtt_offset & ~I830_FENCE_START_MASK)
282 if (INTEL_INFO(obj->base.dev)->gen == 3)
287 while (size < obj->base.size)
290 if (obj->gtt_space->size != size)
293 if (obj->gtt_offset & (size - 1))
309 struct drm_i915_gem_object *obj;
312 obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
313 if (&obj->base == NULL)
317 args->stride, obj->base.size, args->tiling_mode)) {
318 drm_gem_object_unreference_unlocked(&obj->base);
322 if (obj->pin_count) {
323 drm_gem_object_unreference_unlocked(&obj->base);
357 if (args->tiling_mode != obj->tiling_mode ||
358 args->stride != obj->stride) {
372 obj->map_and_fenceable =
373 obj->gtt_space == NULL ||
374 (obj->gtt_offset + obj->base.size <= dev_priv->mm.gtt_mappable_end &&
375 i915_gem_object_fence_ok(obj, args->tiling_mode));
378 if (!obj->map_and_fenceable) {
381 obj->base.size,
383 if (obj->gtt_offset & (unfenced_alignment - 1))
384 ret = i915_gem_object_unbind(obj);
388 obj->fence_dirty =
389 obj->fenced_gpu_access ||
390 obj->fence_reg != I915_FENCE_REG_NONE;
392 obj->tiling_mode = args->tiling_mode;
393 obj->stride = args->stride;
396 i915_gem_release_mmap(obj);
400 args->stride = obj->stride;
401 args->tiling_mode = obj->tiling_mode;
402 drm_gem_object_unreference(&obj->base);
417 struct drm_i915_gem_object *obj;
419 obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
420 if (&obj->base == NULL)
425 args->tiling_mode = obj->tiling_mode;
426 switch (obj->tiling_mode) {
446 drm_gem_object_unreference(&obj->base);
479 i915_gem_object_do_bit_17_swizzle_page(struct drm_i915_gem_object *obj,
484 if (obj->bit_17 == NULL)
489 (test_bit(m->pindex, obj->bit_17) != 0)) {
496 i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj)
498 int page_count = obj->base.size >> PAGE_SHIFT;
501 if (obj->bit_17 == NULL)
505 vm_page_t page = obj->pages[i];
508 (test_bit(i, obj->bit_17) != 0)) {
516 i915_gem_object_save_bit_17_swizzle(struct drm_i915_gem_object *obj)
518 int page_count = obj->base.size >> PAGE_SHIFT;
521 if (obj->bit_17 == NULL) {
522 obj->bit_17 = malloc(BITS_TO_LONGS(page_count) *
524 if (obj->bit_17 == NULL) {
533 vm_page_t page = obj->pages[i];
535 __set_bit(i, obj->bit_17);
537 __clear_bit(i, obj->bit_17);