Currently selective fetch area calculation ends up as bogus area in at least 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 or by falling back to full update.
Patch set also adds drm_dbg_once* macros to print out debug message only once. drm_dbg_once_kms is used to printout debug message when selective fetch area calculation fails.
v3: - Add drm_dbg_once* and use it when sel fetch area calculation fails - Move drm_rect_intersect to clip_area_update v2: - Update commit message of first patch - Set damaged_area x1 and x2 during initialization
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 (3): drm/print: Add drm_debug_once* macros 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 | 36 +++++++++++++++++++----- include/drm/drm_print.h | 29 +++++++++++++++++++ 2 files changed, 58 insertions(+), 7 deletions(-)