* [Intel-gfx] [PATCH 1/2] drm/i915: add struct i915_dsm to wrap dsm members together
@ 2023-01-16 17:34 Jani Nikula
2023-01-16 17:34 ` [Intel-gfx] [PATCH 2/2] drm/i915: drop cast from DEFINE_RES_MEM() usage Jani Nikula
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Jani Nikula @ 2023-01-16 17:34 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Wrap the stolen memory related struct drm_i915_private members (dsm,
dsm_reserved, and stolen_usable_size) together in a a new struct
i915_dsm.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_fbc.c | 10 ++--
drivers/gpu/drm/i915/display/intel_fbdev.c | 2 +-
.../drm/i915/display/intel_plane_initial.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 36 ++++++-------
drivers/gpu/drm/i915/gt/intel_rc6.c | 12 ++---
drivers/gpu/drm/i915/gt/selftest_reset.c | 2 +-
drivers/gpu/drm/i915/i915_drv.h | 53 +++++++++++--------
drivers/gpu/drm/i915/selftests/i915_gem.c | 4 +-
8 files changed, 64 insertions(+), 57 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index c508dcf415b4..b507ff944864 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -331,15 +331,15 @@ static void i8xx_fbc_program_cfb(struct intel_fbc *fbc)
{
struct drm_i915_private *i915 = fbc->i915;
- GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.start,
+ GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.stolen.start,
fbc->compressed_fb.start, U32_MAX));
- GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.start,
+ GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.stolen.start,
fbc->compressed_llb.start, U32_MAX));
intel_de_write(i915, FBC_CFB_BASE,
- i915->dsm.start + fbc->compressed_fb.start);
+ i915->dsm.stolen.start + fbc->compressed_fb.start);
intel_de_write(i915, FBC_LL_BASE,
- i915->dsm.start + fbc->compressed_llb.start);
+ i915->dsm.stolen.start + fbc->compressed_llb.start);
}
static const struct intel_fbc_funcs i8xx_fbc_funcs = {
@@ -712,7 +712,7 @@ static u64 intel_fbc_stolen_end(struct drm_i915_private *i915)
* underruns, even if that range is not reserved by the BIOS. */
if (IS_BROADWELL(i915) ||
(DISPLAY_VER(i915) == 9 && !IS_BROXTON(i915)))
- end = resource_size(&i915->dsm) - 8 * 1024 * 1024;
+ end = resource_size(&i915->dsm.stolen) - 8 * 1024 * 1024;
else
end = U64_MAX;
diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c
index bbdb98d7c96e..19f3b5d92a55 100644
--- a/drivers/gpu/drm/i915/display/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
@@ -170,7 +170,7 @@ static int intelfb_alloc(struct drm_fb_helper *helper,
* important and we should probably use that space with FBC or other
* features.
*/
- if (size * 2 < dev_priv->stolen_usable_size)
+ if (size * 2 < dev_priv->dsm.usable_size)
obj = i915_gem_object_create_stolen(dev_priv, size);
if (IS_ERR(obj))
obj = i915_gem_object_create_shmem(dev_priv, size);
diff --git a/drivers/gpu/drm/i915/display/intel_plane_initial.c b/drivers/gpu/drm/i915/display/intel_plane_initial.c
index 76be796df255..bb6ea7de5c61 100644
--- a/drivers/gpu/drm/i915/display/intel_plane_initial.c
+++ b/drivers/gpu/drm/i915/display/intel_plane_initial.c
@@ -107,7 +107,7 @@ initial_plane_vma(struct drm_i915_private *i915,
*/
if (IS_ENABLED(CONFIG_FRAMEBUFFER_CONSOLE) &&
mem == i915->mm.stolen_region &&
- size * 2 > i915->stolen_usable_size)
+ size * 2 > i915->dsm.usable_size)
return NULL;
obj = i915_gem_object_create_region_at(mem, phys_base, size, 0);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
index bc9521078807..de873498d95b 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
@@ -211,7 +211,7 @@ static void g4x_get_stolen_reserved(struct drm_i915_private *i915,
IS_GM45(i915) ?
CTG_STOLEN_RESERVED :
ELK_STOLEN_RESERVED);
- resource_size_t stolen_top = i915->dsm.end + 1;
+ resource_size_t stolen_top = i915->dsm.stolen.end + 1;
drm_dbg(&i915->drm, "%s_STOLEN_RESERVED = %08x\n",
IS_GM45(i915) ? "CTG" : "ELK", reg_val);
@@ -276,7 +276,7 @@ static void vlv_get_stolen_reserved(struct drm_i915_private *i915,
resource_size_t *size)
{
u32 reg_val = intel_uncore_read(uncore, GEN6_STOLEN_RESERVED);
- resource_size_t stolen_top = i915->dsm.end + 1;
+ resource_size_t stolen_top = i915->dsm.stolen.end + 1;
drm_dbg(&i915->drm, "GEN6_STOLEN_RESERVED = %08x\n", reg_val);
@@ -365,7 +365,7 @@ static void bdw_get_stolen_reserved(struct drm_i915_private *i915,
resource_size_t *size)
{
u32 reg_val = intel_uncore_read(uncore, GEN6_STOLEN_RESERVED);
- resource_size_t stolen_top = i915->dsm.end + 1;
+ resource_size_t stolen_top = i915->dsm.stolen.end + 1;
drm_dbg(&i915->drm, "GEN6_STOLEN_RESERVED = %08x\n", reg_val);
@@ -414,7 +414,7 @@ static void icl_get_stolen_reserved(struct drm_i915_private *i915,
}
/*
- * Initialize i915->dsm_reserved to contain the reserved space within the Data
+ * Initialize i915->dsm.reserved to contain the reserved space within the Data
* Stolen Memory. This is a range on the top of DSM that is reserved, not to
* be used by driver, so must be excluded from the region passed to the
* allocator later. In the spec this is also called as WOPCM.
@@ -430,7 +430,7 @@ static int init_reserved_stolen(struct drm_i915_private *i915)
resource_size_t reserved_size;
int ret = 0;
- stolen_top = i915->dsm.end + 1;
+ stolen_top = i915->dsm.stolen.end + 1;
reserved_base = stolen_top;
reserved_size = 0;
@@ -471,13 +471,13 @@ static int init_reserved_stolen(struct drm_i915_private *i915)
goto bail_out;
}
- i915->dsm_reserved =
+ i915->dsm.reserved =
(struct resource)DEFINE_RES_MEM(reserved_base, reserved_size);
- if (!resource_contains(&i915->dsm, &i915->dsm_reserved)) {
+ if (!resource_contains(&i915->dsm.stolen, &i915->dsm.reserved)) {
drm_err(&i915->drm,
"Stolen reserved area %pR outside stolen memory %pR\n",
- &i915->dsm_reserved, &i915->dsm);
+ &i915->dsm.reserved, &i915->dsm.stolen);
ret = -EINVAL;
goto bail_out;
}
@@ -485,7 +485,7 @@ static int init_reserved_stolen(struct drm_i915_private *i915)
return 0;
bail_out:
- i915->dsm_reserved =
+ i915->dsm.reserved =
(struct resource)DEFINE_RES_MEM(reserved_base, 0);
return ret;
@@ -517,27 +517,27 @@ static int i915_gem_init_stolen(struct intel_memory_region *mem)
if (request_smem_stolen(i915, &mem->region))
return -ENOSPC;
- i915->dsm = mem->region;
+ i915->dsm.stolen = mem->region;
if (init_reserved_stolen(i915))
return -ENOSPC;
/* Exclude the reserved region from driver use */
- mem->region.end = i915->dsm_reserved.start - 1;
+ mem->region.end = i915->dsm.reserved.start - 1;
mem->io_size = min(mem->io_size, resource_size(&mem->region));
- i915->stolen_usable_size = resource_size(&mem->region);
+ i915->dsm.usable_size = resource_size(&mem->region);
drm_dbg(&i915->drm,
"Memory reserved for graphics device: %lluK, usable: %lluK\n",
- (u64)resource_size(&i915->dsm) >> 10,
- (u64)i915->stolen_usable_size >> 10);
+ (u64)resource_size(&i915->dsm.stolen) >> 10,
+ (u64)i915->dsm.usable_size >> 10);
- if (i915->stolen_usable_size == 0)
+ if (i915->dsm.usable_size == 0)
return -ENOSPC;
/* Basic memrange allocator for stolen space. */
- drm_mm_init(&i915->mm.stolen, 0, i915->stolen_usable_size);
+ drm_mm_init(&i915->mm.stolen, 0, i915->dsm.usable_size);
return 0;
}
@@ -587,7 +587,7 @@ i915_pages_create_for_stolen(struct drm_device *dev,
struct sg_table *st;
struct scatterlist *sg;
- GEM_BUG_ON(range_overflows(offset, size, resource_size(&i915->dsm)));
+ GEM_BUG_ON(range_overflows(offset, size, resource_size(&i915->dsm.stolen)));
/* We hide that we have no struct page backing our stolen object
* by wrapping the contiguous physical allocation with a fake
@@ -607,7 +607,7 @@ i915_pages_create_for_stolen(struct drm_device *dev,
sg->offset = 0;
sg->length = size;
- sg_dma_address(sg) = (dma_addr_t)i915->dsm.start + offset;
+ sg_dma_address(sg) = (dma_addr_t)i915->dsm.stolen.start + offset;
sg_dma_len(sg) = size;
return st;
diff --git a/drivers/gpu/drm/i915/gt/intel_rc6.c b/drivers/gpu/drm/i915/gt/intel_rc6.c
index 2ee4051e4d96..5c91622dfca4 100644
--- a/drivers/gpu/drm/i915/gt/intel_rc6.c
+++ b/drivers/gpu/drm/i915/gt/intel_rc6.c
@@ -301,7 +301,7 @@ static int chv_rc6_init(struct intel_rc6 *rc6)
pcbr = intel_uncore_read(uncore, VLV_PCBR);
if ((pcbr >> VLV_PCBR_ADDR_SHIFT) == 0) {
drm_dbg(&i915->drm, "BIOS didn't set up PCBR, fixing up\n");
- paddr = i915->dsm.end + 1 - pctx_size;
+ paddr = i915->dsm.stolen.end + 1 - pctx_size;
GEM_BUG_ON(paddr > U32_MAX);
pctx_paddr = (paddr & ~4095);
@@ -325,7 +325,7 @@ static int vlv_rc6_init(struct intel_rc6 *rc6)
/* BIOS set it up already, grab the pre-alloc'd space */
resource_size_t pcbr_offset;
- pcbr_offset = (pcbr & ~4095) - i915->dsm.start;
+ pcbr_offset = (pcbr & ~4095) - i915->dsm.stolen.start;
pctx = i915_gem_object_create_region_at(i915->mm.stolen_region,
pcbr_offset,
pctx_size,
@@ -354,10 +354,10 @@ static int vlv_rc6_init(struct intel_rc6 *rc6)
}
GEM_BUG_ON(range_overflows_end_t(u64,
- i915->dsm.start,
+ i915->dsm.stolen.start,
pctx->stolen->start,
U32_MAX));
- pctx_paddr = i915->dsm.start + pctx->stolen->start;
+ pctx_paddr = i915->dsm.stolen.start + pctx->stolen->start;
intel_uncore_write(uncore, VLV_PCBR, pctx_paddr);
out:
@@ -448,8 +448,8 @@ static bool bxt_check_bios_rc6_setup(struct intel_rc6 *rc6)
*/
rc6_ctx_base =
intel_uncore_read(uncore, RC6_CTX_BASE) & RC6_CTX_BASE_MASK;
- if (!(rc6_ctx_base >= i915->dsm_reserved.start &&
- rc6_ctx_base + PAGE_SIZE < i915->dsm_reserved.end)) {
+ if (!(rc6_ctx_base >= i915->dsm.reserved.start &&
+ rc6_ctx_base + PAGE_SIZE < i915->dsm.reserved.end)) {
drm_dbg(&i915->drm, "RC6 Base address not as expected.\n");
enable_rc6 = false;
}
diff --git a/drivers/gpu/drm/i915/gt/selftest_reset.c b/drivers/gpu/drm/i915/gt/selftest_reset.c
index 37c38bdd5f47..a9e0a91bc0e0 100644
--- a/drivers/gpu/drm/i915/gt/selftest_reset.c
+++ b/drivers/gpu/drm/i915/gt/selftest_reset.c
@@ -20,7 +20,7 @@ __igt_reset_stolen(struct intel_gt *gt,
const char *msg)
{
struct i915_ggtt *ggtt = gt->ggtt;
- const struct resource *dsm = >->i915->dsm;
+ const struct resource *dsm = >->i915->dsm.stolen;
resource_size_t num_pages, page;
struct intel_engine_cs *engine;
intel_wakeref_t wakeref;
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 72ca62c22797..13fab81a39b8 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -86,6 +86,35 @@ struct intel_pxp;
#define GEM_QUIRK_PIN_SWIZZLED_PAGES BIT(0)
+struct i915_dsm {
+ /*
+ * Data Stolen Memory - aka "i915 stolen memory" gives us the start and
+ * end of stolen which we can optionally use to create GEM objects
+ * backed by stolen memory. Note that stolen_usable_size tells us
+ * exactly how much of this we are actually allowed to use, given that
+ * some portion of it is in fact reserved for use by hardware functions.
+ */
+ struct resource stolen;
+
+ /*
+ * Reserved portion of Data Stolen Memory.
+ */
+ struct resource reserved;
+
+ /*
+ * Stolen memory is segmented in hardware with different portions
+ * offlimits to certain functions.
+ *
+ * The drm_mm is initialised to the total accessible range, as found
+ * from the PCI config. On Broadwell+, this is further restricted to
+ * avoid the first page! The upper end of stolen memory is reserved for
+ * hardware functions and similarly removed from the accessible range.
+ *
+ * Total size minus reserved ranges.
+ */
+ resource_size_t usable_size;
+};
+
struct i915_suspend_saved_registers {
u32 saveDSPARB;
u32 saveSWF0[16];
@@ -205,29 +234,7 @@ struct drm_i915_private {
struct intel_runtime_info __runtime; /* Use RUNTIME_INFO() to access. */
struct intel_driver_caps caps;
- /**
- * Data Stolen Memory - aka "i915 stolen memory" gives us the start and
- * end of stolen which we can optionally use to create GEM objects
- * backed by stolen memory. Note that stolen_usable_size tells us
- * exactly how much of this we are actually allowed to use, given that
- * some portion of it is in fact reserved for use by hardware functions.
- */
- struct resource dsm;
- /**
- * Reseved portion of Data Stolen Memory
- */
- struct resource dsm_reserved;
-
- /*
- * Stolen memory is segmented in hardware with different portions
- * offlimits to certain functions.
- *
- * The drm_mm is initialised to the total accessible range, as found
- * from the PCI config. On Broadwell+, this is further restricted to
- * avoid the first page! The upper end of stolen memory is reserved for
- * hardware functions and similarly removed from the accessible range.
- */
- resource_size_t stolen_usable_size; /* Total size minus reserved ranges */
+ struct i915_dsm dsm;
struct intel_uncore uncore;
struct intel_uncore_mmio_debug mmio_debug;
diff --git a/drivers/gpu/drm/i915/selftests/i915_gem.c b/drivers/gpu/drm/i915/selftests/i915_gem.c
index 2535b9684bd1..d91d0ade8abd 100644
--- a/drivers/gpu/drm/i915/selftests/i915_gem.c
+++ b/drivers/gpu/drm/i915/selftests/i915_gem.c
@@ -44,7 +44,7 @@ static void trash_stolen(struct drm_i915_private *i915)
{
struct i915_ggtt *ggtt = to_gt(i915)->ggtt;
const u64 slot = ggtt->error_capture.start;
- const resource_size_t size = resource_size(&i915->dsm);
+ const resource_size_t size = resource_size(&i915->dsm.stolen);
unsigned long page;
u32 prng = 0x12345678;
@@ -53,7 +53,7 @@ static void trash_stolen(struct drm_i915_private *i915)
return;
for (page = 0; page < size; page += PAGE_SIZE) {
- const dma_addr_t dma = i915->dsm.start + page;
+ const dma_addr_t dma = i915->dsm.stolen.start + page;
u32 __iomem *s;
int x;
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Intel-gfx] [PATCH 2/2] drm/i915: drop cast from DEFINE_RES_MEM() usage
2023-01-16 17:34 [Intel-gfx] [PATCH 1/2] drm/i915: add struct i915_dsm to wrap dsm members together Jani Nikula
@ 2023-01-16 17:34 ` Jani Nikula
2023-01-16 18:52 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: add struct i915_dsm to wrap dsm members together Patchwork
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Jani Nikula @ 2023-01-16 17:34 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Since commit 52c4d11f1dce ("resource: Convert DEFINE_RES_NAMED() to be
compound literal") it's no longer necessary to cast DEFINE_RES_MEM() to
struct resource.
This also fixes sparse warnings "cast from non-scalar" and "cast to
non-scalar".
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 10 +++-------
drivers/gpu/drm/i915/gt/intel_ggtt.c | 4 ++--
drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c | 3 +--
drivers/gpu/drm/i915/intel_memory_region.c | 2 +-
drivers/gpu/drm/i915/selftests/mock_gtt.c | 2 +-
5 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
index de873498d95b..90a967374b1a 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
@@ -110,9 +110,7 @@ static int adjust_stolen(struct drm_i915_private *i915,
else
ggtt_start &= PGTBL_ADDRESS_LO_MASK;
- ggtt_res =
- (struct resource) DEFINE_RES_MEM(ggtt_start,
- ggtt_total_entries(ggtt) * 4);
+ ggtt_res = DEFINE_RES_MEM(ggtt_start, ggtt_total_entries(ggtt) * 4);
if (ggtt_res.start >= stolen[0].start && ggtt_res.start < stolen[0].end)
stolen[0].end = ggtt_res.start;
@@ -471,8 +469,7 @@ static int init_reserved_stolen(struct drm_i915_private *i915)
goto bail_out;
}
- i915->dsm.reserved =
- (struct resource)DEFINE_RES_MEM(reserved_base, reserved_size);
+ i915->dsm.reserved = DEFINE_RES_MEM(reserved_base, reserved_size);
if (!resource_contains(&i915->dsm.stolen, &i915->dsm.reserved)) {
drm_err(&i915->drm,
@@ -485,8 +482,7 @@ static int init_reserved_stolen(struct drm_i915_private *i915)
return 0;
bail_out:
- i915->dsm.reserved =
- (struct resource)DEFINE_RES_MEM(reserved_base, 0);
+ i915->dsm.reserved = DEFINE_RES_MEM(reserved_base, 0);
return ret;
}
diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c b/drivers/gpu/drm/i915/gt/intel_ggtt.c
index 0c7fe360f873..fe64c13fd3b4 100644
--- a/drivers/gpu/drm/i915/gt/intel_ggtt.c
+++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c
@@ -885,8 +885,8 @@ static void gen6_gmch_remove(struct i915_address_space *vm)
static struct resource pci_resource(struct pci_dev *pdev, int bar)
{
- return (struct resource)DEFINE_RES_MEM(pci_resource_start(pdev, bar),
- pci_resource_len(pdev, bar));
+ return DEFINE_RES_MEM(pci_resource_start(pdev, bar),
+ pci_resource_len(pdev, bar));
}
static int gen8_gmch_probe(struct i915_ggtt *ggtt)
diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c b/drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c
index 4e2163a1aa46..4192d06df0f2 100644
--- a/drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c
+++ b/drivers/gpu/drm/i915/gt/intel_ggtt_gmch.c
@@ -89,8 +89,7 @@ int intel_ggtt_gmch_probe(struct i915_ggtt *ggtt)
intel_gmch_gtt_get(&ggtt->vm.total, &gmadr_base, &ggtt->mappable_end);
- ggtt->gmadr =
- (struct resource)DEFINE_RES_MEM(gmadr_base, ggtt->mappable_end);
+ ggtt->gmadr = DEFINE_RES_MEM(gmadr_base, ggtt->mappable_end);
ggtt->vm.alloc_pt_dma = alloc_pt_dma;
ggtt->vm.alloc_scratch_dma = alloc_pt_dma;
diff --git a/drivers/gpu/drm/i915/intel_memory_region.c b/drivers/gpu/drm/i915/intel_memory_region.c
index b9a164efd6ae..3d1fdea9811d 100644
--- a/drivers/gpu/drm/i915/intel_memory_region.c
+++ b/drivers/gpu/drm/i915/intel_memory_region.c
@@ -235,7 +235,7 @@ intel_memory_region_create(struct drm_i915_private *i915,
return ERR_PTR(-ENOMEM);
mem->i915 = i915;
- mem->region = (struct resource)DEFINE_RES_MEM(start, size);
+ mem->region = DEFINE_RES_MEM(start, size);
mem->io_start = io_start;
mem->io_size = io_size;
mem->min_page_size = min_page_size;
diff --git a/drivers/gpu/drm/i915/selftests/mock_gtt.c b/drivers/gpu/drm/i915/selftests/mock_gtt.c
index 568840e7ca66..ece97e4faacb 100644
--- a/drivers/gpu/drm/i915/selftests/mock_gtt.c
+++ b/drivers/gpu/drm/i915/selftests/mock_gtt.c
@@ -112,7 +112,7 @@ void mock_init_ggtt(struct intel_gt *gt)
ggtt->vm.i915 = gt->i915;
ggtt->vm.is_ggtt = true;
- ggtt->gmadr = (struct resource) DEFINE_RES_MEM(0, 2048 * PAGE_SIZE);
+ ggtt->gmadr = DEFINE_RES_MEM(0, 2048 * PAGE_SIZE);
ggtt->mappable_end = resource_size(&ggtt->gmadr);
ggtt->vm.total = 4096 * PAGE_SIZE;
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: add struct i915_dsm to wrap dsm members together
2023-01-16 17:34 [Intel-gfx] [PATCH 1/2] drm/i915: add struct i915_dsm to wrap dsm members together Jani Nikula
2023-01-16 17:34 ` [Intel-gfx] [PATCH 2/2] drm/i915: drop cast from DEFINE_RES_MEM() usage Jani Nikula
@ 2023-01-16 18:52 ` Patchwork
2023-01-16 18:52 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2023-01-16 18:52 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/i915: add struct i915_dsm to wrap dsm members together
URL : https://patchwork.freedesktop.org/series/112898/
State : warning
== Summary ==
Error: dim checkpatch failed
05c75413d4b5 drm/i915: add struct i915_dsm to wrap dsm members together
-:21: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#21: FILE: drivers/gpu/drm/i915/display/intel_fbc.c:334:
+ GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.stolen.start,
-:24: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#24: FILE: drivers/gpu/drm/i915/display/intel_fbc.c:336:
+ GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.stolen.start,
-:186: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#186: FILE: drivers/gpu/drm/i915/gem/i915_gem_stolen.c:590:
+ GEM_BUG_ON(range_overflows(offset, size, resource_size(&i915->dsm.stolen)));
total: 0 errors, 3 warnings, 0 checks, 284 lines checked
3c151f68417c drm/i915: drop cast from DEFINE_RES_MEM() usage
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915: add struct i915_dsm to wrap dsm members together
2023-01-16 17:34 [Intel-gfx] [PATCH 1/2] drm/i915: add struct i915_dsm to wrap dsm members together Jani Nikula
2023-01-16 17:34 ` [Intel-gfx] [PATCH 2/2] drm/i915: drop cast from DEFINE_RES_MEM() usage Jani Nikula
2023-01-16 18:52 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: add struct i915_dsm to wrap dsm members together Patchwork
@ 2023-01-16 18:52 ` Patchwork
2023-01-16 19:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2023-01-16 18:52 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/i915: add struct i915_dsm to wrap dsm members together
URL : https://patchwork.freedesktop.org/series/112898/
State : warning
== Summary ==
Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: add struct i915_dsm to wrap dsm members together
2023-01-16 17:34 [Intel-gfx] [PATCH 1/2] drm/i915: add struct i915_dsm to wrap dsm members together Jani Nikula
` (2 preceding siblings ...)
2023-01-16 18:52 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2023-01-16 19:13 ` Patchwork
2023-01-16 21:25 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-01-17 17:59 ` [Intel-gfx] [PATCH 1/2] " Rodrigo Vivi
5 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2023-01-16 19:13 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 4744 bytes --]
== Series Details ==
Series: series starting with [1/2] drm/i915: add struct i915_dsm to wrap dsm members together
URL : https://patchwork.freedesktop.org/series/112898/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12588 -> Patchwork_112898v1
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/index.html
Participating hosts (45 -> 42)
------------------------------
Missing (3): fi-kbl-soraka fi-bsw-kefka fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_112898v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@gt_heartbeat:
- fi-cfl-guc: [PASS][1] -> [DMESG-FAIL][2] ([i915#5334])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/fi-cfl-guc/igt@i915_selftest@live@gt_heartbeat.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/fi-cfl-guc/igt@i915_selftest@live@gt_heartbeat.html
#### Possible fixes ####
* igt@i915_pm_rpm@basic-rte:
- {bat-adlp-6}: [DMESG-WARN][3] ([i915#7077]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/bat-adlp-6/igt@i915_pm_rpm@basic-rte.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/bat-adlp-6/igt@i915_pm_rpm@basic-rte.html
- {bat-adln-1}: [DMESG-WARN][5] ([i915#7077]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/bat-adln-1/igt@i915_pm_rpm@basic-rte.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/bat-adln-1/igt@i915_pm_rpm@basic-rte.html
* igt@i915_selftest@live@migrate:
- {bat-dg2-11}: [DMESG-FAIL][7] -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/bat-dg2-11/igt@i915_selftest@live@migrate.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/bat-dg2-11/igt@i915_selftest@live@migrate.html
* igt@i915_selftest@live@reset:
- {bat-rpls-1}: [DMESG-FAIL][9] ([i915#4983]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/bat-rpls-1/igt@i915_selftest@live@reset.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/bat-rpls-1/igt@i915_selftest@live@reset.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-lvds-1:
- fi-ctg-p8600: [FAIL][11] ([fdo#103375]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/fi-ctg-p8600/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-lvds-1.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/fi-ctg-p8600/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-lvds-1.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#6257]: https://gitlab.freedesktop.org/drm/intel/issues/6257
[i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997
[i915#7077]: https://gitlab.freedesktop.org/drm/intel/issues/7077
[i915#7625]: https://gitlab.freedesktop.org/drm/intel/issues/7625
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
Build changes
-------------
* Linux: CI_DRM_12588 -> Patchwork_112898v1
CI-20190529: 20190529
CI_DRM_12588: 4289f17cae840c77e9d314330a635cebe762a735 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7120: dffabf00c79c55e0ae23b75d0a7922d55251ee5e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_112898v1: 4289f17cae840c77e9d314330a635cebe762a735 @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
0248a796c8be drm/i915: drop cast from DEFINE_RES_MEM() usage
2d3afc3c0864 drm/i915: add struct i915_dsm to wrap dsm members together
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/index.html
[-- Attachment #2: Type: text/html, Size: 4680 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: add struct i915_dsm to wrap dsm members together
2023-01-16 17:34 [Intel-gfx] [PATCH 1/2] drm/i915: add struct i915_dsm to wrap dsm members together Jani Nikula
` (3 preceding siblings ...)
2023-01-16 19:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2023-01-16 21:25 ` Patchwork
2023-01-17 17:59 ` [Intel-gfx] [PATCH 1/2] " Rodrigo Vivi
5 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2023-01-16 21:25 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 16680 bytes --]
== Series Details ==
Series: series starting with [1/2] drm/i915: add struct i915_dsm to wrap dsm members together
URL : https://patchwork.freedesktop.org/series/112898/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12588_full -> Patchwork_112898v1_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/index.html
Participating hosts (13 -> 9)
------------------------------
Missing (4): shard-rkl0 pig-kbl-iris pig-glk-j5005 pig-skl-6260u
Known issues
------------
Here are the changes found in Patchwork_112898v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_fair@basic-none@rcs0:
- shard-glk: [PASS][1] -> [FAIL][2] ([i915#2842])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-glk5/igt@gem_exec_fair@basic-none@rcs0.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-glk3/igt@gem_exec_fair@basic-none@rcs0.html
* igt@gem_lmem_swapping@verify-random-ccs:
- shard-glk: NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#4613]) +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-glk4/igt@gem_lmem_swapping@verify-random-ccs.html
* igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs:
- shard-glk: NOTRUN -> [SKIP][4] ([fdo#109271]) +26 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-glk4/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs.html
* igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs:
- shard-glk: NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#3886])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-glk4/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html
* igt@kms_psr2_sf@cursor-plane-update-sf:
- shard-glk: NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#658])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-glk4/igt@kms_psr2_sf@cursor-plane-update-sf.html
#### Possible fixes ####
* igt@drm_fdinfo@virtual-idle:
- {shard-rkl}: [FAIL][7] ([i915#7742]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-1/igt@drm_fdinfo@virtual-idle.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-5/igt@drm_fdinfo@virtual-idle.html
* igt@fbdev@nullptr:
- {shard-rkl}: [SKIP][9] ([i915#2582]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-1/igt@fbdev@nullptr.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-6/igt@fbdev@nullptr.html
* igt@gem_create@hog-create@smem0:
- {shard-rkl}: [FAIL][11] ([i915#7679]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-1/igt@gem_create@hog-create@smem0.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-5/igt@gem_create@hog-create@smem0.html
* igt@gem_ctx_exec@basic-nohangcheck:
- {shard-rkl}: [FAIL][13] ([i915#6268]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-4/igt@gem_ctx_exec@basic-nohangcheck.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-2/igt@gem_ctx_exec@basic-nohangcheck.html
* igt@gem_exec_fair@basic-none@vcs0:
- {shard-rkl}: [FAIL][15] ([i915#2842]) -> [PASS][16] +1 similar issue
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-6/igt@gem_exec_fair@basic-none@vcs0.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-5/igt@gem_exec_fair@basic-none@vcs0.html
* igt@gem_exec_reloc@basic-write-read-noreloc:
- {shard-rkl}: [SKIP][17] ([i915#3281]) -> [PASS][18] +11 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-6/igt@gem_exec_reloc@basic-write-read-noreloc.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-5/igt@gem_exec_reloc@basic-write-read-noreloc.html
* igt@gem_partial_pwrite_pread@write-uncached:
- {shard-rkl}: [SKIP][19] ([i915#3282]) -> [PASS][20] +2 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-4/igt@gem_partial_pwrite_pread@write-uncached.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-5/igt@gem_partial_pwrite_pread@write-uncached.html
* igt@gen9_exec_parse@unaligned-access:
- {shard-rkl}: [SKIP][21] ([i915#2527]) -> [PASS][22] +2 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-4/igt@gen9_exec_parse@unaligned-access.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-5/igt@gen9_exec_parse@unaligned-access.html
* igt@i915_pm_rc6_residency@rc6-idle@vcs0:
- {shard-rkl}: [WARN][23] ([i915#2681]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-5/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-3/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html
* igt@i915_pm_rpm@fences-dpms:
- {shard-rkl}: [SKIP][25] ([i915#1849]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-1/igt@i915_pm_rpm@fences-dpms.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-6/igt@i915_pm_rpm@fences-dpms.html
* igt@i915_pm_rpm@modeset-non-lpsp:
- {shard-dg1}: [SKIP][27] ([i915#1397]) -> [PASS][28] +3 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-dg1-14/igt@i915_pm_rpm@modeset-non-lpsp.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-dg1-15/igt@i915_pm_rpm@modeset-non-lpsp.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- {shard-rkl}: [SKIP][29] ([i915#1845] / [i915#4098]) -> [PASS][30] +7 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-6/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt:
- {shard-rkl}: [SKIP][31] ([i915#1849] / [i915#4098]) -> [PASS][32] +3 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_universal_plane@cursor-fb-leak-pipe-a:
- {shard-rkl}: [SKIP][33] ([i915#1845] / [i915#4070] / [i915#4098]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-1/igt@kms_universal_plane@cursor-fb-leak-pipe-a.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-6/igt@kms_universal_plane@cursor-fb-leak-pipe-a.html
* igt@perf@mi-rpc:
- {shard-rkl}: [SKIP][35] ([i915#2434]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12588/shard-rkl-6/igt@perf@mi-rpc.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/shard-rkl-5/igt@perf@mi-rpc.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
[fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
[fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110542]: https://bugs.freedesktop.org/show_bug.cgi?id=110542
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
[fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
[fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
[i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
[i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
[i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
[i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
[i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
[i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
[i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
[i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#4936]: https://gitlab.freedesktop.org/drm/intel/issues/4936
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
[i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
[i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247
[i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
[i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
[i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
[i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
[i915#6355]: https://gitlab.freedesktop.org/drm/intel/issues/6355
[i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
[i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
[i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
[i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
[i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
[i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
[i915#7037]: https://gitlab.freedesktop.org/drm/intel/issues/7037
[i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
[i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
[i915#7679]: https://gitlab.freedesktop.org/drm/intel/issues/7679
[i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
[i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
[i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707
[i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
[i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
Build changes
-------------
* Linux: CI_DRM_12588 -> Patchwork_112898v1
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_12588: 4289f17cae840c77e9d314330a635cebe762a735 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7120: dffabf00c79c55e0ae23b75d0a7922d55251ee5e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_112898v1: 4289f17cae840c77e9d314330a635cebe762a735 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112898v1/index.html
[-- Attachment #2: Type: text/html, Size: 11322 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/i915: add struct i915_dsm to wrap dsm members together
2023-01-16 17:34 [Intel-gfx] [PATCH 1/2] drm/i915: add struct i915_dsm to wrap dsm members together Jani Nikula
` (4 preceding siblings ...)
2023-01-16 21:25 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
@ 2023-01-17 17:59 ` Rodrigo Vivi
2023-01-18 9:52 ` Jani Nikula
5 siblings, 1 reply; 8+ messages in thread
From: Rodrigo Vivi @ 2023-01-17 17:59 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
On Mon, Jan 16, 2023 at 07:34:21PM +0200, Jani Nikula wrote:
> Wrap the stolen memory related struct drm_i915_private members (dsm,
> dsm_reserved, and stolen_usable_size) together in a a new struct
> i915_dsm.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_fbc.c | 10 ++--
> drivers/gpu/drm/i915/display/intel_fbdev.c | 2 +-
> .../drm/i915/display/intel_plane_initial.c | 2 +-
> drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 36 ++++++-------
> drivers/gpu/drm/i915/gt/intel_rc6.c | 12 ++---
> drivers/gpu/drm/i915/gt/selftest_reset.c | 2 +-
> drivers/gpu/drm/i915/i915_drv.h | 53 +++++++++++--------
> drivers/gpu/drm/i915/selftests/i915_gem.c | 4 +-
> 8 files changed, 64 insertions(+), 57 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index c508dcf415b4..b507ff944864 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -331,15 +331,15 @@ static void i8xx_fbc_program_cfb(struct intel_fbc *fbc)
> {
> struct drm_i915_private *i915 = fbc->i915;
>
> - GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.start,
> + GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.stolen.start,
> fbc->compressed_fb.start, U32_MAX));
> - GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.start,
> + GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.stolen.start,
> fbc->compressed_llb.start, U32_MAX));
>
> intel_de_write(i915, FBC_CFB_BASE,
> - i915->dsm.start + fbc->compressed_fb.start);
> + i915->dsm.stolen.start + fbc->compressed_fb.start);
> intel_de_write(i915, FBC_LL_BASE,
> - i915->dsm.start + fbc->compressed_llb.start);
> + i915->dsm.stolen.start + fbc->compressed_llb.start);
> }
>
> static const struct intel_fbc_funcs i8xx_fbc_funcs = {
> @@ -712,7 +712,7 @@ static u64 intel_fbc_stolen_end(struct drm_i915_private *i915)
> * underruns, even if that range is not reserved by the BIOS. */
> if (IS_BROADWELL(i915) ||
> (DISPLAY_VER(i915) == 9 && !IS_BROXTON(i915)))
> - end = resource_size(&i915->dsm) - 8 * 1024 * 1024;
> + end = resource_size(&i915->dsm.stolen) - 8 * 1024 * 1024;
> else
> end = U64_MAX;
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c
> index bbdb98d7c96e..19f3b5d92a55 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
> @@ -170,7 +170,7 @@ static int intelfb_alloc(struct drm_fb_helper *helper,
> * important and we should probably use that space with FBC or other
> * features.
> */
> - if (size * 2 < dev_priv->stolen_usable_size)
> + if (size * 2 < dev_priv->dsm.usable_size)
> obj = i915_gem_object_create_stolen(dev_priv, size);
> if (IS_ERR(obj))
> obj = i915_gem_object_create_shmem(dev_priv, size);
> diff --git a/drivers/gpu/drm/i915/display/intel_plane_initial.c b/drivers/gpu/drm/i915/display/intel_plane_initial.c
> index 76be796df255..bb6ea7de5c61 100644
> --- a/drivers/gpu/drm/i915/display/intel_plane_initial.c
> +++ b/drivers/gpu/drm/i915/display/intel_plane_initial.c
> @@ -107,7 +107,7 @@ initial_plane_vma(struct drm_i915_private *i915,
> */
> if (IS_ENABLED(CONFIG_FRAMEBUFFER_CONSOLE) &&
> mem == i915->mm.stolen_region &&
> - size * 2 > i915->stolen_usable_size)
> + size * 2 > i915->dsm.usable_size)
> return NULL;
>
> obj = i915_gem_object_create_region_at(mem, phys_base, size, 0);
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> index bc9521078807..de873498d95b 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> @@ -211,7 +211,7 @@ static void g4x_get_stolen_reserved(struct drm_i915_private *i915,
> IS_GM45(i915) ?
> CTG_STOLEN_RESERVED :
> ELK_STOLEN_RESERVED);
> - resource_size_t stolen_top = i915->dsm.end + 1;
> + resource_size_t stolen_top = i915->dsm.stolen.end + 1;
>
> drm_dbg(&i915->drm, "%s_STOLEN_RESERVED = %08x\n",
> IS_GM45(i915) ? "CTG" : "ELK", reg_val);
> @@ -276,7 +276,7 @@ static void vlv_get_stolen_reserved(struct drm_i915_private *i915,
> resource_size_t *size)
> {
> u32 reg_val = intel_uncore_read(uncore, GEN6_STOLEN_RESERVED);
> - resource_size_t stolen_top = i915->dsm.end + 1;
> + resource_size_t stolen_top = i915->dsm.stolen.end + 1;
>
> drm_dbg(&i915->drm, "GEN6_STOLEN_RESERVED = %08x\n", reg_val);
>
> @@ -365,7 +365,7 @@ static void bdw_get_stolen_reserved(struct drm_i915_private *i915,
> resource_size_t *size)
> {
> u32 reg_val = intel_uncore_read(uncore, GEN6_STOLEN_RESERVED);
> - resource_size_t stolen_top = i915->dsm.end + 1;
> + resource_size_t stolen_top = i915->dsm.stolen.end + 1;
>
> drm_dbg(&i915->drm, "GEN6_STOLEN_RESERVED = %08x\n", reg_val);
>
> @@ -414,7 +414,7 @@ static void icl_get_stolen_reserved(struct drm_i915_private *i915,
> }
>
> /*
> - * Initialize i915->dsm_reserved to contain the reserved space within the Data
> + * Initialize i915->dsm.reserved to contain the reserved space within the Data
> * Stolen Memory. This is a range on the top of DSM that is reserved, not to
> * be used by driver, so must be excluded from the region passed to the
> * allocator later. In the spec this is also called as WOPCM.
> @@ -430,7 +430,7 @@ static int init_reserved_stolen(struct drm_i915_private *i915)
> resource_size_t reserved_size;
> int ret = 0;
>
> - stolen_top = i915->dsm.end + 1;
> + stolen_top = i915->dsm.stolen.end + 1;
> reserved_base = stolen_top;
> reserved_size = 0;
>
> @@ -471,13 +471,13 @@ static int init_reserved_stolen(struct drm_i915_private *i915)
> goto bail_out;
> }
>
> - i915->dsm_reserved =
> + i915->dsm.reserved =
> (struct resource)DEFINE_RES_MEM(reserved_base, reserved_size);
>
> - if (!resource_contains(&i915->dsm, &i915->dsm_reserved)) {
> + if (!resource_contains(&i915->dsm.stolen, &i915->dsm.reserved)) {
> drm_err(&i915->drm,
> "Stolen reserved area %pR outside stolen memory %pR\n",
> - &i915->dsm_reserved, &i915->dsm);
> + &i915->dsm.reserved, &i915->dsm.stolen);
> ret = -EINVAL;
> goto bail_out;
> }
> @@ -485,7 +485,7 @@ static int init_reserved_stolen(struct drm_i915_private *i915)
> return 0;
>
> bail_out:
> - i915->dsm_reserved =
> + i915->dsm.reserved =
> (struct resource)DEFINE_RES_MEM(reserved_base, 0);
>
> return ret;
> @@ -517,27 +517,27 @@ static int i915_gem_init_stolen(struct intel_memory_region *mem)
> if (request_smem_stolen(i915, &mem->region))
> return -ENOSPC;
>
> - i915->dsm = mem->region;
> + i915->dsm.stolen = mem->region;
>
> if (init_reserved_stolen(i915))
> return -ENOSPC;
>
> /* Exclude the reserved region from driver use */
> - mem->region.end = i915->dsm_reserved.start - 1;
> + mem->region.end = i915->dsm.reserved.start - 1;
> mem->io_size = min(mem->io_size, resource_size(&mem->region));
>
> - i915->stolen_usable_size = resource_size(&mem->region);
> + i915->dsm.usable_size = resource_size(&mem->region);
>
> drm_dbg(&i915->drm,
> "Memory reserved for graphics device: %lluK, usable: %lluK\n",
> - (u64)resource_size(&i915->dsm) >> 10,
> - (u64)i915->stolen_usable_size >> 10);
> + (u64)resource_size(&i915->dsm.stolen) >> 10,
> + (u64)i915->dsm.usable_size >> 10);
>
> - if (i915->stolen_usable_size == 0)
> + if (i915->dsm.usable_size == 0)
> return -ENOSPC;
>
> /* Basic memrange allocator for stolen space. */
> - drm_mm_init(&i915->mm.stolen, 0, i915->stolen_usable_size);
> + drm_mm_init(&i915->mm.stolen, 0, i915->dsm.usable_size);
>
> return 0;
> }
> @@ -587,7 +587,7 @@ i915_pages_create_for_stolen(struct drm_device *dev,
> struct sg_table *st;
> struct scatterlist *sg;
>
> - GEM_BUG_ON(range_overflows(offset, size, resource_size(&i915->dsm)));
> + GEM_BUG_ON(range_overflows(offset, size, resource_size(&i915->dsm.stolen)));
>
> /* We hide that we have no struct page backing our stolen object
> * by wrapping the contiguous physical allocation with a fake
> @@ -607,7 +607,7 @@ i915_pages_create_for_stolen(struct drm_device *dev,
> sg->offset = 0;
> sg->length = size;
>
> - sg_dma_address(sg) = (dma_addr_t)i915->dsm.start + offset;
> + sg_dma_address(sg) = (dma_addr_t)i915->dsm.stolen.start + offset;
> sg_dma_len(sg) = size;
>
> return st;
> diff --git a/drivers/gpu/drm/i915/gt/intel_rc6.c b/drivers/gpu/drm/i915/gt/intel_rc6.c
> index 2ee4051e4d96..5c91622dfca4 100644
> --- a/drivers/gpu/drm/i915/gt/intel_rc6.c
> +++ b/drivers/gpu/drm/i915/gt/intel_rc6.c
> @@ -301,7 +301,7 @@ static int chv_rc6_init(struct intel_rc6 *rc6)
> pcbr = intel_uncore_read(uncore, VLV_PCBR);
> if ((pcbr >> VLV_PCBR_ADDR_SHIFT) == 0) {
> drm_dbg(&i915->drm, "BIOS didn't set up PCBR, fixing up\n");
> - paddr = i915->dsm.end + 1 - pctx_size;
> + paddr = i915->dsm.stolen.end + 1 - pctx_size;
> GEM_BUG_ON(paddr > U32_MAX);
>
> pctx_paddr = (paddr & ~4095);
> @@ -325,7 +325,7 @@ static int vlv_rc6_init(struct intel_rc6 *rc6)
> /* BIOS set it up already, grab the pre-alloc'd space */
> resource_size_t pcbr_offset;
>
> - pcbr_offset = (pcbr & ~4095) - i915->dsm.start;
> + pcbr_offset = (pcbr & ~4095) - i915->dsm.stolen.start;
> pctx = i915_gem_object_create_region_at(i915->mm.stolen_region,
> pcbr_offset,
> pctx_size,
> @@ -354,10 +354,10 @@ static int vlv_rc6_init(struct intel_rc6 *rc6)
> }
>
> GEM_BUG_ON(range_overflows_end_t(u64,
> - i915->dsm.start,
> + i915->dsm.stolen.start,
> pctx->stolen->start,
> U32_MAX));
> - pctx_paddr = i915->dsm.start + pctx->stolen->start;
> + pctx_paddr = i915->dsm.stolen.start + pctx->stolen->start;
> intel_uncore_write(uncore, VLV_PCBR, pctx_paddr);
>
> out:
> @@ -448,8 +448,8 @@ static bool bxt_check_bios_rc6_setup(struct intel_rc6 *rc6)
> */
> rc6_ctx_base =
> intel_uncore_read(uncore, RC6_CTX_BASE) & RC6_CTX_BASE_MASK;
> - if (!(rc6_ctx_base >= i915->dsm_reserved.start &&
> - rc6_ctx_base + PAGE_SIZE < i915->dsm_reserved.end)) {
> + if (!(rc6_ctx_base >= i915->dsm.reserved.start &&
> + rc6_ctx_base + PAGE_SIZE < i915->dsm.reserved.end)) {
> drm_dbg(&i915->drm, "RC6 Base address not as expected.\n");
> enable_rc6 = false;
> }
> diff --git a/drivers/gpu/drm/i915/gt/selftest_reset.c b/drivers/gpu/drm/i915/gt/selftest_reset.c
> index 37c38bdd5f47..a9e0a91bc0e0 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_reset.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_reset.c
> @@ -20,7 +20,7 @@ __igt_reset_stolen(struct intel_gt *gt,
> const char *msg)
> {
> struct i915_ggtt *ggtt = gt->ggtt;
> - const struct resource *dsm = >->i915->dsm;
> + const struct resource *dsm = >->i915->dsm.stolen;
> resource_size_t num_pages, page;
> struct intel_engine_cs *engine;
> intel_wakeref_t wakeref;
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 72ca62c22797..13fab81a39b8 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -86,6 +86,35 @@ struct intel_pxp;
>
> #define GEM_QUIRK_PIN_SWIZZLED_PAGES BIT(0)
>
> +struct i915_dsm {
> + /*
> + * Data Stolen Memory - aka "i915 stolen memory" gives us the start and
> + * end of stolen
The 'Data Stolen Memory - aka "i915 stolen memory"' should probably be moved
above along with the struct definition, and leave just the resource part,
something like Stolen gives us the start and end of stolen...."
or something like that...
But up to you, the patch already looks like a good move
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> which we can optionally use to create GEM objects
> + * backed by stolen memory. Note that stolen_usable_size tells us
> + * exactly how much of this we are actually allowed to use, given that
> + * some portion of it is in fact reserved for use by hardware functions.
> + */
> + struct resource stolen;
> +
> + /*
> + * Reserved portion of Data Stolen Memory.
> + */
> + struct resource reserved;
> +
> + /*
> + * Stolen memory is segmented in hardware with different portions
> + * offlimits to certain functions.
> + *
> + * The drm_mm is initialised to the total accessible range, as found
> + * from the PCI config. On Broadwell+, this is further restricted to
> + * avoid the first page! The upper end of stolen memory is reserved for
> + * hardware functions and similarly removed from the accessible range.
> + *
> + * Total size minus reserved ranges.
> + */
> + resource_size_t usable_size;
> +};
> +
> struct i915_suspend_saved_registers {
> u32 saveDSPARB;
> u32 saveSWF0[16];
> @@ -205,29 +234,7 @@ struct drm_i915_private {
> struct intel_runtime_info __runtime; /* Use RUNTIME_INFO() to access. */
> struct intel_driver_caps caps;
>
> - /**
> - * Data Stolen Memory - aka "i915 stolen memory" gives us the start and
> - * end of stolen which we can optionally use to create GEM objects
> - * backed by stolen memory. Note that stolen_usable_size tells us
> - * exactly how much of this we are actually allowed to use, given that
> - * some portion of it is in fact reserved for use by hardware functions.
> - */
> - struct resource dsm;
> - /**
> - * Reseved portion of Data Stolen Memory
> - */
> - struct resource dsm_reserved;
> -
> - /*
> - * Stolen memory is segmented in hardware with different portions
> - * offlimits to certain functions.
> - *
> - * The drm_mm is initialised to the total accessible range, as found
> - * from the PCI config. On Broadwell+, this is further restricted to
> - * avoid the first page! The upper end of stolen memory is reserved for
> - * hardware functions and similarly removed from the accessible range.
> - */
> - resource_size_t stolen_usable_size; /* Total size minus reserved ranges */
> + struct i915_dsm dsm;
>
> struct intel_uncore uncore;
> struct intel_uncore_mmio_debug mmio_debug;
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem.c b/drivers/gpu/drm/i915/selftests/i915_gem.c
> index 2535b9684bd1..d91d0ade8abd 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem.c
> @@ -44,7 +44,7 @@ static void trash_stolen(struct drm_i915_private *i915)
> {
> struct i915_ggtt *ggtt = to_gt(i915)->ggtt;
> const u64 slot = ggtt->error_capture.start;
> - const resource_size_t size = resource_size(&i915->dsm);
> + const resource_size_t size = resource_size(&i915->dsm.stolen);
> unsigned long page;
> u32 prng = 0x12345678;
>
> @@ -53,7 +53,7 @@ static void trash_stolen(struct drm_i915_private *i915)
> return;
>
> for (page = 0; page < size; page += PAGE_SIZE) {
> - const dma_addr_t dma = i915->dsm.start + page;
> + const dma_addr_t dma = i915->dsm.stolen.start + page;
> u32 __iomem *s;
> int x;
>
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/i915: add struct i915_dsm to wrap dsm members together
2023-01-17 17:59 ` [Intel-gfx] [PATCH 1/2] " Rodrigo Vivi
@ 2023-01-18 9:52 ` Jani Nikula
0 siblings, 0 replies; 8+ messages in thread
From: Jani Nikula @ 2023-01-18 9:52 UTC (permalink / raw)
To: Rodrigo Vivi; +Cc: intel-gfx
On Tue, 17 Jan 2023, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> On Mon, Jan 16, 2023 at 07:34:21PM +0200, Jani Nikula wrote:
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index 72ca62c22797..13fab81a39b8 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -86,6 +86,35 @@ struct intel_pxp;
>>
>> #define GEM_QUIRK_PIN_SWIZZLED_PAGES BIT(0)
>>
>> +struct i915_dsm {
>> + /*
>> + * Data Stolen Memory - aka "i915 stolen memory" gives us the start and
>> + * end of stolen
>
> The 'Data Stolen Memory - aka "i915 stolen memory"' should probably be moved
> above along with the struct definition, and leave just the resource part,
> something like Stolen gives us the start and end of stolen...."
>
> or something like that...
Agreed.
>
> But up to you, the patch already looks like a good move
>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Thanks, pushed to din, and took the rare liberty to update the comments
while applying.
BR,
Jani.
--
Jani Nikula, Intel Open Source Graphics Center
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-01-18 9:52 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-16 17:34 [Intel-gfx] [PATCH 1/2] drm/i915: add struct i915_dsm to wrap dsm members together Jani Nikula
2023-01-16 17:34 ` [Intel-gfx] [PATCH 2/2] drm/i915: drop cast from DEFINE_RES_MEM() usage Jani Nikula
2023-01-16 18:52 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: add struct i915_dsm to wrap dsm members together Patchwork
2023-01-16 18:52 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-01-16 19:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-01-16 21:25 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-01-17 17:59 ` [Intel-gfx] [PATCH 1/2] " Rodrigo Vivi
2023-01-18 9:52 ` Jani Nikula
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox