[PATCH v3 7/8] drm/xe/rtp: Expand max rules/actions per entry again
Lucas De Marchi
lucas.demarchi at intel.com
Mon Jul 29 14:42:59 UTC 2024
On Mon, Jul 29, 2024 at 11:38:51AM GMT, Gustavo Sousa wrote:
>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>
yes, my bad. I used the commit 512660cd1f1a to get the commit message
but re-used too much. I will drop the unrelated trailers.
thanks
Lucas De Marchi
>
>>---
>> 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