✓ Fi.CI.BAT: success for Extend Wa14019159160 and enable for ARL and DG2
== Series Details == Series: Extend Wa14019159160 and enable for ARL and DG2 URL : https://patchwork.freedesktop.org/series/135208/ State : success == Summary == CI Bug Log - changes from CI_DRM_14987 -> Patchwork_135208v1 Summary --- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/index.html Participating hosts (42 -> 40) -- Additional (1): bat-arls-1 Missing(3): fi-kbl-8809g fi-snb-2520m fi-bsw-n3050 Possible new issues --- Here are the unknown changes that may have been introduced in Patchwork_135208v1: ### IGT changes ### Suppressed The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-dp-8: - {bat-mtlp-9}: NOTRUN -> [FAIL][1] +1 other test fail [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-mtlp-9/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-n...@pipe-c-dp-8.html Known issues Here are the changes found in Patchwork_135208v1 that come from known issues: ### IGT changes ### Issues hit * igt@debugfs_test@basic-hwmon: - bat-arls-1: NOTRUN -> [SKIP][2] ([i915#9318]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@debugfs_t...@basic-hwmon.html * igt@gem_lmem_swapping@basic: - bat-arls-1: NOTRUN -> [SKIP][3] ([i915#10213]) +3 other tests skip [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@gem_lmem_swapp...@basic.html * igt@gem_mmap@basic: - bat-arls-1: NOTRUN -> [SKIP][4] ([i915#11343] / [i915#4083]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@gem_m...@basic.html * igt@gem_render_tiled_blits@basic: - bat-arls-1: NOTRUN -> [SKIP][5] ([i915#10197] / [i915#10211] / [i915#4079]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@gem_render_tiled_bl...@basic.html * igt@gem_tiled_blits@basic: - bat-arls-1: NOTRUN -> [SKIP][6] ([i915#10196] / [i915#4077]) +2 other tests skip [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@gem_tiled_bl...@basic.html * igt@gem_tiled_pread_basic: - bat-arls-1: NOTRUN -> [SKIP][7] ([i915#10206] / [i915#4079]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@gem_tiled_pread_basic.html * igt@i915_pm_rps@basic-api: - bat-arls-1: NOTRUN -> [SKIP][8] ([i915#10209]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@i915_pm_...@basic-api.html * igt@kms_addfb_basic@basic-y-tiled-legacy: - bat-arls-1: NOTRUN -> [SKIP][9] ([i915#10200]) +9 other tests skip [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@kms_addfb_ba...@basic-y-tiled-legacy.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - bat-arls-1: NOTRUN -> [SKIP][10] ([i915#10202] / [i915#11346]) +1 other test skip [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@kms_cursor_leg...@basic-busy-flip-before-cursor-legacy.html * igt@kms_dsc@dsc-basic: - bat-arls-1: NOTRUN -> [SKIP][11] ([i915#11346] / [i915#9886]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@kms_...@dsc-basic.html * igt@kms_force_connector_basic@force-load-detect: - bat-arls-1: NOTRUN -> [SKIP][12] ([i915#10207] / [i915#11346]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@kms_force_connector_ba...@force-load-detect.html * igt@kms_pipe_crc_basic@hang-read-crc@pipe-c-dp-1: - bat-dg2-8: [PASS][13] -> [FAIL][14] ([i915#11359]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14987/bat-dg2-8/igt@kms_pipe_crc_basic@hang-read-...@pipe-c-dp-1.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-dg2-8/igt@kms_pipe_crc_basic@hang-read-...@pipe-c-dp-1.html * igt@kms_pm_backlight@basic-brightness: - bat-arls-1: NOTRUN -> [SKIP][15] ([i915#11346] / [i915#9812]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@kms_pm_backli...@basic-brightness.html * igt@kms_psr@psr-primary-mmap-gtt: - bat-arls-1: NOTRUN -> [SKIP][16] ([i915#11346] / [i915#9732]) +3 other tests skip [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135208v1/bat-arls-1/igt@kms_...@psr-primary-mmap-gtt.html * igt@kms_psr@psr-primary-page-flip@edp-1: - bat-jsl-3: [PASS][17] -> [SKIP][18] ([i915#9688]) +3 other tests skip [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14987/bat-jsl-3/igt@kms_psr@psr-prim
✗ Fi.CI.SPARSE: warning for Extend Wa14019159160 and enable for ARL and DG2
== Series Details == Series: Extend Wa14019159160 and enable for ARL and DG2 URL : https://patchwork.freedesktop.org/series/135208/ State : warning == Summary == Error: dim sparse failed Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately.
✓ Fi.CI.BAT: success for Extend Wa14019159160 and enable for ARL
== Series Details == Series: Extend Wa14019159160 and enable for ARL URL : https://patchwork.freedesktop.org/series/135205/ State : success == Summary == CI Bug Log - changes from CI_DRM_14987 -> Patchwork_135205v1 Summary --- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/index.html Participating hosts (42 -> 42) -- Additional (3): bat-kbl-2 bat-arls-1 bat-mtlp-6 Missing(3): bat-mtlp-8 fi-snb-2520m fi-bsw-n3050 Known issues Here are the changes found in Patchwork_135205v1 that come from known issues: ### IGT changes ### Issues hit * igt@debugfs_test@basic-hwmon: - bat-arls-1: NOTRUN -> [SKIP][1] ([i915#9318]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-arls-1/igt@debugfs_t...@basic-hwmon.html - bat-mtlp-6: NOTRUN -> [SKIP][2] ([i915#9318]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-mtlp-6/igt@debugfs_t...@basic-hwmon.html * igt@fbdev@info: - bat-kbl-2: NOTRUN -> [SKIP][3] ([i915#1849]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-kbl-2/igt@fb...@info.html - bat-mtlp-6: NOTRUN -> [SKIP][4] ([i915#1849] / [i915#2582]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-mtlp-6/igt@fb...@info.html * igt@fbdev@write: - bat-mtlp-6: NOTRUN -> [SKIP][5] ([i915#2582]) +3 other tests skip [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-mtlp-6/igt@fb...@write.html * igt@gem_lmem_swapping@basic: - bat-arls-1: NOTRUN -> [SKIP][6] ([i915#10213]) +3 other tests skip [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-arls-1/igt@gem_lmem_swapp...@basic.html * igt@gem_lmem_swapping@parallel-random-engines: - bat-kbl-2: NOTRUN -> [SKIP][7] +39 other tests skip [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-kbl-2/igt@gem_lmem_swapp...@parallel-random-engines.html * igt@gem_lmem_swapping@verify-random: - bat-mtlp-6: NOTRUN -> [SKIP][8] ([i915#4613]) +3 other tests skip [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-mtlp-6/igt@gem_lmem_swapp...@verify-random.html * igt@gem_mmap@basic: - bat-arls-1: NOTRUN -> [SKIP][9] ([i915#11343] / [i915#4083]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-arls-1/igt@gem_m...@basic.html - bat-mtlp-6: NOTRUN -> [SKIP][10] ([i915#4083]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-mtlp-6/igt@gem_m...@basic.html * igt@gem_render_tiled_blits@basic: - bat-arls-1: NOTRUN -> [SKIP][11] ([i915#10197] / [i915#10211] / [i915#4079]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-arls-1/igt@gem_render_tiled_bl...@basic.html * igt@gem_tiled_blits@basic: - bat-arls-1: NOTRUN -> [SKIP][12] ([i915#10196] / [i915#4077]) +2 other tests skip [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-arls-1/igt@gem_tiled_bl...@basic.html - bat-mtlp-6: NOTRUN -> [SKIP][13] ([i915#4077]) +2 other tests skip [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-mtlp-6/igt@gem_tiled_bl...@basic.html * igt@gem_tiled_pread_basic: - bat-mtlp-6: NOTRUN -> [SKIP][14] ([i915#4079]) +1 other test skip [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-mtlp-6/igt@gem_tiled_pread_basic.html - bat-arls-1: NOTRUN -> [SKIP][15] ([i915#10206] / [i915#4079]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-arls-1/igt@gem_tiled_pread_basic.html * igt@i915_pm_rps@basic-api: - bat-arls-1: NOTRUN -> [SKIP][16] ([i915#10209]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-arls-1/igt@i915_pm_...@basic-api.html - bat-mtlp-6: NOTRUN -> [SKIP][17] ([i915#6621]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-mtlp-6/igt@i915_pm_...@basic-api.html * igt@kms_addfb_basic@addfb25-x-tiled-legacy: - bat-mtlp-6: NOTRUN -> [SKIP][18] ([i915#4212] / [i915#9792]) +8 other tests skip [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-mtlp-6/igt@kms_addfb_ba...@addfb25-x-tiled-legacy.html * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy: - bat-mtlp-6: NOTRUN -> [SKIP][19] ([i915#5190] / [i915#9792]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-mtlp-6/igt@kms_addfb_ba...@addfb25-y-tiled-small-legacy.html * igt@kms_addfb_basic@basic-y-tiled-legacy: - bat-arls-1: NOTRUN -> [SKIP][20] ([i915#10200]) +9 other tests skip [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135205v1/bat-arls-1/igt
✗ Fi.CI.SPARSE: warning for Extend Wa14019159160 and enable for ARL
== Series Details == Series: Extend Wa14019159160 and enable for ARL URL : https://patchwork.freedesktop.org/series/135205/ State : warning == Summary == Error: dim sparse failed Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately.
[PATCH 0/3] [CI] Extend Wa14019159160 and enable for ARL and DG2
From: John Harrison The context switch out workaround requires an extra piece on top. Also, it applies to more platforms. Signed-off-by: John Harrison John Harrison (3): drm/i915/arl: Enable Wa_14019159160 for ARL drm/i915/guc: Extend w/a 14019159160 drm/i915/dg2: Enable Wa_14019159160 for DG2 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h | 1 + drivers/gpu/drm/i915/gt/uc/intel_guc.c| 3 ++- drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c| 19 ++- 3 files changed, 13 insertions(+), 10 deletions(-) -- 2.43.2
[PATCH 3/3] drm/i915/dg2: Enable Wa_14019159160 for DG2
From: John Harrison The context switch hold out workaround also applies to DG2. Signed-off-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_guc.c | 3 ++- drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc.c index 097fc6bd1285e..2a27bc625abe1 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c @@ -296,7 +296,8 @@ static u32 guc_ctl_wa_flags(struct intel_guc *guc) /* Wa_16019325821 */ /* Wa_14019159160 */ - if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74))) + if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74)) || + IS_DG2(gt->i915)) flags |= GUC_WA_RCS_CCS_SWITCHOUT; /* diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c index 46fabbfc775e0..2378e3c59def9 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c @@ -849,7 +849,8 @@ static void guc_waklv_init(struct intel_guc *guc) remain = guc_ads_waklv_size(guc); /* Wa_14019159160 */ - if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74))) { + if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74)) || + IS_DG2(gt->i915)) { guc_waklv_enable_simple(guc, &offset, &remain, GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE); guc_waklv_enable_simple(guc, &offset, &remain, -- 2.43.2
[PATCH 1/3] drm/i915/arl: Enable Wa_14019159160 for ARL
From: John Harrison The context switch out workaround also applies to ARL. Signed-off-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_guc.c | 2 +- drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc.c index 5e60a34692af8..097fc6bd1285e 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c @@ -296,7 +296,7 @@ static u32 guc_ctl_wa_flags(struct intel_guc *guc) /* Wa_16019325821 */ /* Wa_14019159160 */ - if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 71))) + if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74))) flags |= GUC_WA_RCS_CCS_SWITCHOUT; /* diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c index 7995f059f30df..f1fe5f9054538 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c @@ -850,7 +850,7 @@ static void guc_waklv_init(struct intel_guc *guc) remain = guc_ads_waklv_size(guc); /* Wa_14019159160 */ - if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 71))) + if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74))) guc_waklv_enable_simple(guc, GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE, &offset, &remain); -- 2.43.2
[PATCH 2/3] drm/i915/guc: Extend w/a 14019159160
From: John Harrison There is a new part to an existing workaround, so enable that piece as well. v2: Extend even further. v3: Drop DG2 as there are CI failures still to resolve. Also re-order the parameters to a function to reduce excessive line wrapping. Signed-off-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h | 1 + drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c| 18 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h b/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h index 37ff539a6963d..0c709e6c15be7 100644 --- a/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h +++ b/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h @@ -107,6 +107,7 @@ enum { enum { GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE = 0x9001, GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED = 0x9002, + GUC_WORKAROUND_KLV_AVOID_GFX_CLEAR_WHILE_ACTIVE = 0x9006, }; #endif /* _ABI_GUC_KLVS_ABI_H */ diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c index f1fe5f9054538..46fabbfc775e0 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c @@ -815,8 +815,7 @@ guc_capture_prep_lists(struct intel_guc *guc) return PAGE_ALIGN(total_size); } -static void guc_waklv_enable_simple(struct intel_guc *guc, - u32 klv_id, u32 *offset, u32 *remain) +static void guc_waklv_enable_simple(struct intel_guc *guc, u32 *offset, u32 *remain, u32 klv_id) { u32 size; u32 klv_entry[] = { @@ -850,19 +849,20 @@ static void guc_waklv_init(struct intel_guc *guc) remain = guc_ads_waklv_size(guc); /* Wa_14019159160 */ - if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74))) - guc_waklv_enable_simple(guc, - GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE, - &offset, &remain); + if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74))) { + guc_waklv_enable_simple(guc, &offset, &remain, + GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE); + guc_waklv_enable_simple(guc, &offset, &remain, + GUC_WORKAROUND_KLV_AVOID_GFX_CLEAR_WHILE_ACTIVE); + } /* Wa_16021333562 */ if ((GUC_FIRMWARE_VER(guc) >= MAKE_GUC_VER(70, 21, 1)) && (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74)) || IS_MEDIA_GT_IP_RANGE(gt, IP_VER(13, 0), IP_VER(13, 0)) || IS_DG2(gt->i915))) - guc_waklv_enable_simple(guc, - GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED, - &offset, &remain); + guc_waklv_enable_simple(guc, &offset, &remain, + GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED); size = guc_ads_waklv_size(guc) - remain; if (!size) -- 2.43.2
[PATCH 2/2] drm/i915/guc: Extend w/a 14019159160
From: John Harrison There is a new part to an existing workaround, so enable that piece as well. v2: Extend even further. v3: Drop DG2 as there are CI failures still to resolve. Also re-order the parameters to a function to reduce excessive line wrapping. Signed-off-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h | 1 + drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c| 18 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h b/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h index 37ff539a6963d..0c709e6c15be7 100644 --- a/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h +++ b/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h @@ -107,6 +107,7 @@ enum { enum { GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE = 0x9001, GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED = 0x9002, + GUC_WORKAROUND_KLV_AVOID_GFX_CLEAR_WHILE_ACTIVE = 0x9006, }; #endif /* _ABI_GUC_KLVS_ABI_H */ diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c index f1fe5f9054538..46fabbfc775e0 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c @@ -815,8 +815,7 @@ guc_capture_prep_lists(struct intel_guc *guc) return PAGE_ALIGN(total_size); } -static void guc_waklv_enable_simple(struct intel_guc *guc, - u32 klv_id, u32 *offset, u32 *remain) +static void guc_waklv_enable_simple(struct intel_guc *guc, u32 *offset, u32 *remain, u32 klv_id) { u32 size; u32 klv_entry[] = { @@ -850,19 +849,20 @@ static void guc_waklv_init(struct intel_guc *guc) remain = guc_ads_waklv_size(guc); /* Wa_14019159160 */ - if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74))) - guc_waklv_enable_simple(guc, - GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE, - &offset, &remain); + if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74))) { + guc_waklv_enable_simple(guc, &offset, &remain, + GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE); + guc_waklv_enable_simple(guc, &offset, &remain, + GUC_WORKAROUND_KLV_AVOID_GFX_CLEAR_WHILE_ACTIVE); + } /* Wa_16021333562 */ if ((GUC_FIRMWARE_VER(guc) >= MAKE_GUC_VER(70, 21, 1)) && (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74)) || IS_MEDIA_GT_IP_RANGE(gt, IP_VER(13, 0), IP_VER(13, 0)) || IS_DG2(gt->i915))) - guc_waklv_enable_simple(guc, - GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED, - &offset, &remain); + guc_waklv_enable_simple(guc, &offset, &remain, + GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED); size = guc_ads_waklv_size(guc) - remain; if (!size) -- 2.43.2
[PATCH 0/2] Extend Wa14019159160 and enable for ARL
From: John Harrison The context switch out workaround requires an extra piece on top. Also, it applies to more platforms. Signed-off-by: John Harrison John Harrison (2): drm/i915/arl: Enable Wa_14019159160 for ARL drm/i915/guc: Extend w/a 14019159160 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h | 1 + drivers/gpu/drm/i915/gt/uc/intel_guc.c| 2 +- drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c| 18 +- 3 files changed, 11 insertions(+), 10 deletions(-) -- 2.43.2
[PATCH 1/2] drm/i915/arl: Enable Wa_14019159160 for ARL
From: John Harrison The context switch out workaround also applies to ARL. Signed-off-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_guc.c | 2 +- drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc.c index 5e60a34692af8..097fc6bd1285e 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c @@ -296,7 +296,7 @@ static u32 guc_ctl_wa_flags(struct intel_guc *guc) /* Wa_16019325821 */ /* Wa_14019159160 */ - if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 71))) + if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74))) flags |= GUC_WA_RCS_CCS_SWITCHOUT; /* diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c index 7995f059f30df..f1fe5f9054538 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c @@ -850,7 +850,7 @@ static void guc_waklv_init(struct intel_guc *guc) remain = guc_ads_waklv_size(guc); /* Wa_14019159160 */ - if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 71))) + if (IS_GFX_GT_IP_RANGE(gt, IP_VER(12, 70), IP_VER(12, 74))) guc_waklv_enable_simple(guc, GUC_WORKAROUND_KLV_SERIALIZED_RA_MODE, &offset, &remain); -- 2.43.2
[PATCH i-g-t] test/xe_gt_freq: Add helper to read RPe freq
We are seeing a possible switch in RPe right after RC6 wakeup. Ensure we obtain the latest RPe by reading it every time. Fixes: adcc68266b8e ("tests/intel/xe_gt_freq: Check for RPe freq updates") Signed-off-by: Vinay Belgaumkar --- tests/intel/xe_gt_freq.c | 43 ++-- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/tests/intel/xe_gt_freq.c b/tests/intel/xe_gt_freq.c index d2e4d1a09..65ec3b0c4 100644 --- a/tests/intel/xe_gt_freq.c +++ b/tests/intel/xe_gt_freq.c @@ -70,6 +70,11 @@ static uint32_t get_freq(int fd, int gt_id, const char *freq_name) return freq; } +static uint32_t rpe(int fd, int gt_id) +{ + return get_freq(fd, gt_id, "rpe"); +} + static uint32_t get_throttle(int fd, int gt_id, const char *throttle_file) { uint32_t val; @@ -122,7 +127,6 @@ static void test_throttle_basic_api(int fd, int gt_id) static void test_freq_basic_api(int fd, int gt_id) { uint32_t rpn = get_freq(fd, gt_id, "rpn"); - uint32_t rpe = get_freq(fd, gt_id, "rpe"); uint32_t rp0 = get_freq(fd, gt_id, "rp0"); /* @@ -138,16 +142,16 @@ static void test_freq_basic_api(int fd, int gt_id) /* Assert min requests are respected from rp0 to rpn */ igt_assert(set_freq(fd, gt_id, "min", rp0) > 0); igt_assert(get_freq(fd, gt_id, "min") == rp0); - igt_assert(set_freq(fd, gt_id, "min", rpe) > 0); - igt_assert(get_freq(fd, gt_id, "min") == rpe); + igt_assert(set_freq(fd, gt_id, "min", rpe(fd, gt_id)) > 0); + igt_assert(get_freq(fd, gt_id, "min") == rpe(fd, gt_id)); igt_assert(set_freq(fd, gt_id, "min", rpn) > 0); igt_assert(get_freq(fd, gt_id, "min") == rpn); /* Assert max requests are respected from rpn to rp0 */ igt_assert(set_freq(fd, gt_id, "max", rpn) > 0); igt_assert(get_freq(fd, gt_id, "max") == rpn); - igt_assert(set_freq(fd, gt_id, "max", rpe) > 0); - igt_assert(get_freq(fd, gt_id, "max") == rpe); + igt_assert(set_freq(fd, gt_id, "max", rpe(fd, gt_id)) > 0); + igt_assert(get_freq(fd, gt_id, "max") == rpe(fd, gt_id)); igt_assert(set_freq(fd, gt_id, "max", rp0) > 0); igt_assert(get_freq(fd, gt_id, "max") == rp0); } @@ -163,7 +167,6 @@ static void test_freq_basic_api(int fd, int gt_id) static void test_freq_fixed(int fd, int gt_id, bool gt_idle) { uint32_t rpn = get_freq(fd, gt_id, "rpn"); - uint32_t rpe = get_freq(fd, gt_id, "rpe"); uint32_t rp0 = get_freq(fd, gt_id, "rp0"); igt_debug("Starting testing fixed request\n"); @@ -187,20 +190,17 @@ static void test_freq_fixed(int fd, int gt_id, bool gt_idle) igt_assert(get_freq(fd, gt_id, "act") == rpn); } - /* Refresh value of rpe, pcode could have adjusted it */ - rpe = get_freq(fd, gt_id, "rpe"); - - igt_assert(set_freq(fd, gt_id, "min", rpe) > 0); - igt_assert(set_freq(fd, gt_id, "max", rpe) > 0); + igt_assert(set_freq(fd, gt_id, "min", rpe(fd, gt_id)) > 0); + igt_assert(set_freq(fd, gt_id, "max", rpe(fd, gt_id)) > 0); usleep(ACT_FREQ_LATENCY_US); - igt_assert(get_freq(fd, gt_id, "cur") == rpe); + igt_assert(get_freq(fd, gt_id, "cur") == rpe(fd, gt_id)); if (gt_idle) { igt_assert_f(igt_wait(xe_is_gt_in_c6(fd, gt_id), 1000, 10), "GT %d should be in C6\n", gt_id); igt_assert(get_freq(fd, gt_id, "act") == 0); } else { - igt_assert(get_freq(fd, gt_id, "act") == rpe); + igt_assert(get_freq(fd, gt_id, "act") == rpe(fd, gt_id)); } igt_assert(set_freq(fd, gt_id, "min", rp0) > 0); @@ -232,16 +232,15 @@ static void test_freq_fixed(int fd, int gt_id, bool gt_idle) static void test_freq_range(int fd, int gt_id, bool gt_idle) { uint32_t rpn = get_freq(fd, gt_id, "rpn"); - uint32_t rpe = get_freq(fd, gt_id, "rpe"); uint32_t cur, act; igt_debug("Starting testing range request\n"); igt_assert(set_freq(fd, gt_id, "min", rpn) > 0); - igt_assert(set_freq(fd, gt_id, "max", rpe) > 0); + igt_assert(set_freq(fd, gt_id, "max", rpe(fd, gt_id)) > 0); usleep(ACT_FREQ_LATENCY_US); cur = get_freq(fd, gt_id, "cur"); - igt_assert(rpn <= cur && cur <= rpe); + igt_assert(rpn <= cur && cur <= rpe(fd, gt_id)); if (gt_idle) { igt_assert_f(igt_wait(xe_is_gt_in_c6(fd, gt_id), 1000, 10), @@ -249,7 +248,7 @@ static void test_freq_range(int fd, int gt_id, bool gt_idle) igt_assert(get_freq(fd, gt_id, "act") == 0); } else { act = get_freq(fd, gt_id, "act"); - igt_assert(rpn <= act && act <= rpe); + igt_assert(rpn <= act && act <= rpe(fd, gt_id)); } igt_debug("Finished testing range request\n"); @@ -263,23 +262,19 @@ static void test_freq_range(int fd, int gt_
Re: [PATCH] drm/i915/display: Consider adjusted_pixel_rate to be u64
On Fri, Jun 21, 2024 at 01:04:54PM +0530, Mitul Golani wrote: > Consider adjusted_pixel_rate to be a u64 to match the return > type of mul_u32_u32() and avoid any compiler dependency for > do_div. Reviewed-by: Rodrigo Vivi > > Fixes: 1676ecd303ac ("drm/i915: Compute CMRR and calculate vtotal") > Cc: Mitul Golani > Cc: Ankit Nautiyal > Cc: Suraj Kandpal > Cc: Jani Nikula > Cc: Rodrigo Vivi > Cc: Nathan Chancellor > Cc: intel...@lists.freedesktop.org > Signed-off-by: Mitul Golani > --- > drivers/gpu/drm/i915/display/intel_vrr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c > b/drivers/gpu/drm/i915/display/intel_vrr.c > index 6430da25957d..5a0da64c7db3 100644 > --- a/drivers/gpu/drm/i915/display/intel_vrr.c > +++ b/drivers/gpu/drm/i915/display/intel_vrr.c > @@ -137,7 +137,7 @@ static unsigned int > cmrr_get_vtotal(struct intel_crtc_state *crtc_state, bool > video_mode_required) > { > int multiplier_m = 1, multiplier_n = 1, vtotal, desired_refresh_rate; > - long long adjusted_pixel_rate; > + u64 adjusted_pixel_rate; > struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode; > > desired_refresh_rate = drm_mode_vrefresh(adjusted_mode); > -- > 2.45.2 >
✓ Fi.CI.BAT: success for drm/i915/display: Consider adjusted_pixel_rate to be u64
== Series Details == Series: drm/i915/display: Consider adjusted_pixel_rate to be u64 URL : https://patchwork.freedesktop.org/series/135163/ State : success == Summary == CI Bug Log - changes from CI_DRM_14985 -> Patchwork_135163v1 Summary --- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135163v1/index.html Participating hosts (42 -> 38) -- Additional (2): fi-kbl-8809g fi-bsw-n3050 Missing(6): fi-snb-2520m fi-glk-j4005 fi-cfl-8109u fi-elk-e7500 bat-mtlp-8 bat-mtlp-6 Known issues Here are the changes found in Patchwork_135163v1 that come from known issues: ### IGT changes ### Issues hit * igt@gem_huc_copy@huc-copy: - fi-kbl-8809g: NOTRUN -> [SKIP][1] ([i915#2190]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135163v1/fi-kbl-8809g/igt@gem_huc_c...@huc-copy.html * igt@gem_lmem_swapping@basic: - fi-kbl-8809g: NOTRUN -> [SKIP][2] ([i915#4613]) +3 other tests skip [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135163v1/fi-kbl-8809g/igt@gem_lmem_swapp...@basic.html * igt@gem_lmem_swapping@random-engines: - fi-bsw-n3050: NOTRUN -> [SKIP][3] +19 other tests skip [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135163v1/fi-bsw-n3050/igt@gem_lmem_swapp...@random-engines.html * igt@kms_force_connector_basic@force-load-detect: - fi-kbl-8809g: NOTRUN -> [SKIP][4] +30 other tests skip [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135163v1/fi-kbl-8809g/igt@kms_force_connector_ba...@force-load-detect.html * igt@kms_pipe_crc_basic@hang-read-crc@pipe-b-dp-1: - bat-dg2-8: [PASS][5] -> [FAIL][6] ([i915#11379]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14985/bat-dg2-8/igt@kms_pipe_crc_basic@hang-read-...@pipe-b-dp-1.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135163v1/bat-dg2-8/igt@kms_pipe_crc_basic@hang-read-...@pipe-b-dp-1.html Possible fixes * igt@kms_pipe_crc_basic@hang-read-crc@pipe-c-dp-6: - {bat-mtlp-9}: [FAIL][7] ([i915#10979]) -> [PASS][8] +2 other tests pass [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14985/bat-mtlp-9/igt@kms_pipe_crc_basic@hang-read-...@pipe-c-dp-6.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135163v1/bat-mtlp-9/igt@kms_pipe_crc_basic@hang-read-...@pipe-c-dp-6.html * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-dp-6: - {bat-mtlp-9}: [DMESG-FAIL][9] ([i915#11009]) -> [PASS][10] +1 other test pass [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14985/bat-mtlp-9/igt@kms_pipe_crc_basic@read-crc-frame-seque...@pipe-d-dp-6.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135163v1/bat-mtlp-9/igt@kms_pipe_crc_basic@read-crc-frame-seque...@pipe-d-dp-6.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#10580]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10580 [i915#10979]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10979 [i915#11009]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11009 [i915#11060]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11060 [i915#11379]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11379 [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190 [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555 [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840 [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613 [i915#6121]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6121 [i915#9159]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9159 Build changes - * Linux: CI_DRM_14985 -> Patchwork_135163v1 CI-20190529: 20190529 CI_DRM_14985: 40deb379b103746ee4c9df5f0f1919bd4703c9cc @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7894: 7894 Patchwork_135163v1: 40deb379b103746ee4c9df5f0f1919bd4703c9cc @ git://anongit.freedesktop.org/gfx-ci/linux == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_135163v1/index.html
[PATCH] drm/i915/display: Consider adjusted_pixel_rate to be u64
Consider adjusted_pixel_rate to be a u64 to match the return type of mul_u32_u32() and avoid any compiler dependency for do_div. Fixes: 1676ecd303ac ("drm/i915: Compute CMRR and calculate vtotal") Cc: Mitul Golani Cc: Ankit Nautiyal Cc: Suraj Kandpal Cc: Jani Nikula Cc: Rodrigo Vivi Cc: Nathan Chancellor Cc: intel...@lists.freedesktop.org Signed-off-by: Mitul Golani --- drivers/gpu/drm/i915/display/intel_vrr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c index 6430da25957d..5a0da64c7db3 100644 --- a/drivers/gpu/drm/i915/display/intel_vrr.c +++ b/drivers/gpu/drm/i915/display/intel_vrr.c @@ -137,7 +137,7 @@ static unsigned int cmrr_get_vtotal(struct intel_crtc_state *crtc_state, bool video_mode_required) { int multiplier_m = 1, multiplier_n = 1, vtotal, desired_refresh_rate; - long long adjusted_pixel_rate; + u64 adjusted_pixel_rate; struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode; desired_refresh_rate = drm_mode_vrefresh(adjusted_mode); -- 2.45.2