[PATCH v3 7/8] drm/xe/rtp: Expand max rules/actions per entry again

Gustavo Sousa gustavo.sousa at intel.com
Mon Jul 29 14:38:51 UTC 2024


Quoting Lucas De Marchi (2024-07-26 22:59:06-03:00)
>Like commit 512660cd1f1a ("drm/xe/rtp: Expand max rules/actions per
>entry") did, expand the maximum number of actions/rules. That commit was
>too conservative, just incrementing 2. Other than the ugliness of these
>macros and additional preprocessor steps when they are used, there are
>no downsides on increasing the maximum: the tables in which they are
>used use a sentinel to mark the last element.
>
>With rtp processing now supporting OR rules, it's possible to migrate
>the extension made for OOB WAs that "entries with name are OR'ed in
>previous entry". For that the maximum number of rules needs to be
>increased.
>
>Just double it. Hopefully 12 is sufficient for longer than 6 was.
>
>Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
>Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
>Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
>Link: https://patchwork.freedesktop.org/patch/msgid/20240618050044.324454-3-lucas.demarchi@intel.com

Are the trailers above result of some sort of using the original commit
as base to generate this one? Should them be dismissed?

With respect to the changes themselves,

Reviewed-by: Gustavo Sousa <gustavo.sousa at intel.com>

>---
> drivers/gpu/drm/xe/xe_rtp.h         | 4 ++--
> drivers/gpu/drm/xe/xe_rtp_helpers.h | 6 ++++++
> 2 files changed, 8 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_rtp.h b/drivers/gpu/drm/xe/xe_rtp.h
>index ad446731192c..827d932b6908 100644
>--- a/drivers/gpu/drm/xe/xe_rtp.h
>+++ b/drivers/gpu/drm/xe/xe_rtp.h
>@@ -374,7 +374,7 @@ struct xe_reg_sr;
>  * XE_RTP_RULES - Helper to set multiple rules to a struct xe_rtp_entry_sr entry
>  * @...: Rules
>  *
>- * At least one rule is needed and up to 6 are supported. Multiple rules are
>+ * At least one rule is needed and up to 12 are supported. Multiple rules are
>  * AND'ed together, i.e. all the rules must evaluate to true for the entry to
>  * be processed. See XE_RTP_MATCH_* for the possible match rules. Example:
>  *
>@@ -399,7 +399,7 @@ struct xe_reg_sr;
>  * XE_RTP_ACTIONS - Helper to set multiple actions to a struct xe_rtp_entry_sr
>  * @...: Actions to be taken
>  *
>- * At least one action is needed and up to 6 are supported. See XE_RTP_ACTION_*
>+ * At least one action is needed and up to 12 are supported. See XE_RTP_ACTION_*
>  * for the possible actions. Example:
>  *
>  * .. code-block:: c
>diff --git a/drivers/gpu/drm/xe/xe_rtp_helpers.h b/drivers/gpu/drm/xe/xe_rtp_helpers.h
>index c59e40fd7fff..a33b0ae98bbc 100644
>--- a/drivers/gpu/drm/xe/xe_rtp_helpers.h
>+++ b/drivers/gpu/drm/xe/xe_rtp_helpers.h
>@@ -60,6 +60,12 @@
> #define XE_RTP_PASTE_4(prefix_, sep_, args_) _XE_RTP_CONCAT(prefix_, FIRST_ARG args_) __XE_RTP_PASTE_SEP_ ## sep_ XE_RTP_PASTE_3(prefix_, sep_, _XE_TUPLE_TAIL args_)
> #define XE_RTP_PASTE_5(prefix_, sep_, args_) _XE_RTP_CONCAT(prefix_, FIRST_ARG args_) __XE_RTP_PASTE_SEP_ ## sep_ XE_RTP_PASTE_4(prefix_, sep_, _XE_TUPLE_TAIL args_)
> #define XE_RTP_PASTE_6(prefix_, sep_, args_) _XE_RTP_CONCAT(prefix_, FIRST_ARG args_) __XE_RTP_PASTE_SEP_ ## sep_ XE_RTP_PASTE_5(prefix_, sep_, _XE_TUPLE_TAIL args_)
>+#define XE_RTP_PASTE_7(prefix_, sep_, args_) _XE_RTP_CONCAT(prefix_, FIRST_ARG args_) __XE_RTP_PASTE_SEP_ ## sep_ XE_RTP_PASTE_6(prefix_, sep_, _XE_TUPLE_TAIL args_)
>+#define XE_RTP_PASTE_8(prefix_, sep_, args_) _XE_RTP_CONCAT(prefix_, FIRST_ARG args_) __XE_RTP_PASTE_SEP_ ## sep_ XE_RTP_PASTE_7(prefix_, sep_, _XE_TUPLE_TAIL args_)
>+#define XE_RTP_PASTE_9(prefix_, sep_, args_) _XE_RTP_CONCAT(prefix_, FIRST_ARG args_) __XE_RTP_PASTE_SEP_ ## sep_ XE_RTP_PASTE_8(prefix_, sep_, _XE_TUPLE_TAIL args_)
>+#define XE_RTP_PASTE_10(prefix_, sep_, args_) _XE_RTP_CONCAT(prefix_, FIRST_ARG args_) __XE_RTP_PASTE_SEP_ ## sep_ XE_RTP_PASTE_9(prefix_, sep_, _XE_TUPLE_TAIL args_)
>+#define XE_RTP_PASTE_11(prefix_, sep_, args_) _XE_RTP_CONCAT(prefix_, FIRST_ARG args_) __XE_RTP_PASTE_SEP_ ## sep_ XE_RTP_PASTE_10(prefix_, sep_, _XE_TUPLE_TAIL args_)
>+#define XE_RTP_PASTE_12(prefix_, sep_, args_) _XE_RTP_CONCAT(prefix_, FIRST_ARG args_) __XE_RTP_PASTE_SEP_ ## sep_ XE_RTP_PASTE_11(prefix_, sep_, _XE_TUPLE_TAIL args_)
> 
> /*
>  * XE_RTP_DROP_CAST - Drop cast to convert a compound statement to a initializer
>-- 
>2.43.0
>


More information about the Intel-xe mailing list