* [PATCH] drm/i915/display: Implement wa_14024400148 @ 2025-04-15 9:46 Nemesa Garg 2025-04-15 10:33 ` Jani Nikula 2025-04-15 12:56 ` ✗ i915.CI.BAT: failure for " Patchwork 0 siblings, 2 replies; 3+ messages in thread From: Nemesa Garg @ 2025-04-15 9:46 UTC (permalink / raw) To: intel-gfx, intel-xe, mika.kahola; +Cc: Nemesa Garg Workaround recommend use polling method for pm_demand to finish as to avoid timeout. Signed-off-by: Nemesa Garg <nemesa.garg@intel.com> --- drivers/gpu/drm/i915/display/intel_pmdemand.c | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_pmdemand.c b/drivers/gpu/drm/i915/display/intel_pmdemand.c index d22b5469672d..610d05b73b99 100644 --- a/drivers/gpu/drm/i915/display/intel_pmdemand.c +++ b/drivers/gpu/drm/i915/display/intel_pmdemand.c @@ -478,6 +478,22 @@ static bool intel_pmdemand_req_complete(struct intel_display *display) XELPDP_PMDEMAND_REQ_ENABLE); } +static void intel_pmdemand_poll(struct intel_display *display) +{ + const unsigned int timeout_ms = 10; + u32 status; + int ret; + + ret = intel_de_wait_custom(display, XELPDP_INITIATE_PMDEMAND_REQUEST(1), + XELPDP_PMDEMAND_REQ_ENABLE, 0, + 50, timeout_ms, &status); + + if (ret == -ETIMEDOUT) + drm_err(display->drm, + "timeout within %ums (status 0x%08x)\n", + timeout_ms, status); +} + static void intel_pmdemand_wait(struct intel_display *display) { if (!wait_event_timeout(display->pmdemand.waitqueue, @@ -508,7 +524,11 @@ void intel_pmdemand_program_dbuf(struct intel_display *display, intel_de_rmw(display, XELPDP_INITIATE_PMDEMAND_REQUEST(1), 0, XELPDP_PMDEMAND_REQ_ENABLE); - intel_pmdemand_wait(display); + /* Wa_14024400148 For lnl use polling method */ + if (DISPLAY_VER(display) == 20) + intel_pmdemand_poll(display); + else + intel_pmdemand_wait(display); unlock: mutex_unlock(&display->pmdemand.lock); @@ -617,7 +637,10 @@ intel_pmdemand_program_params(struct intel_display *display, intel_de_rmw(display, XELPDP_INITIATE_PMDEMAND_REQUEST(1), 0, XELPDP_PMDEMAND_REQ_ENABLE); - intel_pmdemand_wait(display); + if (DISPLAY_VER(display) == 20) + intel_pmdemand_poll(display); + else + intel_pmdemand_wait(display); unlock: mutex_unlock(&display->pmdemand.lock); -- 2.25.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/i915/display: Implement wa_14024400148 2025-04-15 9:46 [PATCH] drm/i915/display: Implement wa_14024400148 Nemesa Garg @ 2025-04-15 10:33 ` Jani Nikula 2025-04-15 12:56 ` ✗ i915.CI.BAT: failure for " Patchwork 1 sibling, 0 replies; 3+ messages in thread From: Jani Nikula @ 2025-04-15 10:33 UTC (permalink / raw) To: Nemesa Garg, intel-gfx, intel-xe, mika.kahola; +Cc: Nemesa Garg On Tue, 15 Apr 2025, Nemesa Garg <nemesa.garg@intel.com> wrote: > Workaround recommend use polling method > for pm_demand to finish as to avoid timeout. > > Signed-off-by: Nemesa Garg <nemesa.garg@intel.com> > --- > drivers/gpu/drm/i915/display/intel_pmdemand.c | 27 +++++++++++++++++-- > 1 file changed, 25 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_pmdemand.c b/drivers/gpu/drm/i915/display/intel_pmdemand.c > index d22b5469672d..610d05b73b99 100644 > --- a/drivers/gpu/drm/i915/display/intel_pmdemand.c > +++ b/drivers/gpu/drm/i915/display/intel_pmdemand.c > @@ -478,6 +478,22 @@ static bool intel_pmdemand_req_complete(struct intel_display *display) > XELPDP_PMDEMAND_REQ_ENABLE); > } > > +static void intel_pmdemand_poll(struct intel_display *display) > +{ > + const unsigned int timeout_ms = 10; > + u32 status; > + int ret; > + > + ret = intel_de_wait_custom(display, XELPDP_INITIATE_PMDEMAND_REQUEST(1), > + XELPDP_PMDEMAND_REQ_ENABLE, 0, > + 50, timeout_ms, &status); > + > + if (ret == -ETIMEDOUT) > + drm_err(display->drm, > + "timeout within %ums (status 0x%08x)\n", > + timeout_ms, status); Imagine seeing "timeout within 10ms" in dmesg. Timeout of what? > +} > + > static void intel_pmdemand_wait(struct intel_display *display) > { > if (!wait_event_timeout(display->pmdemand.waitqueue, > @@ -508,7 +524,11 @@ void intel_pmdemand_program_dbuf(struct intel_display *display, > intel_de_rmw(display, XELPDP_INITIATE_PMDEMAND_REQUEST(1), 0, > XELPDP_PMDEMAND_REQ_ENABLE); > > - intel_pmdemand_wait(display); > + /* Wa_14024400148 For lnl use polling method */ > + if (DISPLAY_VER(display) == 20) > + intel_pmdemand_poll(display); > + else > + intel_pmdemand_wait(display); Please just hide this within intel_pmdemand_wait() instead of duplicating it everywhere. > > unlock: > mutex_unlock(&display->pmdemand.lock); > @@ -617,7 +637,10 @@ intel_pmdemand_program_params(struct intel_display *display, > intel_de_rmw(display, XELPDP_INITIATE_PMDEMAND_REQUEST(1), 0, > XELPDP_PMDEMAND_REQ_ENABLE); > > - intel_pmdemand_wait(display); > + if (DISPLAY_VER(display) == 20) > + intel_pmdemand_poll(display); > + else > + intel_pmdemand_wait(display); > > unlock: > mutex_unlock(&display->pmdemand.lock); -- Jani Nikula, Intel ^ permalink raw reply [flat|nested] 3+ messages in thread
* ✗ i915.CI.BAT: failure for drm/i915/display: Implement wa_14024400148 2025-04-15 9:46 [PATCH] drm/i915/display: Implement wa_14024400148 Nemesa Garg 2025-04-15 10:33 ` Jani Nikula @ 2025-04-15 12:56 ` Patchwork 1 sibling, 0 replies; 3+ messages in thread From: Patchwork @ 2025-04-15 12:56 UTC (permalink / raw) To: Nemesa Garg; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 5202 bytes --] == Series Details == Series: drm/i915/display: Implement wa_14024400148 URL : https://patchwork.freedesktop.org/series/147744/ State : failure == Summary == CI Bug Log - changes from CI_DRM_16420 -> Patchwork_147744v1 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_147744v1 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_147744v1, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_147744v1/index.html Participating hosts (45 -> 43) ------------------------------ Missing (2): bat-arlh-2 fi-snb-2520m Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_147744v1: ### IGT changes ### #### Possible regressions #### * igt@i915_selftest@live: - bat-adls-6: [PASS][1] -> [DMESG-FAIL][2] +1 other test dmesg-fail [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16420/bat-adls-6/igt@i915_selftest@live.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_147744v1/bat-adls-6/igt@i915_selftest@live.html Known issues ------------ Here are the changes found in Patchwork_147744v1 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live@client: - fi-kbl-7567u: [PASS][3] -> [DMESG-WARN][4] ([i915#13735]) +13 other tests dmesg-warn [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16420/fi-kbl-7567u/igt@i915_selftest@live@client.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_147744v1/fi-kbl-7567u/igt@i915_selftest@live@client.html * igt@i915_selftest@live@workarounds: - bat-arlh-3: [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16420/bat-arlh-3/igt@i915_selftest@live@workarounds.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_147744v1/bat-arlh-3/igt@i915_selftest@live@workarounds.html - bat-arls-5: [PASS][7] -> [DMESG-FAIL][8] ([i915#12061]) +1 other test dmesg-fail [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16420/bat-arls-5/igt@i915_selftest@live@workarounds.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_147744v1/bat-arls-5/igt@i915_selftest@live@workarounds.html - bat-arls-6: [PASS][9] -> [DMESG-FAIL][10] ([i915#12061]) +1 other test dmesg-fail [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16420/bat-arls-6/igt@i915_selftest@live@workarounds.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_147744v1/bat-arls-6/igt@i915_selftest@live@workarounds.html #### Possible fixes #### * igt@dmabuf@all-tests@dma_fence_chain: - fi-bsw-nick: [INCOMPLETE][11] ([i915#12904]) -> [PASS][12] +1 other test pass [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16420/fi-bsw-nick/igt@dmabuf@all-tests@dma_fence_chain.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_147744v1/fi-bsw-nick/igt@dmabuf@all-tests@dma_fence_chain.html - fi-bsw-n3050: [INCOMPLETE][13] ([i915#12904]) -> [PASS][14] +1 other test pass [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16420/fi-bsw-n3050/igt@dmabuf@all-tests@dma_fence_chain.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_147744v1/fi-bsw-n3050/igt@dmabuf@all-tests@dma_fence_chain.html * igt@i915_selftest@live@gt_mocs: - bat-twl-2: [DMESG-WARN][15] ([i915#13967]) -> [PASS][16] +1 other test pass [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16420/bat-twl-2/igt@i915_selftest@live@gt_mocs.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_147744v1/bat-twl-2/igt@i915_selftest@live@gt_mocs.html * igt@i915_selftest@live@workarounds: - bat-dg2-14: [DMESG-FAIL][17] ([i915#12061]) -> [PASS][18] +1 other test pass [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16420/bat-dg2-14/igt@i915_selftest@live@workarounds.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_147744v1/bat-dg2-14/igt@i915_selftest@live@workarounds.html [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061 [i915#12904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12904 [i915#13735]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13735 [i915#13967]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13967 Build changes ------------- * Linux: CI_DRM_16420 -> Patchwork_147744v1 CI-20190529: 20190529 CI_DRM_16420: 22c34bd976f4b047263dafa7b88f60f953ccddd3 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_8319: db9eca9df70fbb72589fcaf689dd92784b06a9c0 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_147744v1: 22c34bd976f4b047263dafa7b88f60f953ccddd3 @ git://anongit.freedesktop.org/gfx-ci/linux == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_147744v1/index.html [-- Attachment #2: Type: text/html, Size: 6261 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-04-15 12:56 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-04-15 9:46 [PATCH] drm/i915/display: Implement wa_14024400148 Nemesa Garg 2025-04-15 10:33 ` Jani Nikula 2025-04-15 12:56 ` ✗ i915.CI.BAT: failure for " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).