* [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups
@ 2023-06-27 15:13 Jani Nikula
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device Jani Nikula
` (9 more replies)
0 siblings, 10 replies; 19+ messages in thread
From: Jani Nikula @ 2023-06-27 15:13 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
This is v2 of [1], fixing mock device init to not modify rodata.
BR,
Jani.
[1] https://patchwork.freedesktop.org/series/119086/
Jani Nikula (6):
drm/i915: use mock device info for creating mock device
drm/i915: move platform_engine_mask and memory_regions to device info
drm/i915: separate display info printing from the rest
drm/i915: fix display info usage
drm/i915: move display device and runtime info to struct intel_display
drm/i915: make device info a const pointer to rodata
drivers/gpu/drm/i915/display/intel_display.h | 2 +-
.../gpu/drm/i915/display/intel_display_core.h | 9 +++
.../drm/i915/display/intel_display_device.c | 21 ++++++
.../drm/i915/display/intel_display_device.h | 5 ++
drivers/gpu/drm/i915/gt/intel_gt.c | 2 +-
drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c | 2 +-
drivers/gpu/drm/i915/gt/uc/intel_huc.c | 2 +-
drivers/gpu/drm/i915/i915_debugfs.c | 1 +
drivers/gpu/drm/i915/i915_driver.c | 2 +
drivers/gpu/drm/i915/i915_drv.h | 11 ++--
drivers/gpu/drm/i915/i915_gpu_error.c | 6 ++
drivers/gpu/drm/i915/i915_gpu_error.h | 3 +
drivers/gpu/drm/i915/i915_pci.c | 64 +++++++++----------
drivers/gpu/drm/i915/intel_device_info.c | 44 ++-----------
drivers/gpu/drm/i915/intel_device_info.h | 11 +---
.../gpu/drm/i915/selftests/mock_gem_device.c | 45 +++++++------
16 files changed, 122 insertions(+), 108 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device
2023-06-27 15:13 [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups Jani Nikula
@ 2023-06-27 15:13 ` Jani Nikula
2023-06-29 11:00 ` Tvrtko Ursulin
` (3 more replies)
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 2/6] drm/i915: move platform_engine_mask and memory_regions to device info Jani Nikula
` (8 subsequent siblings)
9 siblings, 4 replies; 19+ messages in thread
From: Jani Nikula @ 2023-06-27 15:13 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula, Andrzej Hajda, Matt Roper
Instead of modifying the device info on the fly, use static const mock
device info.
It's not okay to modify device info at runtime; we've added separate
runtime info for info that needs to be modified at runtime. We've added
safeguards to device info to prevent it from being modified, but commit
5e352e32aec2 ("drm/i915: preparation for using PAT index") just cast the
const away and modified it anyway. This prevents device info from being
moved to rodata.
Fixes: 5e352e32aec2 ("drm/i915: preparation for using PAT index")
Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Fei Yang <fei.yang@intel.com>
Cc: Andi Shyti <andi.shyti@linux.intel.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../gpu/drm/i915/selftests/mock_gem_device.c | 45 ++++++++++---------
1 file changed, 24 insertions(+), 21 deletions(-)
diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
index 09d4bbcdcdbf..4de6a4e8280d 100644
--- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
+++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
@@ -118,15 +118,31 @@ static void mock_gt_probe(struct drm_i915_private *i915)
i915->gt[0]->name = "Mock GT";
}
+static const struct intel_device_info mock_info = {
+ .__runtime.graphics.ip.ver = -1,
+ .__runtime.page_sizes = (I915_GTT_PAGE_SIZE_4K |
+ I915_GTT_PAGE_SIZE_64K |
+ I915_GTT_PAGE_SIZE_2M),
+ .__runtime.memory_regions = REGION_SMEM,
+ .__runtime.platform_engine_mask = BIT(0),
+
+ /* simply use legacy cache level for mock device */
+ .max_pat_index = 3,
+ .cachelevel_to_pat = {
+ [I915_CACHE_NONE] = 0,
+ [I915_CACHE_LLC] = 1,
+ [I915_CACHE_L3_LLC] = 2,
+ [I915_CACHE_WT] = 3,
+ },
+};
+
struct drm_i915_private *mock_gem_device(void)
{
#if IS_ENABLED(CONFIG_IOMMU_API) && defined(CONFIG_INTEL_IOMMU)
static struct dev_iommu fake_iommu = { .priv = (void *)-1 };
#endif
struct drm_i915_private *i915;
- struct intel_device_info *i915_info;
struct pci_dev *pdev;
- unsigned int i;
int ret;
pdev = kzalloc(sizeof(*pdev), GFP_KERNEL);
@@ -159,15 +175,18 @@ struct drm_i915_private *mock_gem_device(void)
pci_set_drvdata(pdev, i915);
+ /* Device parameters start as a copy of module parameters. */
+ i915_params_copy(&i915->params, &i915_modparams);
+
+ /* Set up device info and initial runtime info. */
+ intel_device_info_driver_create(i915, pdev->device, &mock_info);
+
dev_pm_domain_set(&pdev->dev, &pm_domain);
pm_runtime_enable(&pdev->dev);
pm_runtime_dont_use_autosuspend(&pdev->dev);
if (pm_runtime_enabled(&pdev->dev))
WARN_ON(pm_runtime_get_sync(&pdev->dev));
-
- i915_params_copy(&i915->params, &i915_modparams);
-
intel_runtime_pm_init_early(&i915->runtime_pm);
/* wakeref tracking has significant overhead */
i915->runtime_pm.no_wakeref_tracking = true;
@@ -175,21 +194,6 @@ struct drm_i915_private *mock_gem_device(void)
/* Using the global GTT may ask questions about KMS users, so prepare */
drm_mode_config_init(&i915->drm);
- RUNTIME_INFO(i915)->graphics.ip.ver = -1;
-
- RUNTIME_INFO(i915)->page_sizes =
- I915_GTT_PAGE_SIZE_4K |
- I915_GTT_PAGE_SIZE_64K |
- I915_GTT_PAGE_SIZE_2M;
-
- RUNTIME_INFO(i915)->memory_regions = REGION_SMEM;
-
- /* simply use legacy cache level for mock device */
- i915_info = (struct intel_device_info *)INTEL_INFO(i915);
- i915_info->max_pat_index = 3;
- for (i = 0; i < I915_MAX_CACHE_LEVEL; i++)
- i915_info->cachelevel_to_pat[i] = i;
-
intel_memory_regions_hw_probe(i915);
spin_lock_init(&i915->gpu_error.lock);
@@ -223,7 +227,6 @@ struct drm_i915_private *mock_gem_device(void)
mock_init_ggtt(to_gt(i915));
to_gt(i915)->vm = i915_vm_get(&to_gt(i915)->ggtt->vm);
- RUNTIME_INFO(i915)->platform_engine_mask = BIT(0);
to_gt(i915)->info.engine_mask = BIT(0);
to_gt(i915)->engine[RCS0] = mock_engine(i915, "mock", RCS0);
--
2.39.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Intel-gfx] [PATCH v2 2/6] drm/i915: move platform_engine_mask and memory_regions to device info
2023-06-27 15:13 [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups Jani Nikula
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device Jani Nikula
@ 2023-06-27 15:13 ` Jani Nikula
2023-06-29 11:06 ` Tvrtko Ursulin
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 3/6] drm/i915: separate display info printing from the rest Jani Nikula
` (7 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Jani Nikula @ 2023-06-27 15:13 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
The mock device creation was the only place that needed to modify
platform_engine_mask and memory_regions runtime. With mock_info in place
for mock devices, we can move them to device info.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/gt/intel_gt.c | 2 +-
drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c | 2 +-
drivers/gpu/drm/i915/gt/uc/intel_huc.c | 2 +-
drivers/gpu/drm/i915/i915_drv.h | 2 +-
drivers/gpu/drm/i915/i915_pci.c | 64 +++++++++----------
drivers/gpu/drm/i915/intel_device_info.c | 2 +-
drivers/gpu/drm/i915/intel_device_info.h | 7 +-
.../gpu/drm/i915/selftests/mock_gem_device.c | 4 +-
8 files changed, 42 insertions(+), 43 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
index 7a008e829d4d..33a61046ba58 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -904,7 +904,7 @@ int intel_gt_probe_all(struct drm_i915_private *i915)
*/
gt->i915 = i915;
gt->name = "Primary GT";
- gt->info.engine_mask = RUNTIME_INFO(i915)->platform_engine_mask;
+ gt->info.engine_mask = INTEL_INFO(i915)->platform_engine_mask;
gt_dbg(gt, "Setting up %s\n", gt->name);
ret = intel_gt_tile_setup(gt, phys_addr);
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
index 75a3a0790ef3..034b53a71541 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
@@ -99,7 +99,7 @@ static bool gsc_engine_supported(struct intel_gt *gt)
GEM_BUG_ON(!gt_is_root(gt) && !gt->info.engine_mask);
if (gt_is_root(gt))
- mask = RUNTIME_INFO(gt->i915)->platform_engine_mask;
+ mask = INTEL_INFO(gt->i915)->platform_engine_mask;
else
mask = gt->info.engine_mask;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_huc.c b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
index 23aa1b0e0166..ba9e07fc2b57 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_huc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
@@ -267,7 +267,7 @@ static bool vcs_supported(struct intel_gt *gt)
GEM_BUG_ON(!gt_is_root(gt) && !gt->info.engine_mask);
if (gt_is_root(gt))
- mask = RUNTIME_INFO(gt->i915)->platform_engine_mask;
+ mask = INTEL_INFO(gt->i915)->platform_engine_mask;
else
mask = gt->info.engine_mask;
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index b4cf6f0f636d..078720a52322 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -839,7 +839,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
*/
#define HAS_64K_PAGES(i915) (INTEL_INFO(i915)->has_64k_pages)
-#define HAS_REGION(i915, i) (RUNTIME_INFO(i915)->memory_regions & (i))
+#define HAS_REGION(i915, i) (INTEL_INFO(i915)->memory_regions & (i))
#define HAS_LMEM(i915) HAS_REGION(i915, REGION_LMEM)
#define HAS_EXTRA_GT_LIST(i915) (INTEL_INFO(i915)->extra_gt_list)
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 3d7a5db9833b..dea3609fc496 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -84,7 +84,7 @@ __diag_ignore_all("-Woverride-init", "Allow overriding inherited members");
.__runtime.page_sizes = I915_GTT_PAGE_SIZE_4K
#define GEN_DEFAULT_REGIONS \
- .__runtime.memory_regions = REGION_SMEM | REGION_STOLEN_SMEM
+ .memory_regions = REGION_SMEM | REGION_STOLEN_SMEM
#define I830_FEATURES \
GEN(2), \
@@ -93,7 +93,7 @@ __diag_ignore_all("-Woverride-init", "Allow overriding inherited members");
.has_3d_pipeline = 1, \
.hws_needs_physical = 1, \
.unfenced_needs_alignment = 1, \
- .__runtime.platform_engine_mask = BIT(RCS0), \
+ .platform_engine_mask = BIT(RCS0), \
.has_snoop = true, \
.has_coherent_ggtt = false, \
.dma_mask_size = 32, \
@@ -108,7 +108,7 @@ __diag_ignore_all("-Woverride-init", "Allow overriding inherited members");
.gpu_reset_clobbers_display = true, \
.hws_needs_physical = 1, \
.unfenced_needs_alignment = 1, \
- .__runtime.platform_engine_mask = BIT(RCS0), \
+ .platform_engine_mask = BIT(RCS0), \
.has_snoop = true, \
.has_coherent_ggtt = false, \
.dma_mask_size = 32, \
@@ -140,7 +140,7 @@ static const struct intel_device_info i865g_info = {
#define GEN3_FEATURES \
GEN(3), \
.gpu_reset_clobbers_display = true, \
- .__runtime.platform_engine_mask = BIT(RCS0), \
+ .platform_engine_mask = BIT(RCS0), \
.has_3d_pipeline = 1, \
.has_snoop = true, \
.has_coherent_ggtt = true, \
@@ -203,7 +203,7 @@ static const struct intel_device_info pnv_m_info = {
#define GEN4_FEATURES \
GEN(4), \
.gpu_reset_clobbers_display = true, \
- .__runtime.platform_engine_mask = BIT(RCS0), \
+ .platform_engine_mask = BIT(RCS0), \
.has_3d_pipeline = 1, \
.has_snoop = true, \
.has_coherent_ggtt = true, \
@@ -231,7 +231,7 @@ static const struct intel_device_info i965gm_info = {
static const struct intel_device_info g45_info = {
GEN4_FEATURES,
PLATFORM(INTEL_G45),
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0),
+ .platform_engine_mask = BIT(RCS0) | BIT(VCS0),
.gpu_reset_clobbers_display = false,
};
@@ -239,13 +239,13 @@ static const struct intel_device_info gm45_info = {
GEN4_FEATURES,
PLATFORM(INTEL_GM45),
.is_mobile = 1,
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0),
+ .platform_engine_mask = BIT(RCS0) | BIT(VCS0),
.gpu_reset_clobbers_display = false,
};
#define GEN5_FEATURES \
GEN(5), \
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0), \
+ .platform_engine_mask = BIT(RCS0) | BIT(VCS0), \
.has_3d_pipeline = 1, \
.has_snoop = true, \
.has_coherent_ggtt = true, \
@@ -271,7 +271,7 @@ static const struct intel_device_info ilk_m_info = {
#define GEN6_FEATURES \
GEN(6), \
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
+ .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
.has_3d_pipeline = 1, \
.has_coherent_ggtt = true, \
.has_llc = 1, \
@@ -319,7 +319,7 @@ static const struct intel_device_info snb_m_gt2_info = {
#define GEN7_FEATURES \
GEN(7), \
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
+ .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
.has_3d_pipeline = 1, \
.has_coherent_ggtt = true, \
.has_llc = 1, \
@@ -387,7 +387,7 @@ static const struct intel_device_info vlv_info = {
.__runtime.ppgtt_size = 31,
.has_snoop = true,
.has_coherent_ggtt = false,
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0),
+ .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0),
GEN_DEFAULT_PAGE_SIZES,
GEN_DEFAULT_REGIONS,
LEGACY_CACHELEVEL,
@@ -395,7 +395,7 @@ static const struct intel_device_info vlv_info = {
#define G75_FEATURES \
GEN7_FEATURES, \
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
+ .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
.has_rc6p = 0 /* RC6p removed-by HSW */, \
.has_runtime_pm = 1
@@ -453,7 +453,7 @@ static const struct intel_device_info bdw_rsvd_info = {
static const struct intel_device_info bdw_gt3_info = {
BDW_PLATFORM,
.gt = 3,
- .__runtime.platform_engine_mask =
+ .platform_engine_mask =
BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
};
@@ -461,7 +461,7 @@ static const struct intel_device_info chv_info = {
PLATFORM(INTEL_CHERRYVIEW),
GEN(8),
.is_lp = 1,
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0),
+ .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0),
.has_64bit_reloc = 1,
.has_runtime_pm = 1,
.has_rc6 = 1,
@@ -505,7 +505,7 @@ static const struct intel_device_info skl_gt2_info = {
#define SKL_GT3_PLUS_PLATFORM \
SKL_PLATFORM, \
- .__runtime.platform_engine_mask = \
+ .platform_engine_mask = \
BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1)
@@ -522,7 +522,7 @@ static const struct intel_device_info skl_gt4_info = {
#define GEN9_LP_FEATURES \
GEN(9), \
.is_lp = 1, \
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
+ .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
.has_3d_pipeline = 1, \
.has_64bit_reloc = 1, \
.has_runtime_pm = 1, \
@@ -568,7 +568,7 @@ static const struct intel_device_info kbl_gt2_info = {
static const struct intel_device_info kbl_gt3_info = {
KBL_PLATFORM,
.gt = 3,
- .__runtime.platform_engine_mask =
+ .platform_engine_mask =
BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
};
@@ -589,7 +589,7 @@ static const struct intel_device_info cfl_gt2_info = {
static const struct intel_device_info cfl_gt3_info = {
CFL_PLATFORM,
.gt = 3,
- .__runtime.platform_engine_mask =
+ .platform_engine_mask =
BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
};
@@ -622,21 +622,21 @@ static const struct intel_device_info cml_gt2_info = {
static const struct intel_device_info icl_info = {
GEN11_FEATURES,
PLATFORM(INTEL_ICELAKE),
- .__runtime.platform_engine_mask =
+ .platform_engine_mask =
BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
};
static const struct intel_device_info ehl_info = {
GEN11_FEATURES,
PLATFORM(INTEL_ELKHARTLAKE),
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
+ .platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
.__runtime.ppgtt_size = 36,
};
static const struct intel_device_info jsl_info = {
GEN11_FEATURES,
PLATFORM(INTEL_JASPERLAKE),
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
+ .platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
.__runtime.ppgtt_size = 36,
};
@@ -651,19 +651,19 @@ static const struct intel_device_info jsl_info = {
static const struct intel_device_info tgl_info = {
GEN12_FEATURES,
PLATFORM(INTEL_TIGERLAKE),
- .__runtime.platform_engine_mask =
+ .platform_engine_mask =
BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
};
static const struct intel_device_info rkl_info = {
GEN12_FEATURES,
PLATFORM(INTEL_ROCKETLAKE),
- .__runtime.platform_engine_mask =
+ .platform_engine_mask =
BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0),
};
#define DGFX_FEATURES \
- .__runtime.memory_regions = REGION_SMEM | REGION_LMEM | REGION_STOLEN_LMEM, \
+ .memory_regions = REGION_SMEM | REGION_LMEM | REGION_STOLEN_LMEM, \
.has_llc = 0, \
.has_pxp = 0, \
.has_snoop = 1, \
@@ -676,7 +676,7 @@ static const struct intel_device_info dg1_info = {
.__runtime.graphics.ip.rel = 10,
PLATFORM(INTEL_DG1),
.require_force_probe = 1,
- .__runtime.platform_engine_mask =
+ .platform_engine_mask =
BIT(RCS0) | BIT(BCS0) | BIT(VECS0) |
BIT(VCS0) | BIT(VCS2),
/* Wa_16011227922 */
@@ -686,7 +686,7 @@ static const struct intel_device_info dg1_info = {
static const struct intel_device_info adl_s_info = {
GEN12_FEATURES,
PLATFORM(INTEL_ALDERLAKE_S),
- .__runtime.platform_engine_mask =
+ .platform_engine_mask =
BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
.dma_mask_size = 39,
};
@@ -694,7 +694,7 @@ static const struct intel_device_info adl_s_info = {
static const struct intel_device_info adl_p_info = {
GEN12_FEATURES,
PLATFORM(INTEL_ALDERLAKE_P),
- .__runtime.platform_engine_mask =
+ .platform_engine_mask =
BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
.__runtime.ppgtt_size = 48,
.dma_mask_size = 39,
@@ -746,7 +746,7 @@ static const struct intel_device_info xehpsdv_info = {
PLATFORM(INTEL_XEHPSDV),
.has_64k_pages = 1,
.has_media_ratio_mode = 1,
- .__runtime.platform_engine_mask =
+ .platform_engine_mask =
BIT(RCS0) | BIT(BCS0) |
BIT(VECS0) | BIT(VECS1) | BIT(VECS2) | BIT(VECS3) |
BIT(VCS0) | BIT(VCS1) | BIT(VCS2) | BIT(VCS3) |
@@ -766,7 +766,7 @@ static const struct intel_device_info xehpsdv_info = {
.has_guc_deprivilege = 1, \
.has_heci_pxp = 1, \
.has_media_ratio_mode = 1, \
- .__runtime.platform_engine_mask = \
+ .platform_engine_mask = \
BIT(RCS0) | BIT(BCS0) | \
BIT(VECS0) | BIT(VECS1) | \
BIT(VCS0) | BIT(VCS2) | \
@@ -801,7 +801,7 @@ static const struct intel_device_info pvc_info = {
PLATFORM(INTEL_PONTEVECCHIO),
.has_flat_ccs = 0,
.max_pat_index = 7,
- .__runtime.platform_engine_mask =
+ .platform_engine_mask =
BIT(BCS0) |
BIT(VCS0) |
BIT(CCS0) | BIT(CCS1) | BIT(CCS2) | BIT(CCS3),
@@ -838,8 +838,8 @@ static const struct intel_device_info mtl_info = {
.has_snoop = 1,
.max_pat_index = 4,
.has_pxp = 1,
- .__runtime.memory_regions = REGION_SMEM | REGION_STOLEN_LMEM,
- .__runtime.platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(CCS0),
+ .memory_regions = REGION_SMEM | REGION_STOLEN_LMEM,
+ .platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(CCS0),
.require_force_probe = 1,
MTL_CACHELEVEL,
};
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index 9c0f02faa0d7..9e7e33fbca6e 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -126,7 +126,7 @@ void intel_device_info_print(const struct intel_device_info *info,
drm_printf(p, "base die stepping: %s\n", intel_step_name(runtime->step.basedie_step));
drm_printf(p, "gt: %d\n", info->gt);
- drm_printf(p, "memory-regions: 0x%x\n", runtime->memory_regions);
+ drm_printf(p, "memory-regions: 0x%x\n", info->memory_regions);
drm_printf(p, "page-sizes: 0x%x\n", runtime->page_sizes);
drm_printf(p, "platform: %s\n", intel_platform_name(info->platform));
drm_printf(p, "ppgtt-size: %d\n", runtime->ppgtt_size);
diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
index 069291b3bd37..81bfd64717cf 100644
--- a/drivers/gpu/drm/i915/intel_device_info.h
+++ b/drivers/gpu/drm/i915/intel_device_info.h
@@ -212,8 +212,6 @@ struct intel_runtime_info {
u16 device_id;
- intel_engine_mask_t platform_engine_mask; /* Engines supported by the HW */
-
u32 rawclk_freq;
struct intel_step_info step;
@@ -223,8 +221,6 @@ struct intel_runtime_info {
enum intel_ppgtt_type ppgtt_type;
unsigned int ppgtt_size; /* log2, e.g. 31/32/48 bits */
- u32 memory_regions; /* regions supported by the HW */
-
bool has_pooled_eu;
};
@@ -237,6 +233,9 @@ struct intel_device_info {
u8 gt; /* GT number, 0 if undefined */
+ intel_engine_mask_t platform_engine_mask; /* Engines supported by the HW */
+ u32 memory_regions; /* regions supported by the HW */
+
#define DEFINE_FLAG(name) u8 name:1
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
#undef DEFINE_FLAG
diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
index 4de6a4e8280d..12aa7fbb0748 100644
--- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
+++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
@@ -123,8 +123,8 @@ static const struct intel_device_info mock_info = {
.__runtime.page_sizes = (I915_GTT_PAGE_SIZE_4K |
I915_GTT_PAGE_SIZE_64K |
I915_GTT_PAGE_SIZE_2M),
- .__runtime.memory_regions = REGION_SMEM,
- .__runtime.platform_engine_mask = BIT(0),
+ .memory_regions = REGION_SMEM,
+ .platform_engine_mask = BIT(0),
/* simply use legacy cache level for mock device */
.max_pat_index = 3,
--
2.39.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Intel-gfx] [PATCH v2 3/6] drm/i915: separate display info printing from the rest
2023-06-27 15:13 [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups Jani Nikula
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device Jani Nikula
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 2/6] drm/i915: move platform_engine_mask and memory_regions to device info Jani Nikula
@ 2023-06-27 15:14 ` Jani Nikula
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 4/6] drm/i915: fix display info usage Jani Nikula
` (6 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2023-06-27 15:14 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula, Lucas De Marchi, Matt Roper
Add new function intel_display_device_info_print() and print the display
device info there instead of intel_device_info_print(). This also fixes
the display runtime info printing to use the actual runtime info instead
of the static defaults.
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_display_device.c | 21 +++++++++++++++++++
.../drm/i915/display/intel_display_device.h | 5 +++++
drivers/gpu/drm/i915/i915_debugfs.c | 1 +
drivers/gpu/drm/i915/i915_driver.c | 2 ++
drivers/gpu/drm/i915/i915_gpu_error.c | 6 ++++++
drivers/gpu/drm/i915/i915_gpu_error.h | 3 +++
drivers/gpu/drm/i915/intel_device_info.c | 20 ------------------
7 files changed, 38 insertions(+), 20 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
index f87470da25d0..e4afa7334c82 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.c
+++ b/drivers/gpu/drm/i915/display/intel_display_device.c
@@ -981,3 +981,24 @@ void intel_display_device_info_runtime_init(struct drm_i915_private *i915)
display_fused_off:
memset(display_runtime, 0, sizeof(*display_runtime));
}
+
+void intel_display_device_info_print(const struct intel_display_device_info *info,
+ const struct intel_display_runtime_info *runtime,
+ struct drm_printer *p)
+{
+ if (runtime->ip.rel)
+ drm_printf(p, "display version: %u.%02u\n",
+ runtime->ip.ver,
+ runtime->ip.rel);
+ else
+ drm_printf(p, "display version: %u\n",
+ runtime->ip.ver);
+
+#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->name))
+ DEV_INFO_DISPLAY_FOR_EACH_FLAG(PRINT_FLAG);
+#undef PRINT_FLAG
+
+ drm_printf(p, "has_hdcp: %s\n", str_yes_no(runtime->has_hdcp));
+ drm_printf(p, "has_dmc: %s\n", str_yes_no(runtime->has_dmc));
+ drm_printf(p, "has_dsc: %s\n", str_yes_no(runtime->has_dsc));
+}
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 5b8a46114439..3324bd453ca7 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -11,6 +11,7 @@
#include "intel_display_limits.h"
struct drm_i915_private;
+struct drm_printer;
#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
/* Keep in alphabetical order */ \
@@ -127,4 +128,8 @@ intel_display_device_probe(struct drm_i915_private *i915, bool has_gmdid,
u16 *ver, u16 *rel, u16 *step);
void intel_display_device_info_runtime_init(struct drm_i915_private *i915);
+void intel_display_device_info_print(const struct intel_display_device_info *info,
+ const struct intel_display_runtime_info *runtime,
+ struct drm_printer *p);
+
#endif
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 76ccd4e03e31..4de44cf1026d 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -67,6 +67,7 @@ static int i915_capabilities(struct seq_file *m, void *data)
seq_printf(m, "pch: %d\n", INTEL_PCH_TYPE(i915));
intel_device_info_print(INTEL_INFO(i915), RUNTIME_INFO(i915), &p);
+ intel_display_device_info_print(DISPLAY_INFO(i915), DISPLAY_RUNTIME_INFO(i915), &p);
i915_print_iommu_status(i915, &p);
intel_gt_info_print(&to_gt(i915)->info, &p);
intel_driver_caps_print(&i915->caps, &p);
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 222d0a1f3b55..294b022de22b 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -711,6 +711,8 @@ static void i915_welcome_messages(struct drm_i915_private *dev_priv)
intel_device_info_print(INTEL_INFO(dev_priv),
RUNTIME_INFO(dev_priv), &p);
+ intel_display_device_info_print(DISPLAY_INFO(dev_priv),
+ DISPLAY_RUNTIME_INFO(dev_priv), &p);
i915_print_iommu_status(dev_priv, &p);
for_each_gt(gt, dev_priv, i)
intel_gt_info_print(>->info, &p);
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
index 4749f99e6320..92ca81f9feab 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -649,6 +649,8 @@ static void err_print_capabilities(struct drm_i915_error_state_buf *m,
struct drm_printer p = i915_error_printer(m);
intel_device_info_print(&error->device_info, &error->runtime_info, &p);
+ intel_display_device_info_print(&error->display_device_info,
+ &error->display_runtime_info, &p);
intel_driver_caps_print(&error->driver_caps, &p);
}
@@ -1983,6 +1985,10 @@ static void capture_gen(struct i915_gpu_coredump *error)
memcpy(&error->runtime_info,
RUNTIME_INFO(i915),
sizeof(error->runtime_info));
+ memcpy(&error->display_device_info, DISPLAY_INFO(i915),
+ sizeof(error->display_device_info));
+ memcpy(&error->display_runtime_info, DISPLAY_RUNTIME_INFO(i915),
+ sizeof(error->display_runtime_info));
error->driver_caps = i915->caps;
}
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.h b/drivers/gpu/drm/i915/i915_gpu_error.h
index a78c061ce26f..9f5971f5e980 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.h
+++ b/drivers/gpu/drm/i915/i915_gpu_error.h
@@ -14,6 +14,7 @@
#include <drm/drm_mm.h>
+#include "display/intel_display_device.h"
#include "gt/intel_engine.h"
#include "gt/intel_gt_types.h"
#include "gt/uc/intel_uc_fw.h"
@@ -209,6 +210,8 @@ struct i915_gpu_coredump {
struct intel_device_info device_info;
struct intel_runtime_info runtime_info;
+ struct intel_display_device_info display_device_info;
+ struct intel_display_runtime_info display_runtime_info;
struct intel_driver_caps driver_caps;
struct i915_params params;
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index 9e7e33fbca6e..b93ef5fc26f1 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -93,9 +93,6 @@ void intel_device_info_print(const struct intel_device_info *info,
const struct intel_runtime_info *runtime,
struct drm_printer *p)
{
- const struct intel_display_runtime_info *display_runtime =
- &info->display->__runtime_defaults;
-
if (runtime->graphics.ip.rel)
drm_printf(p, "graphics version: %u.%02u\n",
runtime->graphics.ip.ver,
@@ -112,14 +109,6 @@ void intel_device_info_print(const struct intel_device_info *info,
drm_printf(p, "media version: %u\n",
runtime->media.ip.ver);
- if (display_runtime->ip.rel)
- drm_printf(p, "display version: %u.%02u\n",
- display_runtime->ip.ver,
- display_runtime->ip.rel);
- else
- drm_printf(p, "display version: %u\n",
- display_runtime->ip.ver);
-
drm_printf(p, "graphics stepping: %s\n", intel_step_name(runtime->step.graphics_step));
drm_printf(p, "media stepping: %s\n", intel_step_name(runtime->step.media_step));
drm_printf(p, "display stepping: %s\n", intel_step_name(runtime->step.display_step));
@@ -138,15 +127,6 @@ void intel_device_info_print(const struct intel_device_info *info,
#undef PRINT_FLAG
drm_printf(p, "has_pooled_eu: %s\n", str_yes_no(runtime->has_pooled_eu));
-
-#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->display->name))
- DEV_INFO_DISPLAY_FOR_EACH_FLAG(PRINT_FLAG);
-#undef PRINT_FLAG
-
- drm_printf(p, "has_hdcp: %s\n", str_yes_no(display_runtime->has_hdcp));
- drm_printf(p, "has_dmc: %s\n", str_yes_no(display_runtime->has_dmc));
- drm_printf(p, "has_dsc: %s\n", str_yes_no(display_runtime->has_dsc));
-
drm_printf(p, "rawclk rate: %u kHz\n", runtime->rawclk_freq);
}
--
2.39.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Intel-gfx] [PATCH v2 4/6] drm/i915: fix display info usage
2023-06-27 15:13 [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups Jani Nikula
` (2 preceding siblings ...)
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 3/6] drm/i915: separate display info printing from the rest Jani Nikula
@ 2023-06-27 15:14 ` Jani Nikula
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 5/6] drm/i915: move display device and runtime info to struct intel_display Jani Nikula
` (5 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2023-06-27 15:14 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula, Lucas De Marchi, Matt Roper
Prefer DISPLAY_INFO() over INTEL_INFO()->display.
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index 53ca0e4e2357..49ac8473b988 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -113,7 +113,7 @@ enum i9xx_plane_id {
#define for_each_dbuf_slice(__dev_priv, __slice) \
for ((__slice) = DBUF_S1; (__slice) < I915_MAX_DBUF_SLICES; (__slice)++) \
- for_each_if(INTEL_INFO(__dev_priv)->display->dbuf.slice_mask & BIT(__slice))
+ for_each_if(DISPLAY_INFO(__dev_priv)->dbuf.slice_mask & BIT(__slice))
#define for_each_dbuf_slice_in_mask(__dev_priv, __slice, __mask) \
for_each_dbuf_slice((__dev_priv), (__slice)) \
--
2.39.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Intel-gfx] [PATCH v2 5/6] drm/i915: move display device and runtime info to struct intel_display
2023-06-27 15:13 [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups Jani Nikula
` (3 preceding siblings ...)
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 4/6] drm/i915: fix display info usage Jani Nikula
@ 2023-06-27 15:14 ` Jani Nikula
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 6/6] drm/i915: make device info a const pointer to rodata Jani Nikula
` (4 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2023-06-27 15:14 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula, Lucas De Marchi, Matt Roper
Continue moving all things display further into display files and
structures.
v2: Sort includes (Matt)
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_core.h | 9 +++++++++
drivers/gpu/drm/i915/i915_drv.h | 5 ++---
drivers/gpu/drm/i915/intel_device_info.c | 7 +++----
drivers/gpu/drm/i915/intel_device_info.h | 4 ----
4 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index 8d2243c71dd8..c37d2c4bbf76 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -17,6 +17,7 @@
#include <drm/drm_modeset_lock.h>
#include "intel_cdclk.h"
+#include "intel_display_device.h"
#include "intel_display_limits.h"
#include "intel_display_power.h"
#include "intel_dpll_mgr.h"
@@ -429,6 +430,14 @@ struct intel_display {
u32 state;
} hti;
+ struct {
+ /* Access with DISPLAY_INFO() */
+ const struct intel_display_device_info *__device_info;
+
+ /* Access with DISPLAY_RUNTIME_INFO() */
+ struct intel_display_runtime_info __runtime_info;
+ } info;
+
struct {
bool false_color;
} ips;
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 078720a52322..8947d1201298 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -205,7 +205,6 @@ struct drm_i915_private {
const struct intel_device_info __info; /* Use INTEL_INFO() to access. */
struct intel_runtime_info __runtime; /* Use RUNTIME_INFO() to access. */
- struct intel_display_runtime_info __display_runtime; /* Access with DISPLAY_RUNTIME_INFO() */
struct intel_driver_caps caps;
struct i915_dsm dsm;
@@ -417,9 +416,9 @@ static inline struct intel_gt *to_gt(struct drm_i915_private *i915)
(engine__) = rb_to_uabi_engine(rb_next(&(engine__)->uabi_node)))
#define INTEL_INFO(i915) (&(i915)->__info)
-#define DISPLAY_INFO(i915) (INTEL_INFO(i915)->display)
#define RUNTIME_INFO(i915) (&(i915)->__runtime)
-#define DISPLAY_RUNTIME_INFO(i915) (&(i915)->__display_runtime)
+#define DISPLAY_INFO(i915) ((i915)->display.info.__device_info)
+#define DISPLAY_RUNTIME_INFO(i915) (&(i915)->display.info.__runtime_info)
#define DRIVER_CAPS(i915) (&(i915)->caps)
#define INTEL_DEVID(i915) (RUNTIME_INFO(i915)->device_id)
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index b93ef5fc26f1..0740922cd71f 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -391,7 +391,6 @@ static const struct intel_display_device_info no_display = {};
*/
void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
{
- struct intel_device_info *info = mkwrite_device_info(dev_priv);
struct intel_runtime_info *runtime = RUNTIME_INFO(dev_priv);
if (HAS_DISPLAY(dev_priv))
@@ -401,7 +400,7 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
if (!HAS_DISPLAY(dev_priv)) {
dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
DRIVER_ATOMIC);
- info->display = &no_display;
+ dev_priv->display.info.__device_info = &no_display;
}
/* Disable nuclear pageflip by default on pre-g4x */
@@ -444,8 +443,8 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
memcpy(runtime, &INTEL_INFO(i915)->__runtime, sizeof(*runtime));
/* Probe display support */
- info->display = intel_display_device_probe(i915, info->has_gmd_id,
- &ver, &rel, &step);
+ i915->display.info.__device_info = intel_display_device_probe(i915, info->has_gmd_id,
+ &ver, &rel, &step);
memcpy(DISPLAY_RUNTIME_INFO(i915),
&DISPLAY_INFO(i915)->__runtime_defaults,
sizeof(*DISPLAY_RUNTIME_INFO(i915)));
diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
index 81bfd64717cf..dbfe6443457b 100644
--- a/drivers/gpu/drm/i915/intel_device_info.h
+++ b/drivers/gpu/drm/i915/intel_device_info.h
@@ -29,8 +29,6 @@
#include "intel_step.h"
-#include "display/intel_display_device.h"
-
#include "gt/intel_engine_types.h"
#include "gt/intel_context_types.h"
#include "gt/intel_sseu.h"
@@ -240,8 +238,6 @@ struct intel_device_info {
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
#undef DEFINE_FLAG
- const struct intel_display_device_info *display;
-
/*
* Initial runtime info. Do not access outside of i915_driver_create().
*/
--
2.39.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Intel-gfx] [PATCH v2 6/6] drm/i915: make device info a const pointer to rodata
2023-06-27 15:13 [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups Jani Nikula
` (4 preceding siblings ...)
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 5/6] drm/i915: move display device and runtime info to struct intel_display Jani Nikula
@ 2023-06-27 15:14 ` Jani Nikula
2023-06-29 11:10 ` Tvrtko Ursulin
2023-06-27 20:28 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: further device info fixes and cleanups Patchwork
` (3 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Jani Nikula @ 2023-06-27 15:14 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula, Lucas De Marchi, Matt Roper
Finally we can get rid of the pseudo-const write-once device info, and
convert it into a const pointer to device info in rodata.
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 4 ++--
drivers/gpu/drm/i915/intel_device_info.c | 17 ++++-------------
2 files changed, 6 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 8947d1201298..682ef2b5c7d5 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -203,7 +203,7 @@ struct drm_i915_private {
/* i915 device parameters */
struct i915_params params;
- const struct intel_device_info __info; /* Use INTEL_INFO() to access. */
+ const struct intel_device_info *__info; /* Use INTEL_INFO() to access. */
struct intel_runtime_info __runtime; /* Use RUNTIME_INFO() to access. */
struct intel_driver_caps caps;
@@ -415,7 +415,7 @@ static inline struct intel_gt *to_gt(struct drm_i915_private *i915)
(engine__) && (engine__)->uabi_class == (class__); \
(engine__) = rb_to_uabi_engine(rb_next(&(engine__)->uabi_node)))
-#define INTEL_INFO(i915) (&(i915)->__info)
+#define INTEL_INFO(i915) ((i915)->__info)
#define RUNTIME_INFO(i915) (&(i915)->__runtime)
#define DISPLAY_INFO(i915) ((i915)->display.info.__device_info)
#define DISPLAY_RUNTIME_INFO(i915) (&(i915)->display.info.__runtime_info)
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index 0740922cd71f..ea0ec6174ce5 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -364,13 +364,6 @@ void intel_device_info_runtime_init_early(struct drm_i915_private *i915)
intel_device_info_subplatform_init(i915);
}
-/* FIXME: Remove this, and make device info a const pointer to rodata. */
-static struct intel_device_info *
-mkwrite_device_info(struct drm_i915_private *i915)
-{
- return (struct intel_device_info *)INTEL_INFO(i915);
-}
-
static const struct intel_display_device_info no_display = {};
/**
@@ -430,26 +423,24 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
u16 device_id,
const struct intel_device_info *match_info)
{
- struct intel_device_info *info;
struct intel_runtime_info *runtime;
u16 ver, rel, step;
- /* Setup the write-once "constant" device info */
- info = mkwrite_device_info(i915);
- memcpy(info, match_info, sizeof(*info));
+ /* Setup INTEL_INFO() */
+ i915->__info = match_info;
/* Initialize initial runtime info from static const data and pdev. */
runtime = RUNTIME_INFO(i915);
memcpy(runtime, &INTEL_INFO(i915)->__runtime, sizeof(*runtime));
/* Probe display support */
- i915->display.info.__device_info = intel_display_device_probe(i915, info->has_gmd_id,
+ i915->display.info.__device_info = intel_display_device_probe(i915, HAS_GMD_ID(i915),
&ver, &rel, &step);
memcpy(DISPLAY_RUNTIME_INFO(i915),
&DISPLAY_INFO(i915)->__runtime_defaults,
sizeof(*DISPLAY_RUNTIME_INFO(i915)));
- if (info->has_gmd_id) {
+ if (HAS_GMD_ID(i915)) {
DISPLAY_RUNTIME_INFO(i915)->ip.ver = ver;
DISPLAY_RUNTIME_INFO(i915)->ip.rel = rel;
DISPLAY_RUNTIME_INFO(i915)->ip.step = step;
--
2.39.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: further device info fixes and cleanups
2023-06-27 15:13 [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups Jani Nikula
` (5 preceding siblings ...)
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 6/6] drm/i915: make device info a const pointer to rodata Jani Nikula
@ 2023-06-27 20:28 ` Patchwork
2023-06-27 20:28 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
` (2 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2023-06-27 20:28 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: further device info fixes and cleanups
URL : https://patchwork.freedesktop.org/series/119933/
State : warning
== Summary ==
Error: dim checkpatch failed
b9423c209dc0 drm/i915: use mock device info for creating mock device
93df845dfc05 drm/i915: move platform_engine_mask and memory_regions to device info
74e0bd21bc35 drm/i915: separate display info printing from the rest
-:37: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'name' may be better as '(name)' to avoid precedence issues
#37: FILE: drivers/gpu/drm/i915/display/intel_display_device.c:997:
+#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->name))
total: 0 errors, 0 warnings, 1 checks, 125 lines checked
baa649ba6f62 drm/i915: fix display info usage
9dc8f7006e55 drm/i915: move display device and runtime info to struct intel_display
6543bcf56ae9 drm/i915: make device info a const pointer to rodata
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: further device info fixes and cleanups
2023-06-27 15:13 [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups Jani Nikula
` (6 preceding siblings ...)
2023-06-27 20:28 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: further device info fixes and cleanups Patchwork
@ 2023-06-27 20:28 ` Patchwork
2023-06-27 20:43 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-06-28 14:05 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
9 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2023-06-27 20:28 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: further device info fixes and cleanups
URL : https://patchwork.freedesktop.org/series/119933/
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] 19+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: further device info fixes and cleanups
2023-06-27 15:13 [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups Jani Nikula
` (7 preceding siblings ...)
2023-06-27 20:28 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2023-06-27 20:43 ` Patchwork
2023-06-28 14:05 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
9 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2023-06-27 20:43 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 8716 bytes --]
== Series Details ==
Series: drm/i915: further device info fixes and cleanups
URL : https://patchwork.freedesktop.org/series/119933/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13328 -> Patchwork_119933v1
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/index.html
Participating hosts (40 -> 40)
------------------------------
Additional (2): fi-apl-guc fi-pnv-d510
Missing (2): fi-kbl-soraka fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_119933v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@core_auth@basic-auth:
- bat-adlp-11: [PASS][1] -> [ABORT][2] ([i915#8011])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/bat-adlp-11/igt@core_auth@basic-auth.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-adlp-11/igt@core_auth@basic-auth.html
* igt@gem_lmem_swapping@basic:
- fi-apl-guc: NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#4613]) +3 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/fi-apl-guc/igt@gem_lmem_swapping@basic.html
* igt@i915_module_load@load:
- bat-adlp-11: [PASS][4] -> [DMESG-WARN][5] ([i915#4423])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/bat-adlp-11/igt@i915_module_load@load.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-adlp-11/igt@i915_module_load@load.html
* igt@i915_pm_rpm@basic-pci-d3-state:
- bat-mtlp-8: [PASS][6] -> [ABORT][7] ([i915#7077] / [i915#7977])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/bat-mtlp-8/igt@i915_pm_rpm@basic-pci-d3-state.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-mtlp-8/igt@i915_pm_rpm@basic-pci-d3-state.html
* igt@i915_selftest@live@gt_lrc:
- bat-dg2-11: [PASS][8] -> [INCOMPLETE][9] ([i915#7609] / [i915#7913])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/bat-dg2-11/igt@i915_selftest@live@gt_lrc.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-dg2-11/igt@i915_selftest@live@gt_lrc.html
* igt@i915_selftest@live@requests:
- bat-adlp-9: [PASS][10] -> [ABORT][11] ([i915#7913] / [i915#7982])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/bat-adlp-9/igt@i915_selftest@live@requests.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-adlp-9/igt@i915_selftest@live@requests.html
- bat-rpls-2: [PASS][12] -> [ABORT][13] ([i915#7913] / [i915#7982])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/bat-rpls-2/igt@i915_selftest@live@requests.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-rpls-2/igt@i915_selftest@live@requests.html
* igt@kms_chamelium_hpd@vga-hpd-fast:
- fi-apl-guc: NOTRUN -> [SKIP][14] ([fdo#109271]) +21 similar issues
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/fi-apl-guc/igt@kms_chamelium_hpd@vga-hpd-fast.html
* igt@kms_pipe_crc_basic@nonblocking-crc:
- bat-adlp-9: NOTRUN -> [SKIP][15] ([i915#3546]) +3 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-adlp-9/igt@kms_pipe_crc_basic@nonblocking-crc.html
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-dg2-11: NOTRUN -> [SKIP][16] ([i915#1845] / [i915#5354]) +3 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
* igt@kms_psr@primary_mmap_gtt:
- bat-rplp-1: NOTRUN -> [ABORT][17] ([i915#8442])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-rplp-1/igt@kms_psr@primary_mmap_gtt.html
* igt@kms_psr@primary_page_flip:
- fi-pnv-d510: NOTRUN -> [SKIP][18] ([fdo#109271]) +37 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/fi-pnv-d510/igt@kms_psr@primary_page_flip.html
* igt@kms_setmode@basic-clone-single-crtc:
- fi-apl-guc: NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#4579])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/fi-apl-guc/igt@kms_setmode@basic-clone-single-crtc.html
- fi-pnv-d510: NOTRUN -> [SKIP][20] ([fdo#109271] / [i915#4579])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/fi-pnv-d510/igt@kms_setmode@basic-clone-single-crtc.html
#### Possible fixes ####
* igt@i915_selftest@live@gt_mocs:
- bat-mtlp-6: [DMESG-FAIL][21] ([i915#7059]) -> [PASS][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html
* igt@i915_selftest@live@slpc:
- bat-mtlp-6: [DMESG-WARN][23] ([i915#6367]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/bat-mtlp-6/igt@i915_selftest@live@slpc.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-mtlp-6/igt@i915_selftest@live@slpc.html
- bat-rpls-1: [DMESG-WARN][25] ([i915#6367]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/bat-rpls-1/igt@i915_selftest@live@slpc.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-rpls-1/igt@i915_selftest@live@slpc.html
* igt@i915_selftest@live@workarounds:
- bat-mtlp-6: [DMESG-FAIL][27] ([i915#6763]) -> [PASS][28]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
#### Warnings ####
* igt@kms_psr@sprite_plane_onoff:
- bat-rplp-1: [ABORT][29] ([i915#8712]) -> [SKIP][30] ([i915#1072])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/bat-rplp-1/igt@kms_psr@sprite_plane_onoff.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/bat-rplp-1/igt@kms_psr@sprite_plane_onoff.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
[i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
[i915#6763]: https://gitlab.freedesktop.org/drm/intel/issues/6763
[i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059
[i915#7077]: https://gitlab.freedesktop.org/drm/intel/issues/7077
[i915#7609]: https://gitlab.freedesktop.org/drm/intel/issues/7609
[i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
[i915#7977]: https://gitlab.freedesktop.org/drm/intel/issues/7977
[i915#7982]: https://gitlab.freedesktop.org/drm/intel/issues/7982
[i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
[i915#8442]: https://gitlab.freedesktop.org/drm/intel/issues/8442
[i915#8712]: https://gitlab.freedesktop.org/drm/intel/issues/8712
Build changes
-------------
* Linux: CI_DRM_13328 -> Patchwork_119933v1
CI-20190529: 20190529
CI_DRM_13328: 12cd6b2d321d9c034f3d4ba14788d68cb8da4eac @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7351: d8dc96b95c60e4737fdfa1664ce9b1dcebfdef60 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_119933v1: 12cd6b2d321d9c034f3d4ba14788d68cb8da4eac @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
138c8f42bc57 drm/i915: make device info a const pointer to rodata
d3fce33fad86 drm/i915: move display device and runtime info to struct intel_display
f56656e9b84f drm/i915: fix display info usage
5611e33988e2 drm/i915: separate display info printing from the rest
ca8bdc91f235 drm/i915: move platform_engine_mask and memory_regions to device info
c8ceec722efc drm/i915: use mock device info for creating mock device
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/index.html
[-- Attachment #2: Type: text/html, Size: 10403 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: further device info fixes and cleanups
2023-06-27 15:13 [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups Jani Nikula
` (8 preceding siblings ...)
2023-06-27 20:43 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2023-06-28 14:05 ` Patchwork
9 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2023-06-28 14:05 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 47601 bytes --]
== Series Details ==
Series: drm/i915: further device info fixes and cleanups
URL : https://patchwork.freedesktop.org/series/119933/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13328_full -> Patchwork_119933v1_full
====================================================
Summary
-------
**WARNING**
Minor unknown changes coming with Patchwork_119933v1_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_119933v1_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (9 -> 9)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_119933v1_full:
### IGT changes ###
#### Warnings ####
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt:
- shard-tglu: [SKIP][1] ([fdo#109280]) -> [ABORT][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-tglu-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt.html
New tests
---------
New tests have been introduced between CI_DRM_13328_full and Patchwork_119933v1_full:
### New IGT tests (1) ###
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in Patchwork_119933v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
- shard-rkl: [PASS][3] -> [FAIL][4] ([i915#7742])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-rkl-2/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-1/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
* igt@gem_create@create-ext-set-pat:
- shard-glk: NOTRUN -> [FAIL][5] ([i915#8621])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-glk4/igt@gem_create@create-ext-set-pat.html
* igt@gem_eio@in-flight-contexts-1us:
- shard-mtlp: [PASS][6] -> [ABORT][7] ([i915#8503])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-7/igt@gem_eio@in-flight-contexts-1us.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-2/igt@gem_eio@in-flight-contexts-1us.html
* igt@gem_exec_balancer@bonded-pair:
- shard-mtlp: NOTRUN -> [SKIP][8] ([i915#4771])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-3/igt@gem_exec_balancer@bonded-pair.html
* igt@gem_exec_balancer@invalid-bonds:
- shard-mtlp: NOTRUN -> [SKIP][9] ([i915#4036])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@gem_exec_balancer@invalid-bonds.html
* igt@gem_exec_fair@basic-none@vecs0:
- shard-rkl: [PASS][10] -> [FAIL][11] ([i915#2842])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-rkl-2/igt@gem_exec_fair@basic-none@vecs0.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-7/igt@gem_exec_fair@basic-none@vecs0.html
* igt@gem_exec_reloc@basic-gtt-wc-active:
- shard-dg2: NOTRUN -> [SKIP][12] ([i915#3281])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@gem_exec_reloc@basic-gtt-wc-active.html
* igt@gem_exec_reloc@basic-wc-cpu-active:
- shard-mtlp: NOTRUN -> [SKIP][13] ([i915#3281])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-1/igt@gem_exec_reloc@basic-wc-cpu-active.html
* igt@gem_exec_schedule@deep@vcs1:
- shard-mtlp: [PASS][14] -> [FAIL][15] ([i915#8545])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-6/igt@gem_exec_schedule@deep@vcs1.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@gem_exec_schedule@deep@vcs1.html
* igt@gem_exec_schedule@semaphore-power:
- shard-mtlp: NOTRUN -> [SKIP][16] ([i915#4812])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@gem_exec_schedule@semaphore-power.html
* igt@gem_exec_suspend@basic-s3@lmem0:
- shard-dg2: [PASS][17] -> [FAIL][18] ([fdo#103375]) +2 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-8/igt@gem_exec_suspend@basic-s3@lmem0.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-5/igt@gem_exec_suspend@basic-s3@lmem0.html
* igt@gem_exec_whisper@basic-contexts-forked-all:
- shard-mtlp: [PASS][19] -> [TIMEOUT][20] ([i915#8628])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-2/igt@gem_exec_whisper@basic-contexts-forked-all.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-4/igt@gem_exec_whisper@basic-contexts-forked-all.html
* igt@gem_exec_whisper@basic-fds-all:
- shard-mtlp: [PASS][21] -> [FAIL][22] ([i915#6363]) +1 similar issue
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-4/igt@gem_exec_whisper@basic-fds-all.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-5/igt@gem_exec_whisper@basic-fds-all.html
* igt@gem_fenced_exec_thrash@no-spare-fences-busy-interruptible:
- shard-dg2: NOTRUN -> [SKIP][23] ([i915#4860])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@gem_fenced_exec_thrash@no-spare-fences-busy-interruptible.html
* igt@gem_lmem_swapping@heavy-verify-multi:
- shard-glk: NOTRUN -> [SKIP][24] ([fdo#109271] / [i915#4613])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-glk4/igt@gem_lmem_swapping@heavy-verify-multi.html
* igt@gem_lmem_swapping@smem-oom@lmem0:
- shard-dg2: [PASS][25] -> [DMESG-WARN][26] ([i915#4936] / [i915#5493])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-1/igt@gem_lmem_swapping@smem-oom@lmem0.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-8/igt@gem_lmem_swapping@smem-oom@lmem0.html
* igt@gem_mmap_wc@bad-offset:
- shard-mtlp: NOTRUN -> [SKIP][27] ([i915#4083])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-1/igt@gem_mmap_wc@bad-offset.html
* igt@gem_render_copy@yf-tiled-to-vebox-linear:
- shard-mtlp: NOTRUN -> [SKIP][28] ([i915#8428])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@gem_render_copy@yf-tiled-to-vebox-linear.html
* igt@gem_userptr_blits@coherency-sync:
- shard-mtlp: NOTRUN -> [SKIP][29] ([i915#3297]) +1 similar issue
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@gem_userptr_blits@coherency-sync.html
* igt@gem_userptr_blits@vma-merge:
- shard-glk: NOTRUN -> [FAIL][30] ([i915#3318])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-glk4/igt@gem_userptr_blits@vma-merge.html
* igt@gen9_exec_parse@allowed-single:
- shard-apl: [PASS][31] -> [ABORT][32] ([i915#5566])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-apl3/igt@gen9_exec_parse@allowed-single.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-apl1/igt@gen9_exec_parse@allowed-single.html
* igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-mtlp: NOTRUN -> [SKIP][33] ([fdo#109289] / [i915#8403])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-5/igt@i915_pm_rc6_residency@rc6-accuracy.html
* igt@i915_pm_rpm@gem-evict-pwrite:
- shard-dg2: NOTRUN -> [SKIP][34] ([i915#4077]) +1 similar issue
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@i915_pm_rpm@gem-evict-pwrite.html
* igt@i915_pm_rpm@modeset-lpsp:
- shard-dg2: [PASS][35] -> [SKIP][36] ([i915#1397]) +1 similar issue
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-12/igt@i915_pm_rpm@modeset-lpsp.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-7/igt@i915_pm_rpm@modeset-lpsp.html
* igt@i915_pm_rpm@modeset-non-lpsp-stress:
- shard-rkl: [PASS][37] -> [SKIP][38] ([i915#1397]) +1 similar issue
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-rkl-6/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-7/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
* igt@i915_pm_rps@min-max-config-idle:
- shard-dg2: NOTRUN -> [SKIP][39] ([i915#6621])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@i915_pm_rps@min-max-config-idle.html
* igt@i915_selftest@live@gt_pm:
- shard-rkl: [PASS][40] -> [DMESG-FAIL][41] ([i915#4258])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-rkl-4/igt@i915_selftest@live@gt_pm.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-4/igt@i915_selftest@live@gt_pm.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-rkl: [PASS][42] -> [FAIL][43] ([fdo#103375])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-rkl-2/igt@i915_suspend@basic-s3-without-i915.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-7/igt@i915_suspend@basic-s3-without-i915.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-mtlp: NOTRUN -> [SKIP][44] ([i915#4077])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@kms_addfb_basic@addfb25-x-tiled-legacy:
- shard-dg2: NOTRUN -> [SKIP][45] ([i915#4212])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
* igt@kms_big_fb@4-tiled-16bpp-rotate-270:
- shard-mtlp: NOTRUN -> [SKIP][46] ([fdo#111614]) +1 similar issue
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-1/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-tglu: NOTRUN -> [SKIP][47] ([fdo#111615] / [i915#5286])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-9/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-mtlp: NOTRUN -> [SKIP][48] ([fdo#111615]) +1 similar issue
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_ccs:
- shard-dg2: NOTRUN -> [SKIP][49] ([i915#3689] / [i915#5354]) +1 similar issue
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_ccs.html
- shard-tglu: NOTRUN -> [SKIP][50] ([i915#3689] / [i915#5354] / [i915#6095])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-9/igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_ccs.html
* igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_rc_ccs:
- shard-mtlp: NOTRUN -> [SKIP][51] ([i915#6095]) +5 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-1/igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_rc_ccs.html
* igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_mc_ccs:
- shard-mtlp: NOTRUN -> [SKIP][52] ([i915#3886] / [i915#6095])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs_cc:
- shard-glk: NOTRUN -> [SKIP][53] ([fdo#109271] / [i915#3886]) +1 similar issue
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-glk4/igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-b-crc-primary-rotation-180-yf_tiled_ccs:
- shard-tglu: NOTRUN -> [SKIP][54] ([fdo#111615] / [i915#3689] / [i915#5354] / [i915#6095])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-9/igt@kms_ccs@pipe-b-crc-primary-rotation-180-yf_tiled_ccs.html
* igt@kms_ccs@pipe-c-random-ccs-data-4_tiled_mtl_rc_ccs_cc:
- shard-tglu: NOTRUN -> [SKIP][55] ([i915#5354] / [i915#6095])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-9/igt@kms_ccs@pipe-c-random-ccs-data-4_tiled_mtl_rc_ccs_cc.html
* igt@kms_cdclk@mode-transition:
- shard-glk: NOTRUN -> [SKIP][56] ([fdo#109271]) +48 similar issues
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-glk4/igt@kms_cdclk@mode-transition.html
* igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][57] ([i915#4087]) +2 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-3/igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3.html
* igt@kms_cdclk@plane-scaling@pipe-d-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][58] ([i915#4087] / [i915#4579])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-3/igt@kms_cdclk@plane-scaling@pipe-d-hdmi-a-3.html
* igt@kms_chamelium_color@ctm-0-75:
- shard-tglu: NOTRUN -> [SKIP][59] ([fdo#111827])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-9/igt@kms_chamelium_color@ctm-0-75.html
- shard-dg2: NOTRUN -> [SKIP][60] ([fdo#111827])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@kms_chamelium_color@ctm-0-75.html
* igt@kms_content_protection@srm:
- shard-dg2: NOTRUN -> [SKIP][61] ([i915#4579] / [i915#7118]) +2 similar issues
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-1/igt@kms_content_protection@srm.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-mtlp: NOTRUN -> [SKIP][62] ([i915#3359])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-5/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_legacy@cursor-vs-flip-toggle:
- shard-mtlp: [PASS][63] -> [FAIL][64] ([i915#8248])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-6/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-3/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
* igt@kms_cursor_legacy@cursora-vs-flipb-varying-size:
- shard-mtlp: NOTRUN -> [SKIP][65] ([i915#3546])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-1/igt@kms_cursor_legacy@cursora-vs-flipb-varying-size.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: NOTRUN -> [FAIL][66] ([i915#2346])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_cursor_legacy@single-move@all-pipes:
- shard-mtlp: [PASS][67] -> [DMESG-WARN][68] ([i915#2017])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-2/igt@kms_cursor_legacy@single-move@all-pipes.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-4/igt@kms_cursor_legacy@single-move@all-pipes.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][69] ([i915#3804] / [i915#4579])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-7/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
* igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
- shard-dg2: NOTRUN -> [SKIP][70] ([fdo#109274])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
- shard-tglu: NOTRUN -> [SKIP][71] ([fdo#109274] / [i915#3637])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-9/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][72] ([i915#4579]) +4 similar issues
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode:
- shard-glk: NOTRUN -> [SKIP][73] ([fdo#109271] / [i915#4579]) +3 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-glk4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-dg2: NOTRUN -> [SKIP][74] ([i915#2672] / [i915#4579])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_force_connector_basic@prune-stale-modes:
- shard-mtlp: NOTRUN -> [SKIP][75] ([i915#5274])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@kms_force_connector_basic@prune-stale-modes.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][76] ([i915#8708]) +1 similar issue
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
- shard-dg2: [PASS][77] -> [FAIL][78] ([i915#6880]) +1 similar issue
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
- shard-tglu: NOTRUN -> [SKIP][79] ([fdo#110189])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-9/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-pgflip-blt:
- shard-dg2: NOTRUN -> [SKIP][80] ([i915#5354]) +4 similar issues
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-mtlp: NOTRUN -> [SKIP][81] ([i915#1825]) +1 similar issue
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-plflip-blt:
- shard-dg2: NOTRUN -> [SKIP][82] ([i915#3458]) +1 similar issue
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-pwrite:
- shard-tglu: NOTRUN -> [SKIP][83] ([fdo#109280]) +3 similar issues
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-9/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-pwrite.html
* igt@kms_hdr@static-toggle-suspend:
- shard-dg2: NOTRUN -> [SKIP][84] ([i915#3555] / [i915#4579]) +2 similar issues
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-7/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [FAIL][85] ([i915#4573]) +1 similar issue
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-glk4/igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@invalid-num-scalers@pipe-a-hdmi-a-1-invalid-num-scalers:
- shard-snb: NOTRUN -> [SKIP][86] ([fdo#109271]) +7 similar issues
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-snb1/igt@kms_plane_scaling@invalid-num-scalers@pipe-a-hdmi-a-1-invalid-num-scalers.html
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][87] ([i915#5176]) +1 similar issue
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-1/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-a-hdmi-a-2.html
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][88] ([i915#4579] / [i915#5176]) +1 similar issue
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-1/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-2.html
* igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-d-dp-2:
- shard-dg2: NOTRUN -> [SKIP][89] ([i915#4579] / [i915#5176]) +1 similar issue
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-12/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-d-dp-2.html
* igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-25@pipe-b-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][90] ([i915#5176]) +5 similar issues
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-7/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-25@pipe-b-hdmi-a-3.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][91] ([i915#5235]) +1 similar issue
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-7/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-c-dp-4:
- shard-dg2: NOTRUN -> [SKIP][92] ([i915#5235]) +8 similar issues
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-c-dp-4.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1:
- shard-snb: NOTRUN -> [SKIP][93] ([fdo#109271] / [i915#4579]) +5 similar issues
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-snb4/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][94] ([i915#5235]) +2 similar issues
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-edp-1.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-dp-2:
- shard-dg2: NOTRUN -> [SKIP][95] ([i915#4579] / [i915#5235]) +2 similar issues
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-12/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-dp-2.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][96] ([i915#4579] / [i915#5235])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-edp-1.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][97] ([i915#4579] / [i915#5235]) +1 similar issue
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-4/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b-hdmi-a-2.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-0:
- shard-dg2: NOTRUN -> [SKIP][98] ([i915#5190])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html
* igt@perf_pmu@busy-double-start@ccs0:
- shard-dg2: [PASS][99] -> [FAIL][100] ([i915#4349])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-10/igt@perf_pmu@busy-double-start@ccs0.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-3/igt@perf_pmu@busy-double-start@ccs0.html
* igt@sysfs_heartbeat_interval@nopreempt@rcs0:
- shard-mtlp: [PASS][101] -> [FAIL][102] ([i915#6015])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-2/igt@sysfs_heartbeat_interval@nopreempt@rcs0.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-4/igt@sysfs_heartbeat_interval@nopreempt@rcs0.html
* igt@v3d/v3d_job_submission@array-job-submission:
- shard-dg2: NOTRUN -> [SKIP][103] ([i915#2575])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@v3d/v3d_job_submission@array-job-submission.html
- shard-tglu: NOTRUN -> [SKIP][104] ([fdo#109315] / [i915#2575])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-9/igt@v3d/v3d_job_submission@array-job-submission.html
* igt@v3d/v3d_perfmon@create-single-perfmon:
- shard-mtlp: NOTRUN -> [SKIP][105] ([i915#2575]) +1 similar issue
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-5/igt@v3d/v3d_perfmon@create-single-perfmon.html
* igt@vc4/vc4_tiling@get-after-free:
- shard-mtlp: NOTRUN -> [SKIP][106] ([i915#7711])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@vc4/vc4_tiling@get-after-free.html
#### Possible fixes ####
* igt@drm_fdinfo@most-busy-check-all@rcs0:
- shard-rkl: [FAIL][107] ([i915#7742]) -> [PASS][108]
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-rkl-2/igt@drm_fdinfo@most-busy-check-all@rcs0.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-7/igt@drm_fdinfo@most-busy-check-all@rcs0.html
* igt@gem_ctx_exec@basic-nohangcheck:
- shard-tglu: [FAIL][109] ([i915#6268]) -> [PASS][110]
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-tglu-2/igt@gem_ctx_exec@basic-nohangcheck.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-9/igt@gem_ctx_exec@basic-nohangcheck.html
* igt@gem_ctx_persistence@smoketest:
- shard-mtlp: [FAIL][111] ([i915#8663]) -> [PASS][112]
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-6/igt@gem_ctx_persistence@smoketest.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@gem_ctx_persistence@smoketest.html
* igt@gem_eio@in-flight-10ms:
- shard-mtlp: [ABORT][113] ([i915#8503]) -> [PASS][114]
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-6/igt@gem_eio@in-flight-10ms.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-7/igt@gem_eio@in-flight-10ms.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-rkl: [FAIL][115] ([i915#2842]) -> [PASS][116] +1 similar issue
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-rkl-4/igt@gem_exec_fair@basic-pace-share@rcs0.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-6/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_suspend@basic-s4-devices@lmem0:
- shard-dg2: [ABORT][117] ([i915#7975] / [i915#8213] / [i915#8682]) -> [PASS][118]
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-6/igt@gem_exec_suspend@basic-s4-devices@lmem0.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@gem_exec_suspend@basic-s4-devices@lmem0.html
* igt@gem_exec_suspend@basic-s4-devices@smem:
- shard-tglu: [ABORT][119] ([i915#7975] / [i915#8213]) -> [PASS][120]
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-tglu-10/igt@gem_exec_suspend@basic-s4-devices@smem.html
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-9/igt@gem_exec_suspend@basic-s4-devices@smem.html
* igt@gem_exec_whisper@basic-contexts-all:
- shard-mtlp: [FAIL][121] ([i915#6363]) -> [PASS][122]
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-1/igt@gem_exec_whisper@basic-contexts-all.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-2/igt@gem_exec_whisper@basic-contexts-all.html
* igt@gem_lmem_swapping@smem-oom@lmem0:
- {shard-dg1}: [TIMEOUT][123] ([i915#5493]) -> [PASS][124]
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg1-18/igt@gem_lmem_swapping@smem-oom@lmem0.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg1-16/igt@gem_lmem_swapping@smem-oom@lmem0.html
* igt@gem_mmap_offset@clear@smem0:
- shard-dg2: [DMESG-WARN][125] ([i915#8304]) -> [PASS][126]
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-6/igt@gem_mmap_offset@clear@smem0.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@gem_mmap_offset@clear@smem0.html
* igt@gem_workarounds@suspend-resume:
- {shard-dg1}: [FAIL][127] ([fdo#103375]) -> [PASS][128]
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg1-19/igt@gem_workarounds@suspend-resume.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg1-17/igt@gem_workarounds@suspend-resume.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-dg2: [DMESG-WARN][129] ([i915#7061]) -> [PASS][130]
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-3/igt@i915_module_load@reload-with-fault-injection.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-12/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_pm_rc6_residency@rc6-idle@rcs0:
- {shard-dg1}: [FAIL][131] ([i915#3591]) -> [PASS][132] +1 similar issue
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg1-19/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
* igt@i915_pm_rpm@dpms-lpsp:
- {shard-dg1}: [SKIP][133] ([i915#1397]) -> [PASS][134] +2 similar issues
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg1-12/igt@i915_pm_rpm@dpms-lpsp.html
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg1-19/igt@i915_pm_rpm@dpms-lpsp.html
* igt@i915_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-dg2: [SKIP][135] ([i915#1397]) -> [PASS][136] +2 similar issues
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-10/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-3/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@i915_pm_rpm@dpms-non-lpsp:
- shard-rkl: [SKIP][137] ([i915#1397]) -> [PASS][138] +2 similar issues
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-rkl-7/igt@i915_pm_rpm@dpms-non-lpsp.html
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-2/igt@i915_pm_rpm@dpms-non-lpsp.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-mtlp: [FAIL][139] ([i915#5138]) -> [PASS][140]
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-3/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-mtlp: [FAIL][141] ([i915#3743]) -> [PASS][142]
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-2/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-4/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-glk: [FAIL][143] ([i915#72]) -> [PASS][144]
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-glk9/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-glk2/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-apl: [FAIL][145] ([i915#2346]) -> [PASS][146]
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-apl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1:
- shard-glk: [FAIL][147] ([i915#79]) -> [PASS][148]
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-glk4/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-glk9/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite:
- shard-dg2: [FAIL][149] ([i915#6880]) -> [PASS][150]
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-dg2: [FAIL][151] ([fdo#103375]) -> [PASS][152]
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-suspend.html
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-suspend.html
- shard-mtlp: [FAIL][153] ([fdo#103375]) -> [PASS][154]
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-4/igt@kms_frontbuffer_tracking@fbc-suspend.html
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-3/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1:
- shard-tglu: [FAIL][155] ([i915#8292]) -> [PASS][156]
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-tglu-6/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1.html
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-tglu-4/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1.html
* igt@perf_pmu@busy-double-start@ccs1:
- shard-dg2: [FAIL][157] ([i915#4349]) -> [PASS][158] +8 similar issues
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-10/igt@perf_pmu@busy-double-start@ccs1.html
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-3/igt@perf_pmu@busy-double-start@ccs1.html
* igt@perf_pmu@most-busy-idle-check-all@bcs0:
- {shard-dg1}: [FAIL][159] ([i915#5234]) -> [PASS][160]
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg1-14/igt@perf_pmu@most-busy-idle-check-all@bcs0.html
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg1-13/igt@perf_pmu@most-busy-idle-check-all@bcs0.html
#### Warnings ####
* igt@kms_async_flips@crc@pipe-a-edp-1:
- shard-mtlp: [FAIL][161] ([i915#8247]) -> [DMESG-FAIL][162] ([i915#1982] / [i915#8561])
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-3/igt@kms_async_flips@crc@pipe-a-edp-1.html
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-8/igt@kms_async_flips@crc@pipe-a-edp-1.html
* igt@kms_async_flips@crc@pipe-c-edp-1:
- shard-mtlp: [FAIL][163] ([i915#8247]) -> [DMESG-FAIL][164] ([i915#8561])
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-3/igt@kms_async_flips@crc@pipe-c-edp-1.html
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-8/igt@kms_async_flips@crc@pipe-c-edp-1.html
* igt@kms_async_flips@crc@pipe-d-edp-1:
- shard-mtlp: [DMESG-FAIL][165] ([i915#8561]) -> [FAIL][166] ([i915#8247])
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-3/igt@kms_async_flips@crc@pipe-d-edp-1.html
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-8/igt@kms_async_flips@crc@pipe-d-edp-1.html
* igt@kms_content_protection@content_type_change:
- shard-dg2: [SKIP][167] ([i915#4579] / [i915#7118]) -> [SKIP][168] ([i915#4579] / [i915#7118] / [i915#7162])
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-6/igt@kms_content_protection@content_type_change.html
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-11/igt@kms_content_protection@content_type_change.html
* igt@kms_content_protection@mei_interface:
- shard-dg2: [SKIP][169] ([i915#4579] / [i915#7118] / [i915#7162]) -> [SKIP][170] ([i915#4579] / [i915#7118])
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-dg2-11/igt@kms_content_protection@mei_interface.html
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-dg2-5/igt@kms_content_protection@mei_interface.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-mtlp: [DMESG-FAIL][171] ([i915#5954]) -> [DMESG-FAIL][172] ([i915#2017] / [i915#5954])
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-rkl: [SKIP][173] ([fdo#110189] / [i915#3955]) -> [SKIP][174] ([i915#3955])
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-rkl-2/igt@kms_fbcon_fbt@psr-suspend.html
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-6/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-rkl: [SKIP][175] ([i915#4070] / [i915#4816]) -> [SKIP][176] ([i915#4816])
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-rkl-1/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-rkl-7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_vblank@pipe-c-wait-busy-hang:
- shard-mtlp: [DMESG-WARN][177] -> [DMESG-WARN][178] ([i915#2017])
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13328/shard-mtlp-6/igt@kms_vblank@pipe-c-wait-busy-hang.html
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119933v1/shard-mtlp-1/igt@kms_vblank@pipe-c-wait-busy-hang.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#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2017]: https://gitlab.freedesktop.org/drm/intel/issues/2017
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[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#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
[i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036
[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#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087
[i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
[i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
[i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
[i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
[i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
[i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
[i915#4936]: https://gitlab.freedesktop.org/drm/intel/issues/4936
[i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
[i915#5234]: https://gitlab.freedesktop.org/drm/intel/issues/5234
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5954]: https://gitlab.freedesktop.org/drm/intel/issues/5954
[i915#6015]: https://gitlab.freedesktop.org/drm/intel/issues/6015
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
[i915#6363]: https://gitlab.freedesktop.org/drm/intel/issues/6363
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880
[i915#7061]: https://gitlab.freedesktop.org/drm/intel/issues/7061
[i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
[i915#7162]: https://gitlab.freedesktop.org/drm/intel/issues/7162
[i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
[i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
[i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
[i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
[i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
[i915#8248]: https://gitlab.freedesktop.org/drm/intel/issues/8248
[i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
[i915#8304]: https://gitlab.freedesktop.org/drm/intel/issues/8304
[i915#8403]: https://gitlab.freedesktop.org/drm/intel/issues/8403
[i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428
[i915#8503]: https://gitlab.freedesktop.org/drm/intel/issues/8503
[i915#8545]: https://gitlab.freedesktop.org/drm/intel/issues/8545
[i915#8561]: https://gitlab.freedesktop.org/drm/intel/issues/8561
[i915#8621]: https://gitlab.freedesktop.org/drm/intel/issues/8621
[i915#8628]: https://gitlab.freedesktop.org/drm/intel/issues/8628
[i915#8661]: https://gitlab.freedesktop.org/drm/intel/issues/8661
[i915#8663]: https://gitlab.freedesktop.org/drm/intel/issues/8663
[i915#8682]: https://gitlab.freedesktop.org/drm/intel/issues/8682
[i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
Build changes
-------------
* Linux: CI_DRM_13328 -> Patchwork_119933v1
CI-20190529: 20190529
CI_DRM_13328: 12cd6b2d321d9c034f3d4ba14788d68cb8da4eac @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7351: d8dc96b95c60e4737fdfa1664ce9b1dcebfdef60 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_119933v1: 12cd6b2d321d9c034f3d4ba14788d68cb8da4eac @ 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_119933v1/index.html
[-- Attachment #2: Type: text/html, Size: 56474 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device Jani Nikula
@ 2023-06-29 11:00 ` Tvrtko Ursulin
2023-06-29 11:53 ` Andi Shyti
` (2 subsequent siblings)
3 siblings, 0 replies; 19+ messages in thread
From: Tvrtko Ursulin @ 2023-06-29 11:00 UTC (permalink / raw)
To: Jani Nikula, intel-gfx; +Cc: Andrzej Hajda, Matt Roper
On 27/06/2023 16:13, Jani Nikula wrote:
> Instead of modifying the device info on the fly, use static const mock
> device info.
>
> It's not okay to modify device info at runtime; we've added separate
> runtime info for info that needs to be modified at runtime. We've added
> safeguards to device info to prevent it from being modified, but commit
> 5e352e32aec2 ("drm/i915: preparation for using PAT index") just cast the
> const away and modified it anyway. This prevents device info from being
> moved to rodata.
>
> Fixes: 5e352e32aec2 ("drm/i915: preparation for using PAT index")
> Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> Cc: Fei Yang <fei.yang@intel.com>
> Cc: Andi Shyti <andi.shyti@linux.intel.com>
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> .../gpu/drm/i915/selftests/mock_gem_device.c | 45 ++++++++++---------
> 1 file changed, 24 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> index 09d4bbcdcdbf..4de6a4e8280d 100644
> --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> @@ -118,15 +118,31 @@ static void mock_gt_probe(struct drm_i915_private *i915)
> i915->gt[0]->name = "Mock GT";
> }
>
> +static const struct intel_device_info mock_info = {
> + .__runtime.graphics.ip.ver = -1,
> + .__runtime.page_sizes = (I915_GTT_PAGE_SIZE_4K |
> + I915_GTT_PAGE_SIZE_64K |
> + I915_GTT_PAGE_SIZE_2M),
> + .__runtime.memory_regions = REGION_SMEM,
> + .__runtime.platform_engine_mask = BIT(0),
> +
> + /* simply use legacy cache level for mock device */
> + .max_pat_index = 3,
> + .cachelevel_to_pat = {
> + [I915_CACHE_NONE] = 0,
> + [I915_CACHE_LLC] = 1,
> + [I915_CACHE_L3_LLC] = 2,
> + [I915_CACHE_WT] = 3,
> + },
> +};
> +
> struct drm_i915_private *mock_gem_device(void)
> {
> #if IS_ENABLED(CONFIG_IOMMU_API) && defined(CONFIG_INTEL_IOMMU)
> static struct dev_iommu fake_iommu = { .priv = (void *)-1 };
> #endif
> struct drm_i915_private *i915;
> - struct intel_device_info *i915_info;
> struct pci_dev *pdev;
> - unsigned int i;
> int ret;
>
> pdev = kzalloc(sizeof(*pdev), GFP_KERNEL);
> @@ -159,15 +175,18 @@ struct drm_i915_private *mock_gem_device(void)
>
> pci_set_drvdata(pdev, i915);
>
> + /* Device parameters start as a copy of module parameters. */
> + i915_params_copy(&i915->params, &i915_modparams);
> +
> + /* Set up device info and initial runtime info. */
> + intel_device_info_driver_create(i915, pdev->device, &mock_info);
This one was new to me but figuring out what will dev->device contain,
or if it could have any unintended consequences was too time consuming.
If something breaks it will break loudly in testing.
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Regards,
Tvrtko
> +
> dev_pm_domain_set(&pdev->dev, &pm_domain);
> pm_runtime_enable(&pdev->dev);
> pm_runtime_dont_use_autosuspend(&pdev->dev);
> if (pm_runtime_enabled(&pdev->dev))
> WARN_ON(pm_runtime_get_sync(&pdev->dev));
>
> -
> - i915_params_copy(&i915->params, &i915_modparams);
> -
> intel_runtime_pm_init_early(&i915->runtime_pm);
> /* wakeref tracking has significant overhead */
> i915->runtime_pm.no_wakeref_tracking = true;
> @@ -175,21 +194,6 @@ struct drm_i915_private *mock_gem_device(void)
> /* Using the global GTT may ask questions about KMS users, so prepare */
> drm_mode_config_init(&i915->drm);
>
> - RUNTIME_INFO(i915)->graphics.ip.ver = -1;
> -
> - RUNTIME_INFO(i915)->page_sizes =
> - I915_GTT_PAGE_SIZE_4K |
> - I915_GTT_PAGE_SIZE_64K |
> - I915_GTT_PAGE_SIZE_2M;
> -
> - RUNTIME_INFO(i915)->memory_regions = REGION_SMEM;
> -
> - /* simply use legacy cache level for mock device */
> - i915_info = (struct intel_device_info *)INTEL_INFO(i915);
> - i915_info->max_pat_index = 3;
> - for (i = 0; i < I915_MAX_CACHE_LEVEL; i++)
> - i915_info->cachelevel_to_pat[i] = i;
> -
> intel_memory_regions_hw_probe(i915);
>
> spin_lock_init(&i915->gpu_error.lock);
> @@ -223,7 +227,6 @@ struct drm_i915_private *mock_gem_device(void)
> mock_init_ggtt(to_gt(i915));
> to_gt(i915)->vm = i915_vm_get(&to_gt(i915)->ggtt->vm);
>
> - RUNTIME_INFO(i915)->platform_engine_mask = BIT(0);
> to_gt(i915)->info.engine_mask = BIT(0);
>
> to_gt(i915)->engine[RCS0] = mock_engine(i915, "mock", RCS0);
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Intel-gfx] [PATCH v2 2/6] drm/i915: move platform_engine_mask and memory_regions to device info
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 2/6] drm/i915: move platform_engine_mask and memory_regions to device info Jani Nikula
@ 2023-06-29 11:06 ` Tvrtko Ursulin
0 siblings, 0 replies; 19+ messages in thread
From: Tvrtko Ursulin @ 2023-06-29 11:06 UTC (permalink / raw)
To: Jani Nikula, intel-gfx
On 27/06/2023 16:13, Jani Nikula wrote:
> The mock device creation was the only place that needed to modify
> platform_engine_mask and memory_regions runtime. With mock_info in place
> for mock devices, we can move them to device info.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/gt/intel_gt.c | 2 +-
> drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c | 2 +-
> drivers/gpu/drm/i915/gt/uc/intel_huc.c | 2 +-
> drivers/gpu/drm/i915/i915_drv.h | 2 +-
> drivers/gpu/drm/i915/i915_pci.c | 64 +++++++++----------
> drivers/gpu/drm/i915/intel_device_info.c | 2 +-
> drivers/gpu/drm/i915/intel_device_info.h | 7 +-
> .../gpu/drm/i915/selftests/mock_gem_device.c | 4 +-
> 8 files changed, 42 insertions(+), 43 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
> index 7a008e829d4d..33a61046ba58 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt.c
> @@ -904,7 +904,7 @@ int intel_gt_probe_all(struct drm_i915_private *i915)
> */
> gt->i915 = i915;
> gt->name = "Primary GT";
> - gt->info.engine_mask = RUNTIME_INFO(i915)->platform_engine_mask;
> + gt->info.engine_mask = INTEL_INFO(i915)->platform_engine_mask;
>
> gt_dbg(gt, "Setting up %s\n", gt->name);
> ret = intel_gt_tile_setup(gt, phys_addr);
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
> index 75a3a0790ef3..034b53a71541 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
> @@ -99,7 +99,7 @@ static bool gsc_engine_supported(struct intel_gt *gt)
> GEM_BUG_ON(!gt_is_root(gt) && !gt->info.engine_mask);
>
> if (gt_is_root(gt))
> - mask = RUNTIME_INFO(gt->i915)->platform_engine_mask;
> + mask = INTEL_INFO(gt->i915)->platform_engine_mask;
> else
> mask = gt->info.engine_mask;
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_huc.c b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
> index 23aa1b0e0166..ba9e07fc2b57 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_huc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
> @@ -267,7 +267,7 @@ static bool vcs_supported(struct intel_gt *gt)
> GEM_BUG_ON(!gt_is_root(gt) && !gt->info.engine_mask);
>
> if (gt_is_root(gt))
> - mask = RUNTIME_INFO(gt->i915)->platform_engine_mask;
> + mask = INTEL_INFO(gt->i915)->platform_engine_mask;
> else
> mask = gt->info.engine_mask;
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index b4cf6f0f636d..078720a52322 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -839,7 +839,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
> */
> #define HAS_64K_PAGES(i915) (INTEL_INFO(i915)->has_64k_pages)
>
> -#define HAS_REGION(i915, i) (RUNTIME_INFO(i915)->memory_regions & (i))
> +#define HAS_REGION(i915, i) (INTEL_INFO(i915)->memory_regions & (i))
> #define HAS_LMEM(i915) HAS_REGION(i915, REGION_LMEM)
>
> #define HAS_EXTRA_GT_LIST(i915) (INTEL_INFO(i915)->extra_gt_list)
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 3d7a5db9833b..dea3609fc496 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -84,7 +84,7 @@ __diag_ignore_all("-Woverride-init", "Allow overriding inherited members");
> .__runtime.page_sizes = I915_GTT_PAGE_SIZE_4K
>
> #define GEN_DEFAULT_REGIONS \
> - .__runtime.memory_regions = REGION_SMEM | REGION_STOLEN_SMEM
> + .memory_regions = REGION_SMEM | REGION_STOLEN_SMEM
>
> #define I830_FEATURES \
> GEN(2), \
> @@ -93,7 +93,7 @@ __diag_ignore_all("-Woverride-init", "Allow overriding inherited members");
> .has_3d_pipeline = 1, \
> .hws_needs_physical = 1, \
> .unfenced_needs_alignment = 1, \
> - .__runtime.platform_engine_mask = BIT(RCS0), \
> + .platform_engine_mask = BIT(RCS0), \
> .has_snoop = true, \
> .has_coherent_ggtt = false, \
> .dma_mask_size = 32, \
> @@ -108,7 +108,7 @@ __diag_ignore_all("-Woverride-init", "Allow overriding inherited members");
> .gpu_reset_clobbers_display = true, \
> .hws_needs_physical = 1, \
> .unfenced_needs_alignment = 1, \
> - .__runtime.platform_engine_mask = BIT(RCS0), \
> + .platform_engine_mask = BIT(RCS0), \
> .has_snoop = true, \
> .has_coherent_ggtt = false, \
> .dma_mask_size = 32, \
> @@ -140,7 +140,7 @@ static const struct intel_device_info i865g_info = {
> #define GEN3_FEATURES \
> GEN(3), \
> .gpu_reset_clobbers_display = true, \
> - .__runtime.platform_engine_mask = BIT(RCS0), \
> + .platform_engine_mask = BIT(RCS0), \
> .has_3d_pipeline = 1, \
> .has_snoop = true, \
> .has_coherent_ggtt = true, \
> @@ -203,7 +203,7 @@ static const struct intel_device_info pnv_m_info = {
> #define GEN4_FEATURES \
> GEN(4), \
> .gpu_reset_clobbers_display = true, \
> - .__runtime.platform_engine_mask = BIT(RCS0), \
> + .platform_engine_mask = BIT(RCS0), \
> .has_3d_pipeline = 1, \
> .has_snoop = true, \
> .has_coherent_ggtt = true, \
> @@ -231,7 +231,7 @@ static const struct intel_device_info i965gm_info = {
> static const struct intel_device_info g45_info = {
> GEN4_FEATURES,
> PLATFORM(INTEL_G45),
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0),
> + .platform_engine_mask = BIT(RCS0) | BIT(VCS0),
> .gpu_reset_clobbers_display = false,
> };
>
> @@ -239,13 +239,13 @@ static const struct intel_device_info gm45_info = {
> GEN4_FEATURES,
> PLATFORM(INTEL_GM45),
> .is_mobile = 1,
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0),
> + .platform_engine_mask = BIT(RCS0) | BIT(VCS0),
> .gpu_reset_clobbers_display = false,
> };
>
> #define GEN5_FEATURES \
> GEN(5), \
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0), \
> + .platform_engine_mask = BIT(RCS0) | BIT(VCS0), \
> .has_3d_pipeline = 1, \
> .has_snoop = true, \
> .has_coherent_ggtt = true, \
> @@ -271,7 +271,7 @@ static const struct intel_device_info ilk_m_info = {
>
> #define GEN6_FEATURES \
> GEN(6), \
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
> + .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
> .has_3d_pipeline = 1, \
> .has_coherent_ggtt = true, \
> .has_llc = 1, \
> @@ -319,7 +319,7 @@ static const struct intel_device_info snb_m_gt2_info = {
>
> #define GEN7_FEATURES \
> GEN(7), \
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
> + .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0), \
> .has_3d_pipeline = 1, \
> .has_coherent_ggtt = true, \
> .has_llc = 1, \
> @@ -387,7 +387,7 @@ static const struct intel_device_info vlv_info = {
> .__runtime.ppgtt_size = 31,
> .has_snoop = true,
> .has_coherent_ggtt = false,
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0),
> + .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0),
> GEN_DEFAULT_PAGE_SIZES,
> GEN_DEFAULT_REGIONS,
> LEGACY_CACHELEVEL,
> @@ -395,7 +395,7 @@ static const struct intel_device_info vlv_info = {
>
> #define G75_FEATURES \
> GEN7_FEATURES, \
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
> + .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
> .has_rc6p = 0 /* RC6p removed-by HSW */, \
> .has_runtime_pm = 1
>
> @@ -453,7 +453,7 @@ static const struct intel_device_info bdw_rsvd_info = {
> static const struct intel_device_info bdw_gt3_info = {
> BDW_PLATFORM,
> .gt = 3,
> - .__runtime.platform_engine_mask =
> + .platform_engine_mask =
> BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
> };
>
> @@ -461,7 +461,7 @@ static const struct intel_device_info chv_info = {
> PLATFORM(INTEL_CHERRYVIEW),
> GEN(8),
> .is_lp = 1,
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0),
> + .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0),
> .has_64bit_reloc = 1,
> .has_runtime_pm = 1,
> .has_rc6 = 1,
> @@ -505,7 +505,7 @@ static const struct intel_device_info skl_gt2_info = {
>
> #define SKL_GT3_PLUS_PLATFORM \
> SKL_PLATFORM, \
> - .__runtime.platform_engine_mask = \
> + .platform_engine_mask = \
> BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1)
>
>
> @@ -522,7 +522,7 @@ static const struct intel_device_info skl_gt4_info = {
> #define GEN9_LP_FEATURES \
> GEN(9), \
> .is_lp = 1, \
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
> + .platform_engine_mask = BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0), \
> .has_3d_pipeline = 1, \
> .has_64bit_reloc = 1, \
> .has_runtime_pm = 1, \
> @@ -568,7 +568,7 @@ static const struct intel_device_info kbl_gt2_info = {
> static const struct intel_device_info kbl_gt3_info = {
> KBL_PLATFORM,
> .gt = 3,
> - .__runtime.platform_engine_mask =
> + .platform_engine_mask =
> BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
> };
>
> @@ -589,7 +589,7 @@ static const struct intel_device_info cfl_gt2_info = {
> static const struct intel_device_info cfl_gt3_info = {
> CFL_PLATFORM,
> .gt = 3,
> - .__runtime.platform_engine_mask =
> + .platform_engine_mask =
> BIT(RCS0) | BIT(VCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS1),
> };
>
> @@ -622,21 +622,21 @@ static const struct intel_device_info cml_gt2_info = {
> static const struct intel_device_info icl_info = {
> GEN11_FEATURES,
> PLATFORM(INTEL_ICELAKE),
> - .__runtime.platform_engine_mask =
> + .platform_engine_mask =
> BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
> };
>
> static const struct intel_device_info ehl_info = {
> GEN11_FEATURES,
> PLATFORM(INTEL_ELKHARTLAKE),
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
> + .platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
> .__runtime.ppgtt_size = 36,
> };
>
> static const struct intel_device_info jsl_info = {
> GEN11_FEATURES,
> PLATFORM(INTEL_JASPERLAKE),
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
> + .platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0) | BIT(VECS0),
> .__runtime.ppgtt_size = 36,
> };
>
> @@ -651,19 +651,19 @@ static const struct intel_device_info jsl_info = {
> static const struct intel_device_info tgl_info = {
> GEN12_FEATURES,
> PLATFORM(INTEL_TIGERLAKE),
> - .__runtime.platform_engine_mask =
> + .platform_engine_mask =
> BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
> };
>
> static const struct intel_device_info rkl_info = {
> GEN12_FEATURES,
> PLATFORM(INTEL_ROCKETLAKE),
> - .__runtime.platform_engine_mask =
> + .platform_engine_mask =
> BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0),
> };
>
> #define DGFX_FEATURES \
> - .__runtime.memory_regions = REGION_SMEM | REGION_LMEM | REGION_STOLEN_LMEM, \
> + .memory_regions = REGION_SMEM | REGION_LMEM | REGION_STOLEN_LMEM, \
> .has_llc = 0, \
> .has_pxp = 0, \
> .has_snoop = 1, \
> @@ -676,7 +676,7 @@ static const struct intel_device_info dg1_info = {
> .__runtime.graphics.ip.rel = 10,
> PLATFORM(INTEL_DG1),
> .require_force_probe = 1,
> - .__runtime.platform_engine_mask =
> + .platform_engine_mask =
> BIT(RCS0) | BIT(BCS0) | BIT(VECS0) |
> BIT(VCS0) | BIT(VCS2),
> /* Wa_16011227922 */
> @@ -686,7 +686,7 @@ static const struct intel_device_info dg1_info = {
> static const struct intel_device_info adl_s_info = {
> GEN12_FEATURES,
> PLATFORM(INTEL_ALDERLAKE_S),
> - .__runtime.platform_engine_mask =
> + .platform_engine_mask =
> BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
> .dma_mask_size = 39,
> };
> @@ -694,7 +694,7 @@ static const struct intel_device_info adl_s_info = {
> static const struct intel_device_info adl_p_info = {
> GEN12_FEATURES,
> PLATFORM(INTEL_ALDERLAKE_P),
> - .__runtime.platform_engine_mask =
> + .platform_engine_mask =
> BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
> .__runtime.ppgtt_size = 48,
> .dma_mask_size = 39,
> @@ -746,7 +746,7 @@ static const struct intel_device_info xehpsdv_info = {
> PLATFORM(INTEL_XEHPSDV),
> .has_64k_pages = 1,
> .has_media_ratio_mode = 1,
> - .__runtime.platform_engine_mask =
> + .platform_engine_mask =
> BIT(RCS0) | BIT(BCS0) |
> BIT(VECS0) | BIT(VECS1) | BIT(VECS2) | BIT(VECS3) |
> BIT(VCS0) | BIT(VCS1) | BIT(VCS2) | BIT(VCS3) |
> @@ -766,7 +766,7 @@ static const struct intel_device_info xehpsdv_info = {
> .has_guc_deprivilege = 1, \
> .has_heci_pxp = 1, \
> .has_media_ratio_mode = 1, \
> - .__runtime.platform_engine_mask = \
> + .platform_engine_mask = \
> BIT(RCS0) | BIT(BCS0) | \
> BIT(VECS0) | BIT(VECS1) | \
> BIT(VCS0) | BIT(VCS2) | \
> @@ -801,7 +801,7 @@ static const struct intel_device_info pvc_info = {
> PLATFORM(INTEL_PONTEVECCHIO),
> .has_flat_ccs = 0,
> .max_pat_index = 7,
> - .__runtime.platform_engine_mask =
> + .platform_engine_mask =
> BIT(BCS0) |
> BIT(VCS0) |
> BIT(CCS0) | BIT(CCS1) | BIT(CCS2) | BIT(CCS3),
> @@ -838,8 +838,8 @@ static const struct intel_device_info mtl_info = {
> .has_snoop = 1,
> .max_pat_index = 4,
> .has_pxp = 1,
> - .__runtime.memory_regions = REGION_SMEM | REGION_STOLEN_LMEM,
> - .__runtime.platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(CCS0),
> + .memory_regions = REGION_SMEM | REGION_STOLEN_LMEM,
> + .platform_engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(CCS0),
> .require_force_probe = 1,
> MTL_CACHELEVEL,
> };
> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
> index 9c0f02faa0d7..9e7e33fbca6e 100644
> --- a/drivers/gpu/drm/i915/intel_device_info.c
> +++ b/drivers/gpu/drm/i915/intel_device_info.c
> @@ -126,7 +126,7 @@ void intel_device_info_print(const struct intel_device_info *info,
> drm_printf(p, "base die stepping: %s\n", intel_step_name(runtime->step.basedie_step));
>
> drm_printf(p, "gt: %d\n", info->gt);
> - drm_printf(p, "memory-regions: 0x%x\n", runtime->memory_regions);
> + drm_printf(p, "memory-regions: 0x%x\n", info->memory_regions);
> drm_printf(p, "page-sizes: 0x%x\n", runtime->page_sizes);
> drm_printf(p, "platform: %s\n", intel_platform_name(info->platform));
> drm_printf(p, "ppgtt-size: %d\n", runtime->ppgtt_size);
> diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
> index 069291b3bd37..81bfd64717cf 100644
> --- a/drivers/gpu/drm/i915/intel_device_info.h
> +++ b/drivers/gpu/drm/i915/intel_device_info.h
> @@ -212,8 +212,6 @@ struct intel_runtime_info {
>
> u16 device_id;
>
> - intel_engine_mask_t platform_engine_mask; /* Engines supported by the HW */
> -
Passing observation - I think a packing hole sneaked in here when we
increased intel_engine_mask_t to u32.
> u32 rawclk_freq;
>
> struct intel_step_info step;
> @@ -223,8 +221,6 @@ struct intel_runtime_info {
> enum intel_ppgtt_type ppgtt_type;
> unsigned int ppgtt_size; /* log2, e.g. 31/32/48 bits */
>
> - u32 memory_regions; /* regions supported by the HW */
> -
> bool has_pooled_eu;
> };
>
> @@ -237,6 +233,9 @@ struct intel_device_info {
>
> u8 gt; /* GT number, 0 if undefined */
>
> + intel_engine_mask_t platform_engine_mask; /* Engines supported by the HW */
> + u32 memory_regions; /* regions supported by the HW */
> +
> #define DEFINE_FLAG(name) u8 name:1
> DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
> #undef DEFINE_FLAG
> diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> index 4de6a4e8280d..12aa7fbb0748 100644
> --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> @@ -123,8 +123,8 @@ static const struct intel_device_info mock_info = {
> .__runtime.page_sizes = (I915_GTT_PAGE_SIZE_4K |
> I915_GTT_PAGE_SIZE_64K |
> I915_GTT_PAGE_SIZE_2M),
> - .__runtime.memory_regions = REGION_SMEM,
> - .__runtime.platform_engine_mask = BIT(0),
> + .memory_regions = REGION_SMEM,
> + .platform_engine_mask = BIT(0),
>
> /* simply use legacy cache level for mock device */
> .max_pat_index = 3,
I saw no mistakes.
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Regards,
Tvrtko
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: make device info a const pointer to rodata
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 6/6] drm/i915: make device info a const pointer to rodata Jani Nikula
@ 2023-06-29 11:10 ` Tvrtko Ursulin
2023-06-29 11:29 ` Jani Nikula
0 siblings, 1 reply; 19+ messages in thread
From: Tvrtko Ursulin @ 2023-06-29 11:10 UTC (permalink / raw)
To: Jani Nikula, intel-gfx; +Cc: Matt Roper, Lucas De Marchi
On 27/06/2023 16:14, Jani Nikula wrote:
> Finally we can get rid of the pseudo-const write-once device info, and
> convert it into a const pointer to device info in rodata.
>
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 4 ++--
> drivers/gpu/drm/i915/intel_device_info.c | 17 ++++-------------
> 2 files changed, 6 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 8947d1201298..682ef2b5c7d5 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -203,7 +203,7 @@ struct drm_i915_private {
> /* i915 device parameters */
> struct i915_params params;
>
> - const struct intel_device_info __info; /* Use INTEL_INFO() to access. */
> + const struct intel_device_info *__info; /* Use INTEL_INFO() to access. */
> struct intel_runtime_info __runtime; /* Use RUNTIME_INFO() to access. */
> struct intel_driver_caps caps;
>
> @@ -415,7 +415,7 @@ static inline struct intel_gt *to_gt(struct drm_i915_private *i915)
> (engine__) && (engine__)->uabi_class == (class__); \
> (engine__) = rb_to_uabi_engine(rb_next(&(engine__)->uabi_node)))
>
> -#define INTEL_INFO(i915) (&(i915)->__info)
> +#define INTEL_INFO(i915) ((i915)->__info)
> #define RUNTIME_INFO(i915) (&(i915)->__runtime)
> #define DISPLAY_INFO(i915) ((i915)->display.info.__device_info)
> #define DISPLAY_RUNTIME_INFO(i915) (&(i915)->display.info.__runtime_info)
> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
> index 0740922cd71f..ea0ec6174ce5 100644
> --- a/drivers/gpu/drm/i915/intel_device_info.c
> +++ b/drivers/gpu/drm/i915/intel_device_info.c
> @@ -364,13 +364,6 @@ void intel_device_info_runtime_init_early(struct drm_i915_private *i915)
> intel_device_info_subplatform_init(i915);
> }
>
> -/* FIXME: Remove this, and make device info a const pointer to rodata. */
> -static struct intel_device_info *
> -mkwrite_device_info(struct drm_i915_private *i915)
> -{
> - return (struct intel_device_info *)INTEL_INFO(i915);
> -}
> -
> static const struct intel_display_device_info no_display = {};
>
> /**
> @@ -430,26 +423,24 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
> u16 device_id,
> const struct intel_device_info *match_info)
> {
> - struct intel_device_info *info;
> struct intel_runtime_info *runtime;
> u16 ver, rel, step;
>
> - /* Setup the write-once "constant" device info */
> - info = mkwrite_device_info(i915);
> - memcpy(info, match_info, sizeof(*info));
> + /* Setup INTEL_INFO() */
> + i915->__info = match_info;
>
> /* Initialize initial runtime info from static const data and pdev. */
> runtime = RUNTIME_INFO(i915);
> memcpy(runtime, &INTEL_INFO(i915)->__runtime, sizeof(*runtime));
>
> /* Probe display support */
> - i915->display.info.__device_info = intel_display_device_probe(i915, info->has_gmd_id,
> + i915->display.info.__device_info = intel_display_device_probe(i915, HAS_GMD_ID(i915),
Why does intel_display_device_probe need an explicit has_gmdid when it
could use HAS_GMD_ID itself?
But anyway, LGTM. If it saves you some time before the other time zone
comes online:
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Regards,
Tvrtko
> &ver, &rel, &step);
> memcpy(DISPLAY_RUNTIME_INFO(i915),
> &DISPLAY_INFO(i915)->__runtime_defaults,
> sizeof(*DISPLAY_RUNTIME_INFO(i915)));
>
> - if (info->has_gmd_id) {
> + if (HAS_GMD_ID(i915)) {
> DISPLAY_RUNTIME_INFO(i915)->ip.ver = ver;
> DISPLAY_RUNTIME_INFO(i915)->ip.rel = rel;
> DISPLAY_RUNTIME_INFO(i915)->ip.step = step;
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: make device info a const pointer to rodata
2023-06-29 11:10 ` Tvrtko Ursulin
@ 2023-06-29 11:29 ` Jani Nikula
2023-06-29 13:30 ` Jani Nikula
0 siblings, 1 reply; 19+ messages in thread
From: Jani Nikula @ 2023-06-29 11:29 UTC (permalink / raw)
To: Tvrtko Ursulin, intel-gfx; +Cc: Matt Roper, Lucas De Marchi
On Thu, 29 Jun 2023, Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> wrote:
> On 27/06/2023 16:14, Jani Nikula wrote:
>> Finally we can get rid of the pseudo-const write-once device info, and
>> convert it into a const pointer to device info in rodata.
>>
>> Cc: Matt Roper <matthew.d.roper@intel.com>
>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>> drivers/gpu/drm/i915/i915_drv.h | 4 ++--
>> drivers/gpu/drm/i915/intel_device_info.c | 17 ++++-------------
>> 2 files changed, 6 insertions(+), 15 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index 8947d1201298..682ef2b5c7d5 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -203,7 +203,7 @@ struct drm_i915_private {
>> /* i915 device parameters */
>> struct i915_params params;
>>
>> - const struct intel_device_info __info; /* Use INTEL_INFO() to access. */
>> + const struct intel_device_info *__info; /* Use INTEL_INFO() to access. */
>> struct intel_runtime_info __runtime; /* Use RUNTIME_INFO() to access. */
>> struct intel_driver_caps caps;
>>
>> @@ -415,7 +415,7 @@ static inline struct intel_gt *to_gt(struct drm_i915_private *i915)
>> (engine__) && (engine__)->uabi_class == (class__); \
>> (engine__) = rb_to_uabi_engine(rb_next(&(engine__)->uabi_node)))
>>
>> -#define INTEL_INFO(i915) (&(i915)->__info)
>> +#define INTEL_INFO(i915) ((i915)->__info)
>> #define RUNTIME_INFO(i915) (&(i915)->__runtime)
>> #define DISPLAY_INFO(i915) ((i915)->display.info.__device_info)
>> #define DISPLAY_RUNTIME_INFO(i915) (&(i915)->display.info.__runtime_info)
>> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
>> index 0740922cd71f..ea0ec6174ce5 100644
>> --- a/drivers/gpu/drm/i915/intel_device_info.c
>> +++ b/drivers/gpu/drm/i915/intel_device_info.c
>> @@ -364,13 +364,6 @@ void intel_device_info_runtime_init_early(struct drm_i915_private *i915)
>> intel_device_info_subplatform_init(i915);
>> }
>>
>> -/* FIXME: Remove this, and make device info a const pointer to rodata. */
>> -static struct intel_device_info *
>> -mkwrite_device_info(struct drm_i915_private *i915)
>> -{
>> - return (struct intel_device_info *)INTEL_INFO(i915);
>> -}
>> -
>> static const struct intel_display_device_info no_display = {};
>>
>> /**
>> @@ -430,26 +423,24 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
>> u16 device_id,
>> const struct intel_device_info *match_info)
>> {
>> - struct intel_device_info *info;
>> struct intel_runtime_info *runtime;
>> u16 ver, rel, step;
>>
>> - /* Setup the write-once "constant" device info */
>> - info = mkwrite_device_info(i915);
>> - memcpy(info, match_info, sizeof(*info));
>> + /* Setup INTEL_INFO() */
>> + i915->__info = match_info;
>>
>> /* Initialize initial runtime info from static const data and pdev. */
>> runtime = RUNTIME_INFO(i915);
>> memcpy(runtime, &INTEL_INFO(i915)->__runtime, sizeof(*runtime));
>>
>> /* Probe display support */
>> - i915->display.info.__device_info = intel_display_device_probe(i915, info->has_gmd_id,
>> + i915->display.info.__device_info = intel_display_device_probe(i915, HAS_GMD_ID(i915),
>
> Why does intel_display_device_probe need an explicit has_gmdid when it
> could use HAS_GMD_ID itself?
I think all of the display related initialization from this function
should be moved within intel_display_device_probe() in follow-up.
> But anyway, LGTM. If it saves you some time before the other time zone
> comes online:
>
> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Thanks,
Jani.
>
> Regards,
>
> Tvrtko
>
>> &ver, &rel, &step);
>> memcpy(DISPLAY_RUNTIME_INFO(i915),
>> &DISPLAY_INFO(i915)->__runtime_defaults,
>> sizeof(*DISPLAY_RUNTIME_INFO(i915)));
>>
>> - if (info->has_gmd_id) {
>> + if (HAS_GMD_ID(i915)) {
>> DISPLAY_RUNTIME_INFO(i915)->ip.ver = ver;
>> DISPLAY_RUNTIME_INFO(i915)->ip.rel = rel;
>> DISPLAY_RUNTIME_INFO(i915)->ip.step = step;
--
Jani Nikula, Intel Open Source Graphics Center
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device Jani Nikula
2023-06-29 11:00 ` Tvrtko Ursulin
@ 2023-06-29 11:53 ` Andi Shyti
2023-06-29 12:57 ` Andrzej Hajda
2023-06-29 16:12 ` Yang, Fei
3 siblings, 0 replies; 19+ messages in thread
From: Andi Shyti @ 2023-06-29 11:53 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, Andrzej Hajda, Matt Roper
Hi Jani,
On Tue, Jun 27, 2023 at 06:13:58PM +0300, Jani Nikula wrote:
> Instead of modifying the device info on the fly, use static const mock
> device info.
>
> It's not okay to modify device info at runtime; we've added separate
> runtime info for info that needs to be modified at runtime. We've added
> safeguards to device info to prevent it from being modified, but commit
> 5e352e32aec2 ("drm/i915: preparation for using PAT index") just cast the
> const away and modified it anyway. This prevents device info from being
> moved to rodata.
>
> Fixes: 5e352e32aec2 ("drm/i915: preparation for using PAT index")
> Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> Cc: Fei Yang <fei.yang@intel.com>
> Cc: Andi Shyti <andi.shyti@linux.intel.com>
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
thanks for fixing this!
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Andi
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device Jani Nikula
2023-06-29 11:00 ` Tvrtko Ursulin
2023-06-29 11:53 ` Andi Shyti
@ 2023-06-29 12:57 ` Andrzej Hajda
2023-06-29 16:12 ` Yang, Fei
3 siblings, 0 replies; 19+ messages in thread
From: Andrzej Hajda @ 2023-06-29 12:57 UTC (permalink / raw)
To: Jani Nikula, intel-gfx; +Cc: Matt Roper
On 27.06.2023 17:13, Jani Nikula wrote:
> Instead of modifying the device info on the fly, use static const mock
> device info.
>
> It's not okay to modify device info at runtime; we've added separate
> runtime info for info that needs to be modified at runtime. We've added
> safeguards to device info to prevent it from being modified, but commit
> 5e352e32aec2 ("drm/i915: preparation for using PAT index") just cast the
> const away and modified it anyway. This prevents device info from being
> moved to rodata.
>
> Fixes: 5e352e32aec2 ("drm/i915: preparation for using PAT index")
> Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> Cc: Fei Yang <fei.yang@intel.com>
> Cc: Andi Shyti <andi.shyti@linux.intel.com>
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Regards
Andrzej
> ---
> .../gpu/drm/i915/selftests/mock_gem_device.c | 45 ++++++++++---------
> 1 file changed, 24 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> index 09d4bbcdcdbf..4de6a4e8280d 100644
> --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> @@ -118,15 +118,31 @@ static void mock_gt_probe(struct drm_i915_private *i915)
> i915->gt[0]->name = "Mock GT";
> }
>
> +static const struct intel_device_info mock_info = {
> + .__runtime.graphics.ip.ver = -1,
> + .__runtime.page_sizes = (I915_GTT_PAGE_SIZE_4K |
> + I915_GTT_PAGE_SIZE_64K |
> + I915_GTT_PAGE_SIZE_2M),
> + .__runtime.memory_regions = REGION_SMEM,
> + .__runtime.platform_engine_mask = BIT(0),
> +
> + /* simply use legacy cache level for mock device */
> + .max_pat_index = 3,
> + .cachelevel_to_pat = {
> + [I915_CACHE_NONE] = 0,
> + [I915_CACHE_LLC] = 1,
> + [I915_CACHE_L3_LLC] = 2,
> + [I915_CACHE_WT] = 3,
> + },
> +};
> +
> struct drm_i915_private *mock_gem_device(void)
> {
> #if IS_ENABLED(CONFIG_IOMMU_API) && defined(CONFIG_INTEL_IOMMU)
> static struct dev_iommu fake_iommu = { .priv = (void *)-1 };
> #endif
> struct drm_i915_private *i915;
> - struct intel_device_info *i915_info;
> struct pci_dev *pdev;
> - unsigned int i;
> int ret;
>
> pdev = kzalloc(sizeof(*pdev), GFP_KERNEL);
> @@ -159,15 +175,18 @@ struct drm_i915_private *mock_gem_device(void)
>
> pci_set_drvdata(pdev, i915);
>
> + /* Device parameters start as a copy of module parameters. */
> + i915_params_copy(&i915->params, &i915_modparams);
> +
> + /* Set up device info and initial runtime info. */
> + intel_device_info_driver_create(i915, pdev->device, &mock_info);
> +
> dev_pm_domain_set(&pdev->dev, &pm_domain);
> pm_runtime_enable(&pdev->dev);
> pm_runtime_dont_use_autosuspend(&pdev->dev);
> if (pm_runtime_enabled(&pdev->dev))
> WARN_ON(pm_runtime_get_sync(&pdev->dev));
>
> -
> - i915_params_copy(&i915->params, &i915_modparams);
> -
> intel_runtime_pm_init_early(&i915->runtime_pm);
> /* wakeref tracking has significant overhead */
> i915->runtime_pm.no_wakeref_tracking = true;
> @@ -175,21 +194,6 @@ struct drm_i915_private *mock_gem_device(void)
> /* Using the global GTT may ask questions about KMS users, so prepare */
> drm_mode_config_init(&i915->drm);
>
> - RUNTIME_INFO(i915)->graphics.ip.ver = -1;
> -
> - RUNTIME_INFO(i915)->page_sizes =
> - I915_GTT_PAGE_SIZE_4K |
> - I915_GTT_PAGE_SIZE_64K |
> - I915_GTT_PAGE_SIZE_2M;
> -
> - RUNTIME_INFO(i915)->memory_regions = REGION_SMEM;
> -
> - /* simply use legacy cache level for mock device */
> - i915_info = (struct intel_device_info *)INTEL_INFO(i915);
> - i915_info->max_pat_index = 3;
> - for (i = 0; i < I915_MAX_CACHE_LEVEL; i++)
> - i915_info->cachelevel_to_pat[i] = i;
> -
> intel_memory_regions_hw_probe(i915);
>
> spin_lock_init(&i915->gpu_error.lock);
> @@ -223,7 +227,6 @@ struct drm_i915_private *mock_gem_device(void)
> mock_init_ggtt(to_gt(i915));
> to_gt(i915)->vm = i915_vm_get(&to_gt(i915)->ggtt->vm);
>
> - RUNTIME_INFO(i915)->platform_engine_mask = BIT(0);
> to_gt(i915)->info.engine_mask = BIT(0);
>
> to_gt(i915)->engine[RCS0] = mock_engine(i915, "mock", RCS0);
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Intel-gfx] [PATCH v2 6/6] drm/i915: make device info a const pointer to rodata
2023-06-29 11:29 ` Jani Nikula
@ 2023-06-29 13:30 ` Jani Nikula
0 siblings, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2023-06-29 13:30 UTC (permalink / raw)
To: Tvrtko Ursulin, intel-gfx; +Cc: Lucas De Marchi, Matt Roper
On Thu, 29 Jun 2023, Jani Nikula <jani.nikula@intel.com> wrote:
> On Thu, 29 Jun 2023, Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> wrote:
>> On 27/06/2023 16:14, Jani Nikula wrote:
>>> Finally we can get rid of the pseudo-const write-once device info, and
>>> convert it into a const pointer to device info in rodata.
>>>
>>> Cc: Matt Roper <matthew.d.roper@intel.com>
>>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>> ---
>>> drivers/gpu/drm/i915/i915_drv.h | 4 ++--
>>> drivers/gpu/drm/i915/intel_device_info.c | 17 ++++-------------
>>> 2 files changed, 6 insertions(+), 15 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>>> index 8947d1201298..682ef2b5c7d5 100644
>>> --- a/drivers/gpu/drm/i915/i915_drv.h
>>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>>> @@ -203,7 +203,7 @@ struct drm_i915_private {
>>> /* i915 device parameters */
>>> struct i915_params params;
>>>
>>> - const struct intel_device_info __info; /* Use INTEL_INFO() to access. */
>>> + const struct intel_device_info *__info; /* Use INTEL_INFO() to access. */
>>> struct intel_runtime_info __runtime; /* Use RUNTIME_INFO() to access. */
>>> struct intel_driver_caps caps;
>>>
>>> @@ -415,7 +415,7 @@ static inline struct intel_gt *to_gt(struct drm_i915_private *i915)
>>> (engine__) && (engine__)->uabi_class == (class__); \
>>> (engine__) = rb_to_uabi_engine(rb_next(&(engine__)->uabi_node)))
>>>
>>> -#define INTEL_INFO(i915) (&(i915)->__info)
>>> +#define INTEL_INFO(i915) ((i915)->__info)
>>> #define RUNTIME_INFO(i915) (&(i915)->__runtime)
>>> #define DISPLAY_INFO(i915) ((i915)->display.info.__device_info)
>>> #define DISPLAY_RUNTIME_INFO(i915) (&(i915)->display.info.__runtime_info)
>>> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
>>> index 0740922cd71f..ea0ec6174ce5 100644
>>> --- a/drivers/gpu/drm/i915/intel_device_info.c
>>> +++ b/drivers/gpu/drm/i915/intel_device_info.c
>>> @@ -364,13 +364,6 @@ void intel_device_info_runtime_init_early(struct drm_i915_private *i915)
>>> intel_device_info_subplatform_init(i915);
>>> }
>>>
>>> -/* FIXME: Remove this, and make device info a const pointer to rodata. */
>>> -static struct intel_device_info *
>>> -mkwrite_device_info(struct drm_i915_private *i915)
>>> -{
>>> - return (struct intel_device_info *)INTEL_INFO(i915);
>>> -}
>>> -
>>> static const struct intel_display_device_info no_display = {};
>>>
>>> /**
>>> @@ -430,26 +423,24 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
>>> u16 device_id,
>>> const struct intel_device_info *match_info)
>>> {
>>> - struct intel_device_info *info;
>>> struct intel_runtime_info *runtime;
>>> u16 ver, rel, step;
>>>
>>> - /* Setup the write-once "constant" device info */
>>> - info = mkwrite_device_info(i915);
>>> - memcpy(info, match_info, sizeof(*info));
>>> + /* Setup INTEL_INFO() */
>>> + i915->__info = match_info;
>>>
>>> /* Initialize initial runtime info from static const data and pdev. */
>>> runtime = RUNTIME_INFO(i915);
>>> memcpy(runtime, &INTEL_INFO(i915)->__runtime, sizeof(*runtime));
>>>
>>> /* Probe display support */
>>> - i915->display.info.__device_info = intel_display_device_probe(i915, info->has_gmd_id,
>>> + i915->display.info.__device_info = intel_display_device_probe(i915, HAS_GMD_ID(i915),
>>
>> Why does intel_display_device_probe need an explicit has_gmdid when it
>> could use HAS_GMD_ID itself?
>
> I think all of the display related initialization from this function
> should be moved within intel_display_device_probe() in follow-up.
>
>> But anyway, LGTM. If it saves you some time before the other time zone
>> comes online:
>>
>> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
And pushed the series to drm-intel-next, thanks for the reviews
everyone!
BR,
Jani.
>
> Thanks,
> Jani.
>
>>
>> Regards,
>>
>> Tvrtko
>>
>>> &ver, &rel, &step);
>>> memcpy(DISPLAY_RUNTIME_INFO(i915),
>>> &DISPLAY_INFO(i915)->__runtime_defaults,
>>> sizeof(*DISPLAY_RUNTIME_INFO(i915)));
>>>
>>> - if (info->has_gmd_id) {
>>> + if (HAS_GMD_ID(i915)) {
>>> DISPLAY_RUNTIME_INFO(i915)->ip.ver = ver;
>>> DISPLAY_RUNTIME_INFO(i915)->ip.rel = rel;
>>> DISPLAY_RUNTIME_INFO(i915)->ip.step = step;
--
Jani Nikula, Intel Open Source Graphics Center
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device Jani Nikula
` (2 preceding siblings ...)
2023-06-29 12:57 ` Andrzej Hajda
@ 2023-06-29 16:12 ` Yang, Fei
3 siblings, 0 replies; 19+ messages in thread
From: Yang, Fei @ 2023-06-29 16:12 UTC (permalink / raw)
To: Nikula, Jani, intel-gfx; +Cc: Roper, Matthew D, Hajda, Andrzej
> Instead of modifying the device info on the fly, use static const
> mock device info.
>
> It's not okay to modify device info at runtime; we've added separate
> runtime info for info that needs to be modified at runtime. We've
> added safeguards to device info to prevent it from being modified,
> but commit 5e352e32aec2 ("drm/i915: preparation for using PAT index")
> just cast the const away and modified it anyway. This prevents device
> info from being moved to rodata.
>
> Fixes: 5e352e32aec2 ("drm/i915: preparation for using PAT index")
> Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> Cc: Fei Yang <fei.yang@intel.com>
> Cc: Andi Shyti <andi.shyti@linux.intel.com>
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Thanks for fixing this.
Reviewed-by: Fei Yang <fei.yang@intel.com>
> ---
> .../gpu/drm/i915/selftests/mock_gem_device.c | 45 ++++++++++---------
> 1 file changed, 24 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> index 09d4bbcdcdbf..4de6a4e8280d 100644
> --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
> @@ -118,15 +118,31 @@ static void mock_gt_probe(struct drm_i915_private *i915)
> i915->gt[0]->name = "Mock GT";
> }
>
> +static const struct intel_device_info mock_info = {
> + .__runtime.graphics.ip.ver = -1,
> + .__runtime.page_sizes = (I915_GTT_PAGE_SIZE_4K |
> + I915_GTT_PAGE_SIZE_64K |
> + I915_GTT_PAGE_SIZE_2M),
> + .__runtime.memory_regions = REGION_SMEM,
> + .__runtime.platform_engine_mask = BIT(0),
> +
> + /* simply use legacy cache level for mock device */
> + .max_pat_index = 3,
> + .cachelevel_to_pat = {
> + [I915_CACHE_NONE] = 0,
> + [I915_CACHE_LLC] = 1,
> + [I915_CACHE_L3_LLC] = 2,
> + [I915_CACHE_WT] = 3,
> + },
> +};
> +
> struct drm_i915_private *mock_gem_device(void) { #if IS_ENABLED(CONFIG_IOMMU_API) && defined(CONFIG_INTEL_IOMMU)
> static struct dev_iommu fake_iommu = { .priv = (void *)-1 }; #endif
> struct drm_i915_private *i915;
> - struct intel_device_info *i915_info;
> struct pci_dev *pdev;
> - unsigned int i;
> int ret;
>
> pdev = kzalloc(sizeof(*pdev), GFP_KERNEL); @@ -159,15 +175,18 @@ struct drm_i915_private *mock_gem_device(void)
>
> pci_set_drvdata(pdev, i915);
>
> + /* Device parameters start as a copy of module parameters. */
> + i915_params_copy(&i915->params, &i915_modparams);
> +
> + /* Set up device info and initial runtime info. */
> + intel_device_info_driver_create(i915, pdev->device, &mock_info);
> +
> dev_pm_domain_set(&pdev->dev, &pm_domain);
> pm_runtime_enable(&pdev->dev);
> pm_runtime_dont_use_autosuspend(&pdev->dev);
> if (pm_runtime_enabled(&pdev->dev))
> WARN_ON(pm_runtime_get_sync(&pdev->dev));
>
> -
> - i915_params_copy(&i915->params, &i915_modparams);
> -
> intel_runtime_pm_init_early(&i915->runtime_pm);
> /* wakeref tracking has significant overhead */
> i915->runtime_pm.no_wakeref_tracking = true;
> @@ -175,21 +194,6 @@ struct drm_i915_private *mock_gem_device(void)
> /* Using the global GTT may ask questions about KMS users, so prepare */
> drm_mode_config_init(&i915->drm);
>
> - RUNTIME_INFO(i915)->graphics.ip.ver = -1;
> -
> - RUNTIME_INFO(i915)->page_sizes =
> - I915_GTT_PAGE_SIZE_4K |
> - I915_GTT_PAGE_SIZE_64K |
> - I915_GTT_PAGE_SIZE_2M;
> -
> - RUNTIME_INFO(i915)->memory_regions = REGION_SMEM;
> -
> - /* simply use legacy cache level for mock device */
> - i915_info = (struct intel_device_info *)INTEL_INFO(i915);
> - i915_info->max_pat_index = 3;
> - for (i = 0; i < I915_MAX_CACHE_LEVEL; i++)
> - i915_info->cachelevel_to_pat[i] = i;
> -
> intel_memory_regions_hw_probe(i915);
>
> spin_lock_init(&i915->gpu_error.lock);
> @@ -223,7 +227,6 @@ struct drm_i915_private *mock_gem_device(void)
> mock_init_ggtt(to_gt(i915));
> to_gt(i915)->vm = i915_vm_get(&to_gt(i915)->ggtt->vm);
>
> - RUNTIME_INFO(i915)->platform_engine_mask = BIT(0);
> to_gt(i915)->info.engine_mask = BIT(0);
>
> to_gt(i915)->engine[RCS0] = mock_engine(i915, "mock", RCS0);
> --
> 2.39.2
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2023-06-29 16:21 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-27 15:13 [Intel-gfx] [PATCH v2 0/6] drm/i915: further device info fixes and cleanups Jani Nikula
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 1/6] drm/i915: use mock device info for creating mock device Jani Nikula
2023-06-29 11:00 ` Tvrtko Ursulin
2023-06-29 11:53 ` Andi Shyti
2023-06-29 12:57 ` Andrzej Hajda
2023-06-29 16:12 ` Yang, Fei
2023-06-27 15:13 ` [Intel-gfx] [PATCH v2 2/6] drm/i915: move platform_engine_mask and memory_regions to device info Jani Nikula
2023-06-29 11:06 ` Tvrtko Ursulin
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 3/6] drm/i915: separate display info printing from the rest Jani Nikula
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 4/6] drm/i915: fix display info usage Jani Nikula
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 5/6] drm/i915: move display device and runtime info to struct intel_display Jani Nikula
2023-06-27 15:14 ` [Intel-gfx] [PATCH v2 6/6] drm/i915: make device info a const pointer to rodata Jani Nikula
2023-06-29 11:10 ` Tvrtko Ursulin
2023-06-29 11:29 ` Jani Nikula
2023-06-29 13:30 ` Jani Nikula
2023-06-27 20:28 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: further device info fixes and cleanups Patchwork
2023-06-27 20:28 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-06-27 20:43 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-06-28 14:05 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.