drm/xe/rtp: Fix off-by-one when processing rules
authorLucas De Marchi <lucas.demarchi@intel.com>
Fri, 26 Jul 2024 06:43:35 +0000 (23:43 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 8 Aug 2024 17:48:01 +0000 (13:48 -0400)
commitae02c7b7fea3e034fbd724c21d88406f71ccc2f8
treedb0cab2b8d0109fab3043de3ac422e7aae3fcdd0
parentde9c2c66ad8e787abec7c9d7eff4f8c3cdd28aed
drm/xe/rtp: Fix off-by-one when processing rules

Gustavo noticed an odd "+ 2" in rtp_mark_active() while processing
rtp rules and pointed that it should be "+ 1". In fact, while processing
entries without actions (OOB workarounds), if the WA is activated and
has OR rules, it will also inadvertently activate the very next
workaround.

Test in a LNL B0 platform by moving 18024947630 on top of 16020292621,
makes the latter become active:

$ cat /sys/kernel/debug/dri/0/gt0/workarounds
...
OOB Workarounds
18024947630
16020292621
14018094691
16022287689
13011645652
22019338487_display

In future a kunit test will be added to cover the rtp checks for entries
without actions.

Fixes: fe19328b900c ("drm/xe/rtp: Add support for entries with no action")
Cc: Gustavo Sousa <gustavo.sousa@intel.com>
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240726064337.797576-6-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
(cherry picked from commit fd6797ec50c561f085bc94e3ee26f484a52af79e)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_rtp.c