* [Intel-gfx] [PATCH] drm/i915/display: Add an extra vblank wait before fbc activation @ 2020-08-17 7:44 Uma Shankar 2020-08-17 7:44 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork 2020-08-24 18:16 ` [Intel-gfx] [PATCH] " Ville Syrjälä 0 siblings, 2 replies; 5+ messages in thread From: Uma Shankar @ 2020-08-17 7:44 UTC (permalink / raw) To: intel-gfx Add an extra vblank before fbc is activated. WA: 1409689360 Corruption with FBC around plane 1A enabling. In the Frame Buffer Compression programming sequence "Display Plane Enabling with FBC" add a wait for vblank between plane enabling step 1 and FBC enabling step 2. Signed-off-by: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> --- drivers/gpu/drm/i915/display/intel_fbc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c index 2ab32e6532ff..0ed252ff2c53 100644 --- a/drivers/gpu/drm/i915/display/intel_fbc.c +++ b/drivers/gpu/drm/i915/display/intel_fbc.c @@ -1085,10 +1085,12 @@ static void __intel_fbc_post_update(struct intel_crtc *crtc) if (!intel_fbc_can_activate(crtc)) return; - if (!fbc->busy_bits) + if (!fbc->busy_bits) { + intel_wait_for_vblank(dev_priv, crtc->pipe); intel_fbc_hw_activate(dev_priv); - else + } else { intel_fbc_deactivate(dev_priv, "frontbuffer write"); + } } void intel_fbc_post_update(struct intel_atomic_state *state, -- 2.22.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/display: Add an extra vblank wait before fbc activation 2020-08-17 7:44 [Intel-gfx] [PATCH] drm/i915/display: Add an extra vblank wait before fbc activation Uma Shankar @ 2020-08-17 7:44 ` Patchwork 2020-08-24 18:16 ` [Intel-gfx] [PATCH] " Ville Syrjälä 1 sibling, 0 replies; 5+ messages in thread From: Patchwork @ 2020-08-17 7:44 UTC (permalink / raw) To: Uma Shankar; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 14422 bytes --] == Series Details == Series: drm/i915/display: Add an extra vblank wait before fbc activation URL : https://patchwork.freedesktop.org/series/80668/ State : failure == Summary == CI Bug Log - changes from CI_DRM_8887 -> Patchwork_18362 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_18362 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_18362, please notify your bug team 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_18362/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_18362: ### IGT changes ### #### Possible regressions #### * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-icl-y: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-icl-y/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-icl-y/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-cml-u2: [PASS][3] -> [FAIL][4] +1 similar issue [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-cml-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-cml-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-cfl-8700k: [PASS][5] -> [FAIL][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-cfl-8700k/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-cfl-8700k/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - fi-cfl-8109u: [PASS][7] -> [FAIL][8] +1 similar issue [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-cfl-8109u/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-cfl-8109u/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html - fi-skl-lmem: [PASS][9] -> [FAIL][10] +1 similar issue [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-skl-lmem/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-skl-lmem/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html - fi-kbl-7500u: [PASS][11] -> [FAIL][12] +1 similar issue [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-7500u/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-7500u/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - {fi-kbl-7560u}: [PASS][13] -> [FAIL][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-7560u/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-7560u/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - {fi-ehl-1}: [PASS][15] -> [FAIL][16] +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-ehl-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-ehl-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html Known issues ------------ Here are the changes found in Patchwork_18362 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_busy@basic@flip: - fi-kbl-x1275: [PASS][17] -> [DMESG-WARN][18] ([i915#62] / [i915#92] / [i915#95]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-x1275/igt@kms_busy@basic@flip.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-x1275/igt@kms_busy@basic@flip.html * igt@kms_chamelium@hdmi-edid-read: - fi-kbl-7500u: [PASS][19] -> [DMESG-FAIL][20] ([i915#165]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-7500u/igt@kms_chamelium@hdmi-edid-read.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-7500u/igt@kms_chamelium@hdmi-edid-read.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-bxt-dsi: [PASS][21] -> [FAIL][22] ([i915#1635]) +1 similar issue [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-bxt-dsi/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-bxt-dsi/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_flip@basic-flip-vs-wf_vblank@a-dp1: - fi-cml-u2: [PASS][23] -> [FAIL][24] ([i915#2122]) +1 similar issue [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-cml-u2/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp1.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-cml-u2/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp1.html - fi-skl-lmem: [PASS][25] -> [FAIL][26] ([i915#2122]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-skl-lmem/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp1.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-skl-lmem/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp1.html - fi-kbl-7500u: [PASS][27] -> [FAIL][28] ([i915#2122]) +1 similar issue [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-7500u/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp1.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-7500u/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp1.html * igt@kms_flip@basic-flip-vs-wf_vblank@a-dp2: - fi-skl-6700k2: [PASS][29] -> [FAIL][30] ([i915#2122]) +2 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-skl-6700k2/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp2.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-skl-6700k2/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp2.html - fi-cfl-8109u: [PASS][31] -> [FAIL][32] ([i915#2122]) +1 similar issue [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-cfl-8109u/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp2.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-cfl-8109u/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp2.html * igt@kms_flip@basic-flip-vs-wf_vblank@a-dsi1: - fi-bxt-dsi: [PASS][33] -> [FAIL][34] ([i915#1635] / [i915#2122]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-bxt-dsi/igt@kms_flip@basic-flip-vs-wf_vblank@a-dsi1.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-bxt-dsi/igt@kms_flip@basic-flip-vs-wf_vblank@a-dsi1.html * igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1: - fi-skl-6600u: [PASS][35] -> [FAIL][36] ([i915#2122]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-skl-6600u/igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-skl-6600u/igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1.html - fi-kbl-r: [PASS][37] -> [FAIL][38] ([i915#2122]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-r/igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-r/igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1.html * igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a1: - fi-cml-s: [PASS][39] -> [FAIL][40] ([i915#2122]) +1 similar issue [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-cml-s/igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a1.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-cml-s/igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a1.html #### Possible fixes #### * igt@gem_exec_suspend@basic-s3: - fi-tgl-u2: [FAIL][41] ([i915#1888]) -> [PASS][42] [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-tgl-u2/igt@gem_exec_suspend@basic-s3.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-tgl-u2/igt@gem_exec_suspend@basic-s3.html * igt@i915_pm_rpm@basic-pci-d3-state: - fi-byt-j1900: [DMESG-WARN][43] ([i915#1982]) -> [PASS][44] [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-byt-j1900/igt@i915_pm_rpm@basic-pci-d3-state.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-byt-j1900/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@kms_chamelium@common-hpd-after-suspend: - fi-kbl-7500u: [DMESG-WARN][45] ([i915#2203]) -> [PASS][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-7500u/igt@kms_chamelium@common-hpd-after-suspend.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-7500u/igt@kms_chamelium@common-hpd-after-suspend.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-bsw-kefka: [DMESG-WARN][47] ([i915#1982]) -> [PASS][48] [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_flip@basic-flip-vs-wf_vblank@c-hdmi-a2: - fi-skl-guc: [DMESG-WARN][49] ([i915#2203]) -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-skl-guc/igt@kms_flip@basic-flip-vs-wf_vblank@c-hdmi-a2.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-skl-guc/igt@kms_flip@basic-flip-vs-wf_vblank@c-hdmi-a2.html #### Warnings #### * igt@i915_pm_rpm@module-reload: - fi-kbl-x1275: [SKIP][51] ([fdo#109271]) -> [DMESG-FAIL][52] ([i915#62] / [i915#95]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-x1275/igt@i915_pm_rpm@module-reload.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-x1275/igt@i915_pm_rpm@module-reload.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-skl-6700k2: [DMESG-WARN][53] ([i915#2203]) -> [DMESG-FAIL][54] ([i915#2203]) +1 similar issue [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-skl-6700k2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-skl-6700k2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-kbl-x1275: [DMESG-WARN][55] ([i915#62] / [i915#92]) -> [DMESG-FAIL][56] ([i915#62]) [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - fi-kbl-x1275: [DMESG-WARN][57] ([i915#62] / [i915#92]) -> [DMESG-FAIL][58] ([i915#62] / [i915#95]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_flip@basic-flip-vs-modeset@a-dp1: - fi-kbl-x1275: [DMESG-WARN][59] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][60] ([i915#62] / [i915#92]) +3 similar issues [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-x1275/igt@kms_flip@basic-flip-vs-modeset@a-dp1.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-x1275/igt@kms_flip@basic-flip-vs-modeset@a-dp1.html * igt@prime_vgem@basic-fence-flip: - fi-kbl-x1275: [DMESG-WARN][61] ([i915#62] / [i915#92]) -> [DMESG-WARN][62] ([i915#62] / [i915#92] / [i915#95]) +2 similar issues [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8887/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.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#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635 [i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165 [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2203]: https://gitlab.freedesktop.org/drm/intel/issues/2203 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (41 -> 35) ------------------------------ Missing (6): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus Build changes ------------- * Linux: CI_DRM_8887 -> Patchwork_18362 CI-20190529: 20190529 CI_DRM_8887: 6ec64d5f7a7284135368a9f9bd28a1117587e9b1 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5769: 4e5f76be680b65780204668e302026cf638decc9 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_18362: 9e1c00d12d6484ae7312815fc669d18f620ba038 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 9e1c00d12d64 drm/i915/display: Add an extra vblank wait before fbc activation == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18362/index.html [-- Attachment #1.2: Type: text/html, Size: 17873 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/display: Add an extra vblank wait before fbc activation 2020-08-17 7:44 [Intel-gfx] [PATCH] drm/i915/display: Add an extra vblank wait before fbc activation Uma Shankar 2020-08-17 7:44 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork @ 2020-08-24 18:16 ` Ville Syrjälä 2020-08-24 19:46 ` Shankar, Uma 1 sibling, 1 reply; 5+ messages in thread From: Ville Syrjälä @ 2020-08-24 18:16 UTC (permalink / raw) To: Uma Shankar; +Cc: intel-gfx On Mon, Aug 17, 2020 at 01:14:18PM +0530, Uma Shankar wrote: > Add an extra vblank before fbc is activated. > WA: 1409689360 > Corruption with FBC around plane 1A enabling. In the Frame Buffer > Compression programming sequence "Display Plane Enabling with FBC" > add a wait for vblank between plane enabling step 1 and FBC enabling > step 2. Already there due to drm_atomic_helper_wait_for_flip_done(). > > Signed-off-by: Uma Shankar <uma.shankar@intel.com> > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> > --- > drivers/gpu/drm/i915/display/intel_fbc.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c > index 2ab32e6532ff..0ed252ff2c53 100644 > --- a/drivers/gpu/drm/i915/display/intel_fbc.c > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c > @@ -1085,10 +1085,12 @@ static void __intel_fbc_post_update(struct intel_crtc *crtc) > if (!intel_fbc_can_activate(crtc)) > return; > > - if (!fbc->busy_bits) > + if (!fbc->busy_bits) { > + intel_wait_for_vblank(dev_priv, crtc->pipe); > intel_fbc_hw_activate(dev_priv); > - else > + } else { > intel_fbc_deactivate(dev_priv, "frontbuffer write"); > + } > } > > void intel_fbc_post_update(struct intel_atomic_state *state, > -- > 2.22.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/display: Add an extra vblank wait before fbc activation 2020-08-24 18:16 ` [Intel-gfx] [PATCH] " Ville Syrjälä @ 2020-08-24 19:46 ` Shankar, Uma 2020-08-24 20:00 ` Ville Syrjälä 0 siblings, 1 reply; 5+ messages in thread From: Shankar, Uma @ 2020-08-24 19:46 UTC (permalink / raw) To: Ville Syrjälä; +Cc: intel-gfx@lists.freedesktop.org > -----Original Message----- > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > Sent: Monday, August 24, 2020 11:46 PM > To: Shankar, Uma <uma.shankar@intel.com> > Cc: intel-gfx@lists.freedesktop.org > Subject: Re: [Intel-gfx] [PATCH] drm/i915/display: Add an extra vblank wait > before fbc activation > > On Mon, Aug 17, 2020 at 01:14:18PM +0530, Uma Shankar wrote: > > Add an extra vblank before fbc is activated. > > WA: 1409689360 > > Corruption with FBC around plane 1A enabling. In the Frame Buffer > > Compression programming sequence "Display Plane Enabling with FBC" > > add a wait for vblank between plane enabling step 1 and FBC enabling > > step 2. > > Already there due to drm_atomic_helper_wait_for_flip_done(). Hi Ville, __intel_fbc_post_update is also called through intel_fbc_flush. The extra wait at that point seem to be taking care of this case as well. We can add it in vblank worker as suggested by Maarten or do you feel this should be handled differently. Regards, Uma Shankar > > > > Signed-off-by: Uma Shankar <uma.shankar@intel.com> > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> > > --- > > drivers/gpu/drm/i915/display/intel_fbc.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c > > b/drivers/gpu/drm/i915/display/intel_fbc.c > > index 2ab32e6532ff..0ed252ff2c53 100644 > > --- a/drivers/gpu/drm/i915/display/intel_fbc.c > > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c > > @@ -1085,10 +1085,12 @@ static void __intel_fbc_post_update(struct > intel_crtc *crtc) > > if (!intel_fbc_can_activate(crtc)) > > return; > > > > - if (!fbc->busy_bits) > > + if (!fbc->busy_bits) { > > + intel_wait_for_vblank(dev_priv, crtc->pipe); > > intel_fbc_hw_activate(dev_priv); > > - else > > + } else { > > intel_fbc_deactivate(dev_priv, "frontbuffer write"); > > + } > > } > > > > void intel_fbc_post_update(struct intel_atomic_state *state, > > -- > > 2.22.0 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Ville Syrjälä > Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/display: Add an extra vblank wait before fbc activation 2020-08-24 19:46 ` Shankar, Uma @ 2020-08-24 20:00 ` Ville Syrjälä 0 siblings, 0 replies; 5+ messages in thread From: Ville Syrjälä @ 2020-08-24 20:00 UTC (permalink / raw) To: Shankar, Uma; +Cc: intel-gfx@lists.freedesktop.org On Mon, Aug 24, 2020 at 07:46:30PM +0000, Shankar, Uma wrote: > > > -----Original Message----- > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Sent: Monday, August 24, 2020 11:46 PM > > To: Shankar, Uma <uma.shankar@intel.com> > > Cc: intel-gfx@lists.freedesktop.org > > Subject: Re: [Intel-gfx] [PATCH] drm/i915/display: Add an extra vblank wait > > before fbc activation > > > > On Mon, Aug 17, 2020 at 01:14:18PM +0530, Uma Shankar wrote: > > > Add an extra vblank before fbc is activated. > > > WA: 1409689360 > > > Corruption with FBC around plane 1A enabling. In the Frame Buffer > > > Compression programming sequence "Display Plane Enabling with FBC" > > > add a wait for vblank between plane enabling step 1 and FBC enabling > > > step 2. > > > > Already there due to drm_atomic_helper_wait_for_flip_done(). > > Hi Ville, > __intel_fbc_post_update is also called through intel_fbc_flush. The extra wait at that point seem > to be taking care of this case as well. > > We can add it in vblank worker as suggested by Maarten or do you feel this should be handled differently. There's already supposed to be something that prevents the frontbuffer stuff from racing with plane updates. > > Regards, > Uma Shankar > > > > > > > Signed-off-by: Uma Shankar <uma.shankar@intel.com> > > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> > > > --- > > > drivers/gpu/drm/i915/display/intel_fbc.c | 6 ++++-- > > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c > > > b/drivers/gpu/drm/i915/display/intel_fbc.c > > > index 2ab32e6532ff..0ed252ff2c53 100644 > > > --- a/drivers/gpu/drm/i915/display/intel_fbc.c > > > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c > > > @@ -1085,10 +1085,12 @@ static void __intel_fbc_post_update(struct > > intel_crtc *crtc) > > > if (!intel_fbc_can_activate(crtc)) > > > return; > > > > > > - if (!fbc->busy_bits) > > > + if (!fbc->busy_bits) { > > > + intel_wait_for_vblank(dev_priv, crtc->pipe); > > > intel_fbc_hw_activate(dev_priv); > > > - else > > > + } else { > > > intel_fbc_deactivate(dev_priv, "frontbuffer write"); > > > + } > > > } > > > > > > void intel_fbc_post_update(struct intel_atomic_state *state, > > > -- > > > 2.22.0 > > > > > > _______________________________________________ > > > Intel-gfx mailing list > > > Intel-gfx@lists.freedesktop.org > > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx > > > > -- > > Ville Syrjälä > > Intel -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-08-24 20:00 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-08-17 7:44 [Intel-gfx] [PATCH] drm/i915/display: Add an extra vblank wait before fbc activation Uma Shankar 2020-08-17 7:44 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork 2020-08-24 18:16 ` [Intel-gfx] [PATCH] " Ville Syrjälä 2020-08-24 19:46 ` Shankar, Uma 2020-08-24 20:00 ` Ville Syrjälä
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.