[Intel-gfx] [PATCH v4 1/2] drm/i915: lookup for mem_region of a mem_type
Ramalingam C
ramalingam.c at intel.com
Mon Dec 2 06:54:57 UTC 2019
Lookup function to retrieve the pointer to a memory region of
a mem_type.
Signed-off-by: Ramalingam C <ramalingam.c at intel.com>
cc: Matthew Auld <matthew.auld at intel.com>
---
drivers/gpu/drm/i915/intel_memory_region.c | 12 ++++++++++++
drivers/gpu/drm/i915/intel_memory_region.h | 3 +++
2 files changed, 15 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_memory_region.c b/drivers/gpu/drm/i915/intel_memory_region.c
index baaeaecc64af..ae899df7a1c2 100644
--- a/drivers/gpu/drm/i915/intel_memory_region.c
+++ b/drivers/gpu/drm/i915/intel_memory_region.c
@@ -16,6 +16,18 @@ const u32 intel_region_map[] = {
[INTEL_REGION_STOLEN] = REGION_MAP(INTEL_MEMORY_STOLEN, 0),
};
+struct intel_memory_region *
+intel_memory_region_lookup(struct drm_i915_private *i915,
+ enum intel_memory_type mem_type)
+{
+ enum intel_region_id id;
+
+ for (id = INTEL_REGION_SMEM; id < INTEL_REGION_UNKNOWN; id++)
+ if (i915->mm.regions[id]->type == mem_type)
+ return i915->mm.regions[id];
+ return NULL;
+}
+
static u64
intel_memory_region_free_pages(struct intel_memory_region *mem,
struct list_head *blocks)
diff --git a/drivers/gpu/drm/i915/intel_memory_region.h b/drivers/gpu/drm/i915/intel_memory_region.h
index 238722009677..d210936c4d72 100644
--- a/drivers/gpu/drm/i915/intel_memory_region.h
+++ b/drivers/gpu/drm/i915/intel_memory_region.h
@@ -125,5 +125,8 @@ void intel_memory_region_put(struct intel_memory_region *mem);
int intel_memory_regions_hw_probe(struct drm_i915_private *i915);
void intel_memory_regions_driver_release(struct drm_i915_private *i915);
+struct intel_memory_region *
+intel_memory_region_lookup(struct drm_i915_private *i915,
+ enum intel_memory_type mem_type);
#endif
--
2.20.1
More information about the Intel-gfx
mailing list