All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH 0/2] Fixes for selective fetch area calculation
@ 2022-05-06  5:48 Jouni Högander
  2022-05-06  5:48 ` [Intel-gfx] [PATCH 1/2] drm/i915/psr: Use full update In case of area calculation fails Jouni Högander
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Jouni Högander @ 2022-05-06  5:48 UTC (permalink / raw)
  To: intel-gfx; +Cc: Mark Pearson

Currently selective fetch area calculation ends up as bogus area in
following cases:

1. Updated plane is partially or fully outside pipe area
2. Big fb with only part of memory area used for plane

These end up as y1 = 0, y2 = 4 or y2 being outside pipe area. This
patch set addresses these by ensuring update area is within pipe area
and falling back to full update. 

Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Mika Kahola <mika.kahola@intel.com>
Cc: Mark Pearson <markpearson@lenovo.com>

Jouni Högander (2):
  drm/i915/psr: Use full update In case of area calculation fails
  drm/i915: Ensure damage clip area is within pipe area

 drivers/gpu/drm/i915/display/intel_psr.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Intel-gfx] [PATCH 1/2] drm/i915/psr: Use full update In case of area calculation fails
  2022-05-06  5:48 [Intel-gfx] [PATCH 0/2] Fixes for selective fetch area calculation Jouni Högander
@ 2022-05-06  5:48 ` Jouni Högander
  2022-05-06 15:29   ` Souza, Jose
  2022-05-06  5:48 ` [Intel-gfx] [PATCH 2/2] drm/i915: Ensure damage clip area is within pipe area Jouni Högander
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Jouni Högander @ 2022-05-06  5:48 UTC (permalink / raw)
  To: intel-gfx; +Cc: Mark Pearson

Currently we have some corner cases where area calculation fails.  For
these sel fetch are calculation ends up having update area as y1 = 0,
y2 = 4. Instead of these values safer option is full update.

Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Mika Kahola <mika.kahola@intel.com>
Tested-by: Mark Pearson <markpearson@lenovo.com>
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 06db407e2749..8c099d24de86 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1770,6 +1770,9 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 		clip_area_update(&pipe_clip, &damaged_area);
 	}
 
+	if (pipe_clip.y1 == -1)
+		full_update = true;
+
 	if (full_update)
 		goto skip_sel_fetch_set_loop;
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Intel-gfx] [PATCH 2/2] drm/i915: Ensure damage clip area is within pipe area
  2022-05-06  5:48 [Intel-gfx] [PATCH 0/2] Fixes for selective fetch area calculation Jouni Högander
  2022-05-06  5:48 ` [Intel-gfx] [PATCH 1/2] drm/i915/psr: Use full update In case of area calculation fails Jouni Högander
@ 2022-05-06  5:48 ` Jouni Högander
  2022-05-06 15:43   ` Souza, Jose
  2022-05-06 10:42 ` [Intel-gfx] ✓ Fi.CI.BAT: success for Fixes for selective fetch area calculation Patchwork
  2022-05-06 13:37 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 1 reply; 11+ messages in thread
From: Jouni Högander @ 2022-05-06  5:48 UTC (permalink / raw)
  To: intel-gfx; +Cc: Mark Pearson

Current update area calculation is not handling situation where
e.g. cursor plane is fully or partially outside pipe area.

Fix this by checking damage area against pipe_src area using
drm_rect_intersect.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5440
Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Mika Kahola <mika.kahola@intel.com>
Tested-by: Mark Pearson <markpearson@lenovo.com>
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 8c099d24de86..5229ba89a079 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1724,6 +1724,10 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 			break;
 		}
 
