* [Intel-gfx] [PATCH] drm/i915/mtl: Fix MTL stolen memory GGTT mapping
@ 2023-03-28 1:24 Daniele Ceraolo Spurio
2023-03-28 1:48 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-03-28 1:24 UTC (permalink / raw)
To: intel-gfx; +Cc: Lucas De Marchi, dri-devel, Matt Roper, Nirmoy Das
The PTEs expect the offset from the base of the fake LMEM region (i.e.
the base of stolen) and not from the base of the DSM. Quoting the specs:
"Driver will set the Device Memory bit = 1 in the PTE when pointing to a
page in DSM and program the PTE with offset from LMEM_BAR. Device Memory
Offset from LMEM_BAR is same as offset from BGSM."
DSM starts 8MBs from BGSM, so we set dsm_base = 8MB.
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
Cc: Fei Yang <fei.yang@intel.com>
Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
---
I've omitted the fixes tag from the commit message since MTL is still
under force_probe, so there isn't really any need to propagate the fixes,
but here it is for reference:
Fixes: dbb2ffbfd708 ("drm/i915/mtl: enable local stolen memory")
drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
index d8e06e783e30..8ac376c24aa2 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
@@ -890,8 +890,9 @@ i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type,
if (HAS_LMEMBAR_SMEM_STOLEN(i915)) {
/*
* MTL dsm size is in GGC register.
- * Also MTL uses offset to DSMBASE in ptes, so i915
- * uses dsm_base = 0 to setup stolen region.
+ * Also MTL uses offset to GSMBASE in ptes, so i915
+ * uses dsm_base = 8MBs to setup stolen region, since
+ * DSMBASE = GSMBASE + 8MB.
*/
ret = mtl_get_gms_size(uncore);
if (ret < 0) {
@@ -899,11 +900,11 @@ i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type,
return ERR_PTR(ret);
}
- dsm_base = 0;
+ dsm_base = SZ_8M;
dsm_size = (resource_size_t)(ret * SZ_1M);
GEM_BUG_ON(pci_resource_len(pdev, GEN12_LMEM_BAR) != SZ_256M);
- GEM_BUG_ON((dsm_size + SZ_8M) > lmem_size);
+ GEM_BUG_ON((dsm_base + dsm_size) > lmem_size);
} else {
/* Use DSM base address instead for stolen memory */
dsm_base = intel_uncore_read64(uncore, GEN12_DSMBASE) & GEN12_BDSM_MASK;
@@ -912,14 +913,12 @@ i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type,
dsm_size = ALIGN_DOWN(lmem_size - dsm_base, SZ_1M);
}
- io_size = dsm_size;
- if (HAS_LMEMBAR_SMEM_STOLEN(i915)) {
- io_start = pci_resource_start(pdev, GEN12_LMEM_BAR) + SZ_8M;
- } else if (pci_resource_len(pdev, GEN12_LMEM_BAR) < lmem_size) {
+ if (pci_resource_len(pdev, GEN12_LMEM_BAR) < lmem_size) {
io_start = 0;
io_size = 0;
} else {
io_start = pci_resource_start(pdev, GEN12_LMEM_BAR) + dsm_base;
+ io_size = dsm_size;
}
min_page_size = HAS_64K_PAGES(i915) ? I915_GTT_PAGE_SIZE_64K :
--
2.37.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/mtl: Fix MTL stolen memory GGTT mapping 2023-03-28 1:24 [Intel-gfx] [PATCH] drm/i915/mtl: Fix MTL stolen memory GGTT mapping Daniele Ceraolo Spurio @ 2023-03-28 1:48 ` Patchwork 2023-03-28 1:55 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2023-03-28 1:48 UTC (permalink / raw) To: Daniele Ceraolo Spurio; +Cc: intel-gfx == Series Details == Series: drm/i915/mtl: Fix MTL stolen memory GGTT mapping URL : https://patchwork.freedesktop.org/series/115695/ State : warning == Summary == Error: dim checkpatch failed 290c1809ab31 drm/i915/mtl: Fix MTL stolen memory GGTT mapping -:49: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants #49: FILE: drivers/gpu/drm/i915/gem/i915_gem_stolen.c:907: + GEM_BUG_ON((dsm_base + dsm_size) > lmem_size); total: 0 errors, 1 warnings, 0 checks, 40 lines checked ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/mtl: Fix MTL stolen memory GGTT mapping 2023-03-28 1:24 [Intel-gfx] [PATCH] drm/i915/mtl: Fix MTL stolen memory GGTT mapping Daniele Ceraolo Spurio 2023-03-28 1:48 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork @ 2023-03-28 1:55 ` Patchwork 2023-03-28 9:29 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2023-03-28 1:55 UTC (permalink / raw) To: Daniele Ceraolo Spurio; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 4062 bytes --] == Series Details == Series: drm/i915/mtl: Fix MTL stolen memory GGTT mapping URL : https://patchwork.freedesktop.org/series/115695/ State : success == Summary == CI Bug Log - changes from CI_DRM_12923 -> Patchwork_115695v1 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/index.html Participating hosts (36 -> 36) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in Patchwork_115695v1 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_suspend@basic-s3@lmem0: - bat-dg2-9: [PASS][1] -> [FAIL][2] ([fdo#103375]) +3 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/bat-dg2-9/igt@gem_exec_suspend@basic-s3@lmem0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/bat-dg2-9/igt@gem_exec_suspend@basic-s3@lmem0.html * igt@i915_selftest@live@reset: - bat-rpls-2: [PASS][3] -> [ABORT][4] ([i915#7913]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/bat-rpls-2/igt@i915_selftest@live@reset.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/bat-rpls-2/igt@i915_selftest@live@reset.html - bat-rpls-1: [PASS][5] -> [ABORT][6] ([i915#4983]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/bat-rpls-1/igt@i915_selftest@live@reset.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/bat-rpls-1/igt@i915_selftest@live@reset.html * igt@kms_chamelium_hpd@common-hpd-after-suspend: - bat-dg2-11: NOTRUN -> [SKIP][7] ([i915#7828]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/bat-dg2-11/igt@kms_chamelium_hpd@common-hpd-after-suspend.html * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-3: - bat-dg2-9: [PASS][8] -> [FAIL][9] ([fdo#103375] / [i915#7932]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/bat-dg2-9/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-3.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/bat-dg2-9/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-3.html #### Possible fixes #### * igt@i915_selftest@live@gt_lrc: - bat-dg2-11: [INCOMPLETE][10] ([i915#7609] / [i915#7913]) -> [PASS][11] [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/bat-dg2-11/igt@i915_selftest@live@gt_lrc.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/bat-dg2-11/igt@i915_selftest@live@gt_lrc.html * igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1: - bat-dg2-8: [FAIL][12] ([i915#7932]) -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#7609]: https://gitlab.freedesktop.org/drm/intel/issues/7609 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932 Build changes ------------- * Linux: CI_DRM_12923 -> Patchwork_115695v1 CI-20190529: 20190529 CI_DRM_12923: cdd32ac83137835a85bad4ca4b4751ea90960e72 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7221: 4b77c6d85024d22ca521d510f8eee574128fe04f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_115695v1: cdd32ac83137835a85bad4ca4b4751ea90960e72 @ git://anongit.freedesktop.org/gfx-ci/linux ### Linux commits ba2b456d59a7 drm/i915/mtl: Fix MTL stolen memory GGTT mapping == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/index.html [-- Attachment #2: Type: text/html, Size: 5027 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/mtl: Fix MTL stolen memory GGTT mapping 2023-03-28 1:24 [Intel-gfx] [PATCH] drm/i915/mtl: Fix MTL stolen memory GGTT mapping Daniele Ceraolo Spurio 2023-03-28 1:48 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork 2023-03-28 1:55 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2023-03-28 9:29 ` Patchwork 2023-03-28 10:07 ` [Intel-gfx] [PATCH] " Andi Shyti 2023-03-28 12:05 ` Das, Nirmoy 4 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2023-03-28 9:29 UTC (permalink / raw) To: Daniele Ceraolo Spurio; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 11559 bytes --] == Series Details == Series: drm/i915/mtl: Fix MTL stolen memory GGTT mapping URL : https://patchwork.freedesktop.org/series/115695/ State : success == Summary == CI Bug Log - changes from CI_DRM_12923_full -> Patchwork_115695v1_full ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (7 -> 7) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_115695v1_full: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1: - {shard-tglu}: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/shard-tglu-10/igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/shard-tglu-7/igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1.html Known issues ------------ Here are the changes found in Patchwork_115695v1_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-apl: [PASS][3] -> [FAIL][4] ([i915#2346]) +1 similar issue [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/shard-apl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/shard-apl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1: - shard-glk: [PASS][5] -> [FAIL][6] ([i915#2122]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/shard-glk4/igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/shard-glk8/igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu: - shard-snb: NOTRUN -> [SKIP][7] ([fdo#109271]) +62 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/shard-snb2/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu.html #### Possible fixes #### * igt@gem_exec_fair@basic-deadline: - shard-glk: [FAIL][8] ([i915#2846]) -> [PASS][9] [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/shard-glk6/igt@gem_exec_fair@basic-deadline.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/shard-glk2/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-pace-share@rcs0: - {shard-tglu}: [FAIL][10] ([i915#2842]) -> [PASS][11] [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/shard-tglu-7/igt@gem_exec_fair@basic-pace-share@rcs0.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/shard-tglu-2/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fair@basic-pace-solo@rcs0: - shard-apl: [FAIL][12] ([i915#2842]) -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/shard-apl4/igt@gem_exec_fair@basic-pace-solo@rcs0.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/shard-apl4/igt@gem_exec_fair@basic-pace-solo@rcs0.html * igt@i915_pm_rps@reset: - shard-snb: [INCOMPLETE][14] ([i915#7790]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/shard-snb4/igt@i915_pm_rps@reset.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/shard-snb2/igt@i915_pm_rps@reset.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-glk: [FAIL][16] ([i915#2346]) -> [PASS][17] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@forked-move@pipe-b: - {shard-dg1}: [INCOMPLETE][18] ([i915#8011]) -> [PASS][19] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/shard-dg1-14/igt@kms_cursor_legacy@forked-move@pipe-b.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/shard-dg1-15/igt@kms_cursor_legacy@forked-move@pipe-b.html * igt@sysfs_timeslice_duration@timeout@bcs0: - {shard-dg1}: [FAIL][20] ([i915#1755]) -> [PASS][21] [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12923/shard-dg1-15/igt@sysfs_timeslice_duration@timeout@bcs0.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_115695v1/shard-dg1-17/igt@sysfs_timeslice_duration@timeout@bcs0.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 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303 [fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307 [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [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#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3938]: https://gitlab.freedesktop.org/drm/intel/issues/3938 [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952 [i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433 [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579 [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4818]: https://gitlab.freedesktop.org/drm/intel/issues/4818 [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880 [i915#4936]: https://gitlab.freedesktop.org/drm/intel/issues/4936 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289 [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325 [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461 [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563 [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227 [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230 [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301 [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7790]: https://gitlab.freedesktop.org/drm/intel/issues/7790 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011 [i915#8150]: https://gitlab.freedesktop.org/drm/intel/issues/8150 [i915#8229]: https://gitlab.freedesktop.org/drm/intel/issues/8229 [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292 Build changes ------------- * Linux: CI_DRM_12923 -> Patchwork_115695v1 CI-20190529: 20190529 CI_DRM_12923: cdd32ac83137835a85bad4ca4b4751ea90960e72 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7221: 4b77c6d85024d22ca521d510f8eee574128fe04f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_115695v1: cdd32ac83137835a85bad4ca4b4751ea90960e72 @ 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_115695v1/index.html [-- Attachment #2: Type: text/html, Size: 7274 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/mtl: Fix MTL stolen memory GGTT mapping 2023-03-28 1:24 [Intel-gfx] [PATCH] drm/i915/mtl: Fix MTL stolen memory GGTT mapping Daniele Ceraolo Spurio ` (2 preceding siblings ...) 2023-03-28 9:29 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork @ 2023-03-28 10:07 ` Andi Shyti 2023-03-28 12:05 ` Das, Nirmoy 4 siblings, 0 replies; 6+ messages in thread From: Andi Shyti @ 2023-03-28 10:07 UTC (permalink / raw) To: Daniele Ceraolo Spurio Cc: Matt Roper, intel-gfx, Lucas De Marchi, dri-devel, Nirmoy Das Hi Daniele, On Mon, Mar 27, 2023 at 06:24:30PM -0700, Daniele Ceraolo Spurio wrote: > The PTEs expect the offset from the base of the fake LMEM region (i.e. > the base of stolen) and not from the base of the DSM. Quoting the specs: > "Driver will set the Device Memory bit = 1 in the PTE when pointing to a > page in DSM and program the PTE with offset from LMEM_BAR. Device Memory > Offset from LMEM_BAR is same as offset from BGSM." > > DSM starts 8MBs from BGSM, so we set dsm_base = 8MB. > > Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> > Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com> > Cc: Matt Roper <matthew.d.roper@intel.com> > Cc: Lucas De Marchi <lucas.demarchi@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Nirmoy Das <nirmoy.das@intel.com> > Cc: Fei Yang <fei.yang@intel.com> > Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Andi ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/mtl: Fix MTL stolen memory GGTT mapping 2023-03-28 1:24 [Intel-gfx] [PATCH] drm/i915/mtl: Fix MTL stolen memory GGTT mapping Daniele Ceraolo Spurio ` (3 preceding siblings ...) 2023-03-28 10:07 ` [Intel-gfx] [PATCH] " Andi Shyti @ 2023-03-28 12:05 ` Das, Nirmoy 4 siblings, 0 replies; 6+ messages in thread From: Das, Nirmoy @ 2023-03-28 12:05 UTC (permalink / raw) To: Daniele Ceraolo Spurio, intel-gfx Cc: Matt Roper, Lucas De Marchi, dri-devel, Nirmoy Das On 3/28/2023 3:24 AM, Daniele Ceraolo Spurio wrote: > The PTEs expect the offset from the base of the fake LMEM region (i.e. > the base of stolen) and not from the base of the DSM. Quoting the specs: > "Driver will set the Device Memory bit = 1 in the PTE when pointing to a > page in DSM and program the PTE with offset from LMEM_BAR. Device Memory > Offset from LMEM_BAR is same as offset from BGSM." > > DSM starts 8MBs from BGSM, so we set dsm_base = 8MB. > > Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> > Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com> > Cc: Matt Roper <matthew.d.roper@intel.com> > Cc: Lucas De Marchi <lucas.demarchi@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Nirmoy Das <nirmoy.das@intel.com> > Cc: Fei Yang <fei.yang@intel.com> > Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com> Reviewed-by: Nirmoy Das <nirmoy.das@intel.com> > --- > > I've omitted the fixes tag from the commit message since MTL is still > under force_probe, so there isn't really any need to propagate the fixes, > but here it is for reference: > > Fixes: dbb2ffbfd708 ("drm/i915/mtl: enable local stolen memory") > > drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c > index d8e06e783e30..8ac376c24aa2 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c > @@ -890,8 +890,9 @@ i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type, > if (HAS_LMEMBAR_SMEM_STOLEN(i915)) { > /* > * MTL dsm size is in GGC register. > - * Also MTL uses offset to DSMBASE in ptes, so i915 > - * uses dsm_base = 0 to setup stolen region. > + * Also MTL uses offset to GSMBASE in ptes, so i915 > + * uses dsm_base = 8MBs to setup stolen region, since > + * DSMBASE = GSMBASE + 8MB. > */ > ret = mtl_get_gms_size(uncore); > if (ret < 0) { > @@ -899,11 +900,11 @@ i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type, > return ERR_PTR(ret); > } > > - dsm_base = 0; > + dsm_base = SZ_8M; > dsm_size = (resource_size_t)(ret * SZ_1M); > > GEM_BUG_ON(pci_resource_len(pdev, GEN12_LMEM_BAR) != SZ_256M); > - GEM_BUG_ON((dsm_size + SZ_8M) > lmem_size); > + GEM_BUG_ON((dsm_base + dsm_size) > lmem_size); > } else { > /* Use DSM base address instead for stolen memory */ > dsm_base = intel_uncore_read64(uncore, GEN12_DSMBASE) & GEN12_BDSM_MASK; > @@ -912,14 +913,12 @@ i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type, > dsm_size = ALIGN_DOWN(lmem_size - dsm_base, SZ_1M); > } > > - io_size = dsm_size; > - if (HAS_LMEMBAR_SMEM_STOLEN(i915)) { > - io_start = pci_resource_start(pdev, GEN12_LMEM_BAR) + SZ_8M; > - } else if (pci_resource_len(pdev, GEN12_LMEM_BAR) < lmem_size) { > + if (pci_resource_len(pdev, GEN12_LMEM_BAR) < lmem_size) { > io_start = 0; > io_size = 0; > } else { > io_start = pci_resource_start(pdev, GEN12_LMEM_BAR) + dsm_base; > + io_size = dsm_size; > } > > min_page_size = HAS_64K_PAGES(i915) ? I915_GTT_PAGE_SIZE_64K : ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-03-28 12:05 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-03-28 1:24 [Intel-gfx] [PATCH] drm/i915/mtl: Fix MTL stolen memory GGTT mapping Daniele Ceraolo Spurio 2023-03-28 1:48 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork 2023-03-28 1:55 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2023-03-28 9:29 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2023-03-28 10:07 ` [Intel-gfx] [PATCH] " Andi Shyti 2023-03-28 12:05 ` Das, Nirmoy
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox