Lines Matching refs:obj

426 			    struct drm_i915_gem_object *obj,
431 obj->gtt_space->start >> PAGE_SHIFT,
432 obj->base.size >> PAGE_SHIFT,
433 obj->base.pfnarray,
438 struct drm_i915_gem_object *obj)
441 obj->gtt_space->start >> PAGE_SHIFT,
442 obj->base.size >> PAGE_SHIFT);
448 struct drm_i915_gem_object *obj;
456 list_for_each_entry(obj, struct drm_i915_gem_object, &dev_priv->mm.bound_list, global_list) {
457 i915_gem_clflush_object(obj);
458 i915_gem_gtt_bind_object(obj, obj->cache_level);
464 int i915_gem_gtt_prepare_object(struct drm_i915_gem_object *obj)
467 if (obj->has_dma_mapping)
470 if (!dma_map_sg(&obj->base.dev->pdev->dev,
471 obj->pages->sgl, obj->pages->nents,
485 static void gen6_ggtt_insert_entries(struct drm_i915_gem_object *obj,
488 struct drm_device *dev = obj->base.dev;
490 unsigned first_entry = obj->gtt_offset >> PAGE_SHIFT;
491 unsigned num_entries = obj->base.size / PAGE_SIZE;
500 page_addr = obj->base.pfnarray[j] << PAGE_SHIFT;
507 BUG_ON(j != obj->base.size / PAGE_SIZE);
517 page_addr = obj->base.pfnarray[j-1] << PAGE_SHIFT;
531 struct drm_i915_gem_object *obj,
536 unsigned first_entry = obj->gtt_offset >> PAGE_SHIFT;
537 unsigned num_entries = obj->base.size / PAGE_SIZE;
557 void i915_ggtt_insert_entries(struct drm_i915_gem_object *obj,
560 struct drm_device *dev = obj->base.dev;
566 obj->base.pfnarray,
567 obj->base.size >> PAGE_SHIFT,
568 obj->gtt_offset,
573 struct drm_i915_gem_object *obj,
578 if (!obj->agp_mem) {
579 (void) drm_agp_unbind_pages(dev, obj->base.pfnarray,
580 (obj->base.size / PAGE_SIZE), obj->gtt_offset,
582 obj->agp_mem = -1;
588 void i915_gem_gtt_bind_object(struct drm_i915_gem_object *obj,
591 struct drm_device *dev = obj->base.dev;
594 dev_priv->gtt.gtt_insert_entries(obj, cache_level);
595 obj->has_global_gtt_mapping = 1;
598 void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj, uint32_t type)
600 struct drm_device *dev = obj->base.dev;
603 dev_priv->gtt.gtt_clear_range(dev, obj, type);
605 obj->has_global_gtt_mapping = 0;
608 void i915_gem_gtt_finish_object(struct drm_i915_gem_object *obj)
644 struct drm_i915_gem_object *obj;
652 list_for_each_entry(obj, struct drm_i915_gem_object,
655 obj->gtt_offset, obj->base.size);
657 BUG_ON(obj->gtt_space != I915_GTT_RESERVED);
658 obj->gtt_space = drm_mm_create_block(&dev_priv->mm.gtt_space,
659 obj->gtt_offset,
660 obj->base.size,
662 obj->has_global_gtt_mapping = 1;