Lines Matching refs:dev_priv

48 int i915_gem_stolen_insert_node_in_range(struct drm_i915_private *dev_priv,  in i915_gem_stolen_insert_node_in_range()  argument
54 if (!drm_mm_initialized(&dev_priv->mm.stolen)) in i915_gem_stolen_insert_node_in_range()
59 if (INTEL_INFO(dev_priv)->gen == 8 && start < 4096) in i915_gem_stolen_insert_node_in_range()
62 mutex_lock(&dev_priv->mm.stolen_lock); in i915_gem_stolen_insert_node_in_range()
63 ret = drm_mm_insert_node_in_range(&dev_priv->mm.stolen, node, size, in i915_gem_stolen_insert_node_in_range()
66 mutex_unlock(&dev_priv->mm.stolen_lock); in i915_gem_stolen_insert_node_in_range()
71 int i915_gem_stolen_insert_node(struct drm_i915_private *dev_priv, in i915_gem_stolen_insert_node() argument
75 return i915_gem_stolen_insert_node_in_range(dev_priv, node, size, in i915_gem_stolen_insert_node()
77 dev_priv->gtt.stolen_usable_size); in i915_gem_stolen_insert_node()
80 void i915_gem_stolen_remove_node(struct drm_i915_private *dev_priv, in i915_gem_stolen_remove_node() argument
83 mutex_lock(&dev_priv->mm.stolen_lock); in i915_gem_stolen_remove_node()
85 mutex_unlock(&dev_priv->mm.stolen_lock); in i915_gem_stolen_remove_node()
90 struct drm_i915_private *dev_priv = dev->dev_private; in i915_stolen_to_physical() local
137 base = tom - tseg_size - dev_priv->gtt.stolen_size; in i915_stolen_to_physical()
161 base = tom - tseg_size - dev_priv->gtt.stolen_size; in i915_stolen_to_physical()
181 base = tom - tseg_size - dev_priv->gtt.stolen_size; in i915_stolen_to_physical()
192 { .start = base, .end = base + dev_priv->gtt.stolen_size, }, in i915_stolen_to_physical()
193 { .start = base, .end = base + dev_priv->gtt.stolen_size, }, in i915_stolen_to_physical()
203 gtt_end = gtt_start + gtt_total_entries(dev_priv->gtt) * 4; in i915_stolen_to_physical()
214 dev_priv->gtt.stolen_size = stolen[0].end - stolen[0].start; in i915_stolen_to_physical()
217 dev_priv->gtt.stolen_size = stolen[1].end - stolen[1].start; in i915_stolen_to_physical()
226 base, base + (u32) dev_priv->gtt.stolen_size - 1); in i915_stolen_to_physical()
236 r = devm_request_mem_region(dev->dev, base, dev_priv->gtt.stolen_size, in i915_stolen_to_physical()
248 dev_priv->gtt.stolen_size - 1, in i915_stolen_to_physical()
256 base, base + (uint32_t)dev_priv->gtt.stolen_size); in i915_stolen_to_physical()
266 struct drm_i915_private *dev_priv = dev->dev_private; in i915_gem_cleanup_stolen() local
268 if (!drm_mm_initialized(&dev_priv->mm.stolen)) in i915_gem_cleanup_stolen()
271 drm_mm_takedown(&dev_priv->mm.stolen); in i915_gem_cleanup_stolen()
274 static void g4x_get_stolen_reserved(struct drm_i915_private *dev_priv, in g4x_get_stolen_reserved() argument
277 uint32_t reg_val = I915_READ(IS_GM45(dev_priv) ? in g4x_get_stolen_reserved()
280 unsigned long stolen_top = dev_priv->mm.stolen_base + in g4x_get_stolen_reserved()
281 dev_priv->gtt.stolen_size; in g4x_get_stolen_reserved()
297 static void gen6_get_stolen_reserved(struct drm_i915_private *dev_priv, in gen6_get_stolen_reserved() argument
323 static void gen7_get_stolen_reserved(struct drm_i915_private *dev_priv, in gen7_get_stolen_reserved() argument
343 static void gen8_get_stolen_reserved(struct drm_i915_private *dev_priv, in gen8_get_stolen_reserved() argument
369 static void bdw_get_stolen_reserved(struct drm_i915_private *dev_priv, in bdw_get_stolen_reserved() argument
375 stolen_top = dev_priv->mm.stolen_base + dev_priv->gtt.stolen_size; in bdw_get_stolen_reserved()
391 struct drm_i915_private *dev_priv = dev->dev_private; in i915_gem_init_stolen() local
395 mutex_init(&dev_priv->mm.stolen_lock); in i915_gem_init_stolen()
404 if (dev_priv->gtt.stolen_size == 0) in i915_gem_init_stolen()
407 dev_priv->mm.stolen_base = i915_stolen_to_physical(dev); in i915_gem_init_stolen()
408 if (dev_priv->mm.stolen_base == 0) in i915_gem_init_stolen()
411 stolen_top = dev_priv->mm.stolen_base + dev_priv->gtt.stolen_size; in i915_gem_init_stolen()
413 switch (INTEL_INFO(dev_priv)->gen) { in i915_gem_init_stolen()
419 g4x_get_stolen_reserved(dev_priv, &reserved_base, in i915_gem_init_stolen()
428 gen6_get_stolen_reserved(dev_priv, &reserved_base, in i915_gem_init_stolen()
432 gen7_get_stolen_reserved(dev_priv, &reserved_base, in i915_gem_init_stolen()
436 if (IS_BROADWELL(dev_priv) || IS_SKYLAKE(dev_priv)) in i915_gem_init_stolen()
437 bdw_get_stolen_reserved(dev_priv, &reserved_base, in i915_gem_init_stolen()
440 gen8_get_stolen_reserved(dev_priv, &reserved_base, in i915_gem_init_stolen()
452 if (reserved_base < dev_priv->mm.stolen_base || in i915_gem_init_stolen()
456 dev_priv->mm.stolen_base, stolen_top); in i915_gem_init_stolen()
465 dev_priv->gtt.stolen_size >> 10, in i915_gem_init_stolen()
466 (dev_priv->gtt.stolen_size - reserved_total) >> 10); in i915_gem_init_stolen()
468 dev_priv->gtt.stolen_usable_size = dev_priv->gtt.stolen_size - in i915_gem_init_stolen()
482 drm_mm_init(&dev_priv->mm.stolen, 0, dev_priv->gtt.stolen_usable_size); in i915_gem_init_stolen()
491 struct drm_i915_private *dev_priv = dev->dev_private; in i915_pages_create_for_stolen() local
496 BUG_ON(offset > dev_priv->gtt.stolen_size - size); in i915_pages_create_for_stolen()
516 sg_dma_address(sg) = (dma_addr_t)dev_priv->mm.stolen_base + offset; in i915_pages_create_for_stolen()
539 struct drm_i915_private *dev_priv = obj->base.dev->dev_private; in i915_gem_object_release_stolen() local
542 i915_gem_stolen_remove_node(dev_priv, obj->stolen); in i915_gem_object_release_stolen()
587 struct drm_i915_private *dev_priv = dev->dev_private; in i915_gem_object_create_stolen() local
592 if (!drm_mm_initialized(&dev_priv->mm.stolen)) in i915_gem_object_create_stolen()
603 ret = i915_gem_stolen_insert_node(dev_priv, stolen, size, 4096); in i915_gem_object_create_stolen()
613 i915_gem_stolen_remove_node(dev_priv, stolen); in i915_gem_object_create_stolen()
624 struct drm_i915_private *dev_priv = dev->dev_private; in i915_gem_object_create_stolen_for_preallocated() local
625 struct i915_address_space *ggtt = &dev_priv->gtt.base; in i915_gem_object_create_stolen_for_preallocated()
631 if (!drm_mm_initialized(&dev_priv->mm.stolen)) in i915_gem_object_create_stolen_for_preallocated()
648 mutex_lock(&dev_priv->mm.stolen_lock); in i915_gem_object_create_stolen_for_preallocated()
649 ret = drm_mm_reserve_node(&dev_priv->mm.stolen, stolen); in i915_gem_object_create_stolen_for_preallocated()
650 mutex_unlock(&dev_priv->mm.stolen_lock); in i915_gem_object_create_stolen_for_preallocated()
660 i915_gem_stolen_remove_node(dev_priv, stolen); in i915_gem_object_create_stolen_for_preallocated()
694 list_add_tail(&obj->global_list, &dev_priv->mm.bound_list); in i915_gem_object_create_stolen_for_preallocated()