Skip to content

Commit dc43040

Browse files
matt-aulddanvet
authored andcommitted
drm/i915: give stolen system memory its own class
In some future patches we will need to also support a stolen region carved from device local memory, on platforms like DG1. To handle this we can simply describe each in terms of its own memory class. Signed-off-by: Matthew Auld <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Chris Wilson <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Daniel Vetter <[email protected]>
1 parent 8ec8ad0 commit dc43040

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

drivers/gpu/drm/i915/gem/i915_gem_stolen.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ struct drm_i915_gem_object *
686686
i915_gem_object_create_stolen(struct drm_i915_private *i915,
687687
resource_size_t size)
688688
{
689-
return i915_gem_object_create_region(i915->mm.regions[INTEL_REGION_STOLEN],
689+
return i915_gem_object_create_region(i915->mm.regions[INTEL_REGION_STOLEN_SMEM],
690690
size, I915_BO_ALLOC_CONTIGUOUS);
691691
}
692692

@@ -726,7 +726,7 @@ i915_gem_object_create_stolen_for_preallocated(struct drm_i915_private *i915,
726726
resource_size_t stolen_offset,
727727
resource_size_t size)
728728
{
729-
struct intel_memory_region *mem = i915->mm.regions[INTEL_REGION_STOLEN];
729+
struct intel_memory_region *mem = i915->mm.regions[INTEL_REGION_STOLEN_SMEM];
730730
struct drm_i915_gem_object *obj;
731731
struct drm_mm_node *stolen;
732732
int ret;

drivers/gpu/drm/i915/i915_drv.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -807,7 +807,7 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
807807
if (INTEL_GEN(i915) >= 9 && i915_selftest.live < 0 &&
808808
i915->params.fake_lmem_start) {
809809
mkwrite_device_info(i915)->memory_regions =
810-
REGION_SMEM | REGION_LMEM | REGION_STOLEN;
810+
REGION_SMEM | REGION_LMEM | REGION_STOLEN_SMEM;
811811
GEM_BUG_ON(!HAS_LMEM(i915));
812812
}
813813
}

drivers/gpu/drm/i915/i915_pci.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
.page_sizes = I915_GTT_PAGE_SIZE_4K
155155

156156
#define GEN_DEFAULT_REGIONS \
157-
.memory_regions = REGION_SMEM | REGION_STOLEN
157+
.memory_regions = REGION_SMEM | REGION_STOLEN_SMEM
158158

159159
#define I830_FEATURES \
160160
GEN(2), \

drivers/gpu/drm/i915/intel_memory_region.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ static const struct {
1818
.class = INTEL_MEMORY_LOCAL,
1919
.instance = 0,
2020
},
21-
[INTEL_REGION_STOLEN] = {
22-
.class = INTEL_MEMORY_STOLEN,
21+
[INTEL_REGION_STOLEN_SMEM] = {
22+
.class = INTEL_MEMORY_STOLEN_SYSTEM,
2323
.instance = 0,
2424
},
2525
};
@@ -278,7 +278,7 @@ int intel_memory_regions_hw_probe(struct drm_i915_private *i915)
278278
case INTEL_MEMORY_SYSTEM:
279279
mem = i915_gem_shmem_setup(i915);
280280
break;
281-
case INTEL_MEMORY_STOLEN:
281+
case INTEL_MEMORY_STOLEN_SYSTEM:
282282
mem = i915_gem_stolen_setup(i915);
283283
break;
284284
default:

drivers/gpu/drm/i915/intel_memory_region.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,19 @@ struct sg_table;
2525
enum intel_memory_type {
2626
INTEL_MEMORY_SYSTEM = 0,
2727
INTEL_MEMORY_LOCAL,
28-
INTEL_MEMORY_STOLEN,
28+
INTEL_MEMORY_STOLEN_SYSTEM,
2929
};
3030

3131
enum intel_region_id {
3232
INTEL_REGION_SMEM = 0,
3333
INTEL_REGION_LMEM,
34-
INTEL_REGION_STOLEN,
34+
INTEL_REGION_STOLEN_SMEM,
3535
INTEL_REGION_UNKNOWN, /* Should be last */
3636
};
3737

3838
#define REGION_SMEM BIT(INTEL_REGION_SMEM)
3939
#define REGION_LMEM BIT(INTEL_REGION_LMEM)
40-
#define REGION_STOLEN BIT(INTEL_REGION_STOLEN)
40+
#define REGION_STOLEN_SMEM BIT(INTEL_REGION_STOLEN_SMEM)
4141

4242
#define I915_ALLOC_MIN_PAGE_SIZE BIT(0)
4343
#define I915_ALLOC_CONTIGUOUS BIT(1)

0 commit comments

Comments
 (0)