+		/* Set x1 and x2 for drm_rect_intersect usage */
+		damaged_area.x1 = 0;
+		damaged_area.x2 = INT_MAX;
+
 		/*
 		 * If visibility or plane moved, mark the whole plane area as
 		 * damaged as it needs to be complete redraw in the new and old
@@ -1735,20 +1739,23 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 			if (old_plane_state->uapi.visible) {
 				damaged_area.y1 = old_plane_state->uapi.dst.y1;
 				damaged_area.y2 = old_plane_state->uapi.dst.y2;
-				clip_area_update(&pipe_clip, &damaged_area);
+				if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
+					clip_area_update(&pipe_clip, &damaged_area);
 			}
 
 			if (new_plane_state->uapi.visible) {
 				damaged_area.y1 = new_plane_state->uapi.dst.y1;
 				damaged_area.y2 = new_plane_state->uapi.dst.y2;
-				clip_area_update(&pipe_clip, &damaged_area);
+				if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
+					clip_area_update(&pipe_clip, &damaged_area);
 			}
 			continue;
 		} else if (new_plane_state->uapi.alpha != old_plane_state->uapi.alpha) {
 			/* If alpha changed mark the whole plane area as damaged */
 			damaged_area.y1 = new_plane_state->uapi.dst.y1;
 			damaged_area.y2 = new_plane_state->uapi.dst.y2;
-			clip_area_update(&pipe_clip, &damaged_area);
+			if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
+				clip_area_update(&pipe_clip, &damaged_area);
 			continue;
 		}
 
@@ -1767,7 +1774,9 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 
 		damaged_area.y1 += new_plane_state->uapi.dst.y1 - src.y1;
 		damaged_area.y2 += new_plane_state->uapi.dst.y1 - src.y1;
-		clip_area_update(&pipe_clip, &damaged_area);
+
+		if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
+			clip_area_update(&pipe_clip, &damaged_area);
 	}
 
 	if (pipe_clip.y1 == -1)
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for Fixes for selective fetch area calculation
  2022-05-06  5:48 [Intel-gfx] [PATCH 0/2] Fixes for selective fetch area calculation Jouni Högander
  2022-05-06  5:48 ` [Intel-gfx] [PATCH 1/2] drm/i915/psr: Use full update In case of area calculation fails Jouni Högander
  2022-05-06  5:48 ` [Intel-gfx] [PATCH 2/2] drm/i915: Ensure damage clip area is within pipe area Jouni Högander
@ 2022-05-06 10:42 ` Patchwork
  2022-05-06 13:37 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2022-05-06 10:42 UTC (permalink / raw)
  To: Jouni Högander; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 2074 bytes --]

== Series Details ==

Series: Fixes for selective fetch area calculation
URL   : https://patchwork.freedesktop.org/series/103659/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_11616 -> Patchwork_103659v1
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/index.html

Participating hosts (42 -> 36)
------------------------------

  Additional (1): fi-icl-u2 
  Missing    (7): bat-adls-5 bat-adlm-1 fi-bsw-cyan bat-adlp-6 bat-adln-1 bat-rpls-1 bat-rpls-2 

Known issues
------------

  Here are the changes found in Patchwork_103659v1 that come from known issues:

### CI changes ###

#### Issues hit ####

  * boot:
    - fi-snb-2600:        [PASS][1] -> [FAIL][2] ([i915#4338])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/fi-snb-2600/boot.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/fi-snb-2600/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@runner@aborted:
    - fi-icl-u2:          NOTRUN -> [FAIL][3] ([i915#3690])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/fi-icl-u2/igt@runner@aborted.html

  
  [i915#3690]: https://gitlab.freedesktop.org/drm/intel/issues/3690
  [i915#4338]: https://gitlab.freedesktop.org/drm/intel/issues/4338


Build changes
-------------

  * Linux: CI_DRM_11616 -> Patchwork_103659v1

  CI-20190529: 20190529
  CI_DRM_11616: 65a5fe9ac96c60bd6dfcc44a0bb8d584912ea53d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6467: 929abc51cdd48d673efa03e025b1f31b557972ed @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_103659v1: 65a5fe9ac96c60bd6dfcc44a0bb8d584912ea53d @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

699ac7b731d4 drm/i915: Ensure damage clip area is within pipe area
259af3dc5feb drm/i915/psr: Use full update In case of area calculation fails

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/index.html

[-- Attachment #2: Type: text/html, Size: 2705 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Intel-gfx] ✓ Fi.CI.IGT: success for Fixes for selective fetch area calculation
  2022-05-06  5:48 [Intel-gfx] [PATCH 0/2] Fixes for selective fetch area calculation Jouni Högander
                   ` (2 preceding siblings ...)
  2022-05-06 10:42 ` [Intel-gfx] ✓ Fi.CI.BAT: success for Fixes for selective fetch area calculation Patchwork
@ 2022-05-06 13:37 ` Patchwork
  3 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2022-05-06 13:37 UTC (permalink / raw)
  To: Jouni Högander; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 12699 bytes --]

== Series Details ==

Series: Fixes for selective fetch area calculation
URL   : https://patchwork.freedesktop.org/series/103659/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_11616_full -> Patchwork_103659v1_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/index.html

Participating hosts (12 -> 8)
------------------------------

  Missing    (4): pig-skl-6260u pig-kbl-iris shard-rkl pig-glk-j5005 

Known issues
------------

  Here are the changes found in Patchwork_103659v1_full that come from known issues:

### CI changes ###

#### Possible fixes ####

  * boot:
    - shard-snb:          ([PASS][1], [PASS][2], [PASS][3], [PASS][4], [PASS][5], [PASS][6], [PASS][7], [PASS][8], [PASS][9], [PASS][10], [PASS][11], [PASS][12], [PASS][13], [PASS][14], [PASS][15], [PASS][16], [PASS][17], [PASS][18], [FAIL][19], [PASS][20], [PASS][21], [PASS][22], [PASS][23], [PASS][24], [PASS][25]) ([i915#4338]) -> ([PASS][26], [PASS][27], [PASS][28], [PASS][29], [PASS][30], [PASS][31], [PASS][32], [PASS][33], [PASS][34], [PASS][35], [PASS][36], [PASS][37], [PASS][38], [PASS][39], [PASS][40], [PASS][41], [PASS][42], [PASS][43], [PASS][44], [PASS][45], [PASS][46], [PASS][47], [PASS][48], [PASS][49], [PASS][50])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb4/boot.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb2/boot.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb2/boot.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb2/boot.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb2/boot.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb7/boot.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb7/boot.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb7/boot.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb7/boot.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb7/boot.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb6/boot.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb6/boot.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb6/boot.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb6/boot.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb6/boot.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb5/boot.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb5/boot.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb5/boot.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb5/boot.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb5/boot.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb5/boot.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb4/boot.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb4/boot.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb4/boot.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb4/boot.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb6/boot.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb5/boot.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb5/boot.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb5/boot.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb5/boot.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb5/boot.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb4/boot.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb4/boot.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb4/boot.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb4/boot.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb4/boot.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb2/boot.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb2/boot.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb2/boot.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb2/boot.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb2/boot.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb6/boot.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb6/boot.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb6/boot.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb6/boot.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb7/boot.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb7/boot.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb7/boot.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb7/boot.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb7/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_persistence@engines-mixed:
    - shard-snb:          NOTRUN -> [SKIP][51] ([fdo#109271] / [i915#1099]) +1 similar issue
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb2/igt@gem_ctx_persistence@engines-mixed.html

  * igt@gem_exec_flush@basic-uc-prw-default:
    - shard-snb:          [PASS][52] -> [SKIP][53] ([fdo#109271]) +5 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb5/igt@gem_exec_flush@basic-uc-prw-default.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb6/igt@gem_exec_flush@basic-uc-prw-default.html

  * igt@kms_color@pipe-c-degamma:
    - shard-snb:          NOTRUN -> [SKIP][54] ([fdo#109271]) +75 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb2/igt@kms_color@pipe-c-degamma.html

  * igt@kms_color_chamelium@pipe-c-ctm-green-to-red:
    - shard-snb:          NOTRUN -> [SKIP][55] ([fdo#109271] / [fdo#111827]) +3 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb2/igt@kms_color_chamelium@pipe-c-ctm-green-to-red.html

  
#### Possible fixes ####

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - {shard-tglu}:       [FAIL][56] ([i915#2842]) -> [PASS][57]
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-tglu-2/igt@gem_exec_fair@basic-none-share@rcs0.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-tglu-2/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_flush@basic-wb-ro-before-default:
    - shard-snb:          [SKIP][58] ([fdo#109271]) -> [PASS][59] +2 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11616/shard-snb6/igt@gem_exec_flush@basic-wb-ro-before-default.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103659v1/shard-snb2/igt@gem_exec_flush@basic-wb-ro-before-default.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#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1063]: https://gitlab.freedesktop.org/drm/intel/issues/1063
  [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
  [i915#1836]: https://gitlab.freedesktop.org/drm/intel/issues/1836
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
  [i915#3319]: https://gitlab.freedesktop.org/drm/intel/issues/3319
  [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3828]: https://gitlab.freedesktop.org/drm/intel/issues/3828
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3966]: https://gitlab.freedesktop.org/drm/intel/issues/3966
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
  [i915#4338]: https://gitlab.freedesktop.org/drm/intel/issues/4338
  [i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5076]: https://gitlab.freedesktop.org/drm/intel/issues/5076
  [i915#5098]: https://gitlab.freedesktop.org/drm/intel/issues/5098
  [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#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#5614]: https://gitlab.freedesktop.org/drm/intel/issues/5614
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658


Build changes
-------------

  * Linux: CI_DRM_11616 -> Patchwork_103659v1
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_11616: 65a5fe9ac96c60bd6dfcc44a0bb8d584912ea53d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6467: 929abc51cdd48d673efa03e025b1f31b557972ed @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_103659v1: 65a5fe9ac96c60bd6dfcc44a0bb8d584912ea53d @ 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_103659v1/index.html

[-- Attachment #2: Type: text/html, Size: 9930 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/psr: Use full update In case of area calculation fails
  2022-05-06  5:48 ` [Intel-gfx] [PATCH 1/2] drm/i915/psr: Use full update In case of area calculation fails Jouni Högander
@ 2022-05-06 15:29   ` Souza, Jose
  2022-05-06 18:28     ` Hogander, Jouni
  0 siblings, 1 reply; 11+ messages in thread
From: Souza, Jose @ 2022-05-06 15:29 UTC (permalink / raw)
  To: intel-gfx, Hogander, Jouni; +Cc: markpearson

On Fri, 2022-05-06 at 08:48 +0300, Jouni Högander wrote:
> Currently we have some corner cases where area calculation fails.  For
> these sel fetch are calculation ends up having update area as y1 = 0,
> y2 = 4. Instead of these values safer option is full update.

Aren't you able to reproduce this scenarios with IGT? So why not probably fix the calculations?

> 
> Cc: José Roberto de Souza <jose.souza@intel.com>
> Cc: Mika Kahola <mika.kahola@intel.com>
> Tested-by: Mark Pearson <markpearson@lenovo.com>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_psr.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index 06db407e2749..8c099d24de86 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -1770,6 +1770,9 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
>  		clip_area_update(&pipe_clip, &damaged_area);
>  	}
>  
> +	if (pipe_clip.y1 == -1)
> +		full_update = true;
> +
>  	if (full_update)
>  		goto skip_sel_fetch_set_loop;
>  


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Intel-gfx] [PATCH 2/2] drm/i915: Ensure damage clip area is within pipe area
  2022-05-06  5:48 ` [Intel-gfx] [PATCH 2/2] drm/i915: Ensure damage clip area is within pipe area Jouni Högander
@ 2022-05-06 15:43   ` Souza, Jose
  2022-05-09  7:25     ` Hogander, Jouni
  0 siblings, 1 reply; 11+ messages in thread
From: Souza, Jose @ 2022-05-06 15:43 UTC (permalink / raw)
  To: intel-gfx, Hogander, Jouni; +Cc: markpearson

On Fri, 2022-05-06 at 08:48 +0300, Jouni Högander wrote:
> Current update area calculation is not handling situation where
> e.g. cursor plane is fully or partially outside pipe area.
> 
> Fix this by checking damage area against pipe_src area using
> drm_rect_intersect.
> 
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5440
> Cc: José Roberto de Souza <jose.souza@intel.com>
> Cc: Mika Kahola <mika.kahola@intel.com>
> Tested-by: Mark Pearson <markpearson@lenovo.com>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_psr.c | 17 +++++++++++++----
>  1 file changed, 13 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index 8c099d24de86..5229ba89a079 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -1724,6 +1724,10 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
>  			break;
>  		}
>  
> +		/* Set x1 and x2 for drm_rect_intersect usage */
> +		damaged_area.x1 = 0;
> +		damaged_area.x2 = INT_MAX;

Move the above to the variable definition and initialization.

> +
>  		/*
>  		 * If visibility or plane moved, mark the whole plane area as
>  		 * damaged as it needs to be complete redraw in the new and old
> @@ -1735,20 +1739,23 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
>  			if (old_plane_state->uapi.visible) {
>  				damaged_area.y1 = old_plane_state->uapi.dst.y1;
>  				damaged_area.y2 = old_plane_state->uapi.dst.y2;
> -				clip_area_update(&pipe_clip, &damaged_area);
> +				if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
> +					clip_area_update(&pipe_clip, &damaged_area);
>  			}
>  
>  			if (new_plane_state->uapi.visible) {
>  				damaged_area.y1 = new_plane_state->uapi.dst.y1;
>  				damaged_area.y2 = new_plane_state->uapi.dst.y2;
> -				clip_area_update(&pipe_clip, &damaged_area);
> +				if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
> +					clip_area_update(&pipe_clip, &damaged_area);
>  			}
>  			continue;
>  		} else if (new_plane_state->uapi.alpha != old_plane_state->uapi.alpha) {
>  			/* If alpha changed mark the whole plane area as damaged */
>  			damaged_area.y1 = new_plane_state->uapi.dst.y1;
>  			damaged_area.y2 = new_plane_state->uapi.dst.y2;
> -			clip_area_update(&pipe_clip, &damaged_area);
> +			if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
> +				clip_area_update(&pipe_clip, &damaged_area);
>  			continue;
>  		}
>  
> @@ -1767,7 +1774,9 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
>  
>  		damaged_area.y1 += new_plane_state->uapi.dst.y1 - src.y1;
>  		damaged_area.y2 += new_plane_state->uapi.dst.y1 - src.y1;
> -		clip_area_update(&pipe_clip, &damaged_area);
> +
> +		if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
> +			clip_area_update(&pipe_clip, &damaged_area);

As it is repeating move the drm_rect_intersect() call to clip_area_update(), adding a crtc_state parameter or pipe_src, your call.

Also please include a Fixes tag to some commit that makes sense so this patch is backported to older kernels with selective fetch enabled.

>  	}
>  
>  	if (pipe_clip.y1 == -1)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/psr: Use full update In case of area calculation fails
  2022-05-06 15:29   ` Souza, Jose
@ 2022-05-06 18:28     ` Hogander, Jouni
  2022-05-06 18:40       ` Souza, Jose
  0 siblings, 1 reply; 11+ messages in thread
From: Hogander, Jouni @ 2022-05-06 18:28 UTC (permalink / raw)
  To: intel-gfx, Souza, Jose; +Cc: markpearson

On Fri, 2022-05-06 at 15:29 +0000, Souza, Jose wrote:
> On Fri, 2022-05-06 at 08:48 +0300, Jouni Högander wrote:
> > Currently we have some corner cases where area calculation
> > fails.  For
> > these sel fetch are calculation ends up having update area as y1 =
> > 0,
> > y2 = 4. Instead of these values safer option is full update.
> 
> Aren't you able to reproduce this scenarios with IGT? So why not
> probably fix the calculations?

There were some discussion with Ville Syrjälä that the proper fix for
this would be to move psr update area calculation into where other
calculations for planes are done. Currently we don't have e.g. proper
offset information available here. I have this in my tasklist, but been
busy with other tracks.

I'm also concerned generally on the first loop possibly ending up with
y1=-1,y2=-1 values due to other reasons as well. So using that
full_update prevents this posibility completely.

If I forget how I originally found this problem with bigfb I think this
backup using full update if something goes wrong is generally a good
idea. Currently it's just using y1=0,y2=4.

> 
> > Cc: José Roberto de Souza <jose.souza@intel.com>
> > Cc: Mika Kahola <mika.kahola@intel.com>
> > Tested-by: Mark Pearson <markpearson@lenovo.com>
> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_psr.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > b/drivers/gpu/drm/i915/display/intel_psr.c
> > index 06db407e2749..8c099d24de86 100644
> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > @@ -1770,6 +1770,9 @@ int intel_psr2_sel_fetch_update(struct
> > intel_atomic_state *state,
> >  clip_area_update(&pipe_clip, &damaged_area);
> >  }
> > 
> > +if (pipe_clip.y1 == -1)
> > +full_update = true;
> > +
> >  if (full_update)
> >  goto skip_sel_fetch_set_loop;
> > 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/psr: Use full update In case of area calculation fails
  2022-05-06 18:28     ` Hogander, Jouni
@ 2022-05-06 18:40       ` Souza, Jose
  2022-05-09  7:30         ` Hogander, Jouni
  0 siblings, 1 reply; 11+ messages in thread
From: Souza, Jose @ 2022-05-06 18:40 UTC (permalink / raw)
  To: intel-gfx, Hogander, Jouni; +Cc: markpearson

On Fri, 2022-05-06 at 18:28 +0000, Hogander, Jouni wrote:
> On Fri, 2022-05-06 at 15:29 +0000, Souza, Jose wrote:
> > On Fri, 2022-05-06 at 08:48 +0300, Jouni Högander wrote:
> > > Currently we have some corner cases where area calculation
> > > fails.  For
> > > these sel fetch are calculation ends up having update area as y1 =
> > > 0,
> > > y2 = 4. Instead of these values safer option is full update.
> > 
> > Aren't you able to reproduce this scenarios with IGT? So why not
> > probably fix the calculations?
> 
> There were some discussion with Ville Syrjälä that the proper fix for
> this would be to move psr update area calculation into where other
> calculations for planes are done. Currently we don't have e.g. proper
> offset information available here. I have this in my tasklist, but been
> busy with other tracks.

Okay so please add some of that to the commit description.

> 
> I'm also concerned generally on the first loop possibly ending up with
> y1=-1,y2=-1 values due to other reasons as well. So using that
> full_update prevents this posibility completely.
> 
> If I forget how I originally found this problem with bigfb I think this
> backup using full update if something goes wrong is generally a good
> idea. Currently it's just using y1=0,y2=4.
> 
> > 
> > > Cc: José Roberto de Souza <jose.souza@intel.com>
> > > Cc: Mika Kahola <mika.kahola@intel.com>
> > > Tested-by: Mark Pearson <markpearson@lenovo.com>
> > > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_psr.c | 3 +++
> > >  1 file changed, 3 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > > b/drivers/gpu/drm/i915/display/intel_psr.c
> > > index 06db407e2749..8c099d24de86 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > > @@ -1770,6 +1770,9 @@ int intel_psr2_sel_fetch_update(struct
> > > intel_atomic_state *state,
> > >  clip_area_update(&pipe_clip, &damaged_area);
> > >  }
> > > 

Add a TODO and a "drm_DEBUG_ONCE()"(check drm_WARN_ONCE) here so we get a warning about this at least once and this is not forgot.

> > > +if (pipe_clip.y1 == -1)
> > > +full_update = true;
> > > +
> > >  if (full_update)
> > >  goto skip_sel_fetch_set_loop;
> > > 
> 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Intel-gfx] [PATCH 2/2] drm/i915: Ensure damage clip area is within pipe area
  2022-05-06 15:43   ` Souza, Jose
@ 2022-05-09  7:25     ` Hogander, Jouni
  0 siblings, 0 replies; 11+ messages in thread
From: Hogander, Jouni @ 2022-05-09  7:25 UTC (permalink / raw)
  To: intel-gfx, Souza, Jose; +Cc: markpearson

On Fri, 2022-05-06 at 15:43 +0000, Souza, Jose wrote:
> On Fri, 2022-05-06 at 08:48 +0300, Jouni Högander wrote:
> > Current update area calculation is not handling situation where
> > e.g. cursor plane is fully or partially outside pipe area.
> > 
> > Fix this by checking damage area against pipe_src area using
> > drm_rect_intersect.
> > 
> > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5440
> > Cc: José Roberto de Souza <jose.souza@intel.com>
> > Cc: Mika Kahola <mika.kahola@intel.com>
> > Tested-by: Mark Pearson <markpearson@lenovo.com>
> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_psr.c | 17 +++++++++++++----
> >  1 file changed, 13 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > b/drivers/gpu/drm/i915/display/intel_psr.c
> > index 8c099d24de86..5229ba89a079 100644
> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > @@ -1724,6 +1724,10 @@ int intel_psr2_sel_fetch_update(struct
> > intel_atomic_state *state,
> >  break;
> >  }
> > 
> > +/* Set x1 and x2 for drm_rect_intersect usage */
> > +damaged_area.x1 = 0;
> > +damaged_area.x2 = INT_MAX;
> 
> Move the above to the variable definition and initialization.
> 

Fixed, please check new version.

> > +
> >  /*
> >   * If visibility or plane moved, mark the whole plane area as
> >   * damaged as it needs to be complete redraw in the new and old
> > @@ -1735,20 +1739,23 @@ int intel_psr2_sel_fetch_update(struct
> > intel_atomic_state *state,
> >  if (old_plane_state->uapi.visible) {
> >  damaged_area.y1 = old_plane_state->uapi.dst.y1;
> >  damaged_area.y2 = old_plane_state->uapi.dst.y2;
> > -clip_area_update(&pipe_clip, &damaged_area);
> > +if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
> > +clip_area_update(&pipe_clip, &damaged_area);
> >  }
> > 
> >  if (new_plane_state->uapi.visible) {
> >  damaged_area.y1 = new_plane_state->uapi.dst.y1;
> >  damaged_area.y2 = new_plane_state->uapi.dst.y2;
> > -clip_area_update(&pipe_clip, &damaged_area);
> > +if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
> > +clip_area_update(&pipe_clip, &damaged_area);
> >  }
> >  continue;
> >  } else if (new_plane_state->uapi.alpha != old_plane_state-
> > >uapi.alpha) {
> >  /* If alpha changed mark the whole plane area as damaged */
> >  damaged_area.y1 = new_plane_state->uapi.dst.y1;
> >  damaged_area.y2 = new_plane_state->uapi.dst.y2;
> > -clip_area_update(&pipe_clip, &damaged_area);
> > +if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
> > +clip_area_update(&pipe_clip, &damaged_area);
> >  continue;
> >  }
> > 
> > @@ -1767,7 +1774,9 @@ int intel_psr2_sel_fetch_update(struct
> > intel_atomic_state *state,
> > 
> >  damaged_area.y1 += new_plane_state->uapi.dst.y1 - src.y1;
> >  damaged_area.y2 += new_plane_state->uapi.dst.y1 - src.y1;
> > -clip_area_update(&pipe_clip, &damaged_area);
> > +
> > +if (drm_rect_intersect(&damaged_area, &crtc_state->pipe_src))
> > +clip_area_update(&pipe_clip, &damaged_area);
> 
> As it is repeating move the drm_rect_intersect() call to
> clip_area_update(), adding a crtc_state parameter or pipe_src, your
> call.
> 
> Also please include a Fixes tag to some commit that makes sense so
> this patch is backported to older kernels with selective fetch
> enabled.
> 
> >  }
> > 
> >  if (pipe_clip.y1 == -1)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/psr: Use full update In case of area calculation fails
  2022-05-06 18:40       ` Souza, Jose
@ 2022-05-09  7:30         ` Hogander, Jouni
  0 siblings, 0 replies; 11+ messages in thread
From: Hogander, Jouni @ 2022-05-09  7:30 UTC (permalink / raw)
  To: intel-gfx, Souza, Jose; +Cc: markpearson

On Fri, 2022-05-06 at 18:40 +0000, Souza, Jose wrote:
> On Fri, 2022-05-06 at 18:28 +0000, Hogander, Jouni wrote:
> > On Fri, 2022-05-06 at 15:29 +0000, Souza, Jose wrote:
> > > On Fri, 2022-05-06 at 08:48 +0300, Jouni Högander wrote:
> > > > Currently we have some corner cases where area calculation
> > > > fails.  For
> > > > these sel fetch are calculation ends up having update area as
> > > > y1 =
> > > > 0,
> > > > y2 = 4. Instead of these values safer option is full update.
> > > 
> > > Aren't you able to reproduce this scenarios with IGT? So why not
> > > probably fix the calculations?
> > 
> > There were some discussion with Ville Syrjälä that the proper fix
> > for
> > this would be to move psr update area calculation into where other
> > calculations for planes are done. Currently we don't have e.g.
> > proper
> > offset information available here. I have this in my tasklist, but
> > been
> > busy with other tracks.
> 
> Okay so please add some of that to the commit description.

Added some of this into commit message in new version, please check.

> 
> > I'm also concerned generally on the first loop possibly ending up
> > with
> > y1=-1,y2=-1 values due to other reasons as well. So using that
> > full_update prevents this posibility completely.
> > 
> > If I forget how I originally found this problem with bigfb I think
> > this
> > backup using full update if something goes wrong is generally a
> > good
> > idea. Currently it's just using y1=0,y2=4.
> > 
> > > > Cc: José Roberto de Souza <jose.souza@intel.com>
> > > > Cc: Mika Kahola <mika.kahola@intel.com>
> > > > Tested-by: Mark Pearson <markpearson@lenovo.com>
> > > > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > > > ---
> > > >  drivers/gpu/drm/i915/display/intel_psr.c | 3 +++
> > > >  1 file changed, 3 insertions(+)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > > > b/drivers/gpu/drm/i915/display/intel_psr.c
> > > > index 06db407e2749..8c099d24de86 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > > > @@ -1770,6 +1770,9 @@ int intel_psr2_sel_fetch_update(struct
> > > > intel_atomic_state *state,
> > > >  clip_area_update(&pipe_clip, &damaged_area);
> > > >  }
> > > > 
> 
> Add a TODO and a "drm_DEBUG_ONCE()"(check drm_WARN_ONCE) here so we
> get a warning about this at least once and this is not forgot.

I left the warn out. There is some case during boot-up at least in
Fedora35. I.e. This warning would be there always.

How about if I just file own bug for this in gitlab and assign it to
myself?

> 
> > > > +if (pipe_clip.y1 == -1)
> > > > +full_update = true;
> > > > +
> > > >  if (full_update)
> > > >  goto skip_sel_fetch_set_loop;
> > > > 


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-05-09  7:30 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-06  5:48 [Intel-gfx] [PATCH 0/2] Fixes for selective fetch area calculation Jouni Högander
2022-05-06  5:48 ` [Intel-gfx] [PATCH 1/2] drm/i915/psr: Use full update In case of area calculation fails Jouni Högander
2022-05-06 15:29   ` Souza, Jose
2022-05-06 18:28     ` Hogander, Jouni
2022-05-06 18:40       ` Souza, Jose
2022-05-09  7:30         ` Hogander, Jouni
2022-05-06  5:48 ` [Intel-gfx] [PATCH 2/2] drm/i915: Ensure damage clip area is within pipe area Jouni Högander
2022-05-06 15:43   ` Souza, Jose
2022-05-09  7:25     ` Hogander, Jouni
2022-05-06 10:42 ` [Intel-gfx] ✓ Fi.CI.BAT: success for Fixes for selective fetch area calculation Patchwork
2022-05-06 13:37 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.