Re: [Intel-gfx] [PATCH] drm/i915/guc: fix compile issue of guc_klvs_abi.h

2023-08-31 Thread Linyu Yuan



On 8/29/2023 5:42 AM, Michal Wajdeczko wrote:


On 25.08.2023 07:50, Linyu Yuan wrote:

On 8/25/2023 1:37 PM, Jani Nikula wrote:

On Fri, 25 Aug 2023, Linyu Yuan  wrote:

GCC report GUC_KLV_0_KEY and GUC_KLV_0_LEN is not constant when do
preprocessing.

Please paste the actual compiler warning.


   CC  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
In file included from :0:0:
In function ‘__guc_context_policy_add_priority.isra.47’,
     inlined from ‘__guc_context_set_prio.isra.48’ at
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3332:3,
     inlined from ‘guc_context_set_prio’ at
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3360:2:
././include/linux/compiler_types.h:397:38: error: call to
‘__compiletime_assert_1803’ declared with attribute error: FIELD_PREP:
mask is not constant
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^
././include/linux/compiler_types.h:378:4: note: in definition of macro
‘__compiletime_assert’
     prefix ## suffix();    \
     ^~
././include/linux/compiler_types.h:397:2: note: in expansion of macro
‘_compiletime_assert’
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^~~
./include/linux/build_bug.h:39:37: note: in expansion of macro
‘compiletime_assert’
  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
  ^~
./include/linux/bitfield.h:65:3: note: in expansion of macro
‘BUILD_BUG_ON_MSG’
    BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
    ^~~~
./include/linux/bitfield.h:114:3: note: in expansion of macro
‘__BF_FIELD_CHECK’
    __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
    ^~~~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2461:3: note: in
expansion of macro ‘FIELD_PREP’
    FIELD_PREP(GUC_KLV_0_KEY, GUC_CONTEXT_POLICIES_KLV_ID_##id) | \
    ^~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2469:1: note: in
expansion of macro ‘MAKE_CONTEXT_POLICY_ADD’
  MAKE_CONTEXT_POLICY_ADD(priority, SCHEDULING_PRIORITY)
  ^~~
In function ‘__guc_context_policy_add_preemption_timeout.isra.51’,
     inlined from ‘__guc_context_set_preemption_timeout’ at
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3005:3:
././include/linux/compiler_types.h:397:38: error: call to
‘__compiletime_assert_1793’ declared with attribute error: FIELD_PREP:
mask is not constant
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^
././include/linux/compiler_types.h:378:4: note: in definition of macro
‘__compiletime_assert’
     prefix ## suffix();    \
     ^~
././include/linux/compiler_types.h:397:2: note: in expansion of macro
‘_compiletime_assert’
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^~~
./include/linux/build_bug.h:39:37: note: in expansion of macro
‘compiletime_assert’
  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
  ^~
./include/linux/bitfield.h:65:3: note: in expansion of macro
‘BUILD_BUG_ON_MSG’
    BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
    ^~~~
./include/linux/bitfield.h:114:3: note: in expansion of macro
‘__BF_FIELD_CHECK’
    __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
    ^~~~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2461:3: note: in
expansion of macro ‘FIELD_PREP’
    FIELD_PREP(GUC_KLV_0_KEY, GUC_CONTEXT_POLICIES_KLV_ID_##id) | \
    ^~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2468:1: note: in
expansion of macro ‘MAKE_CONTEXT_POLICY_ADD’
  MAKE_CONTEXT_POLICY_ADD(preemption_timeout, PREEMPTION_TIMEOUT)
  ^~~
In function ‘__guc_context_policy_add_priority.isra.47’,
     inlined from ‘__guc_add_request’ at
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2503:2:
././include/linux/compiler_types.h:397:38: error: call to
‘__compiletime_assert_1803’ declared with attribute error: FIELD_PREP:
mask is not constant
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^
././include/linux/compiler_types.h:378:4: note: in definition of macro
‘__compiletime_assert’
     prefix ## suffix();    \
     ^~
././include/linux/compiler_types.h:397:2: note: in expansion of macro
‘_compiletime_assert’
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^~~
./include/linux/build_bug.h:39:37: note: in expansion of macro
‘compiletime_assert’
  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
  ^~
./include/linux/bitfield.h:65:3: note: in expansion of macro
‘BUILD_BUG_ON_MSG’
    BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
    ^~~~
./include/linux/bitfield.h:114:3: 

Re: [Intel-gfx] [PATCH] drm/i915/guc: fix compile issue of guc_klvs_abi.h

2023-08-31 Thread Linyu Yuan



On 8/29/2023 5:42 AM, Michal Wajdeczko wrote:


On 25.08.2023 07:50, Linyu Yuan wrote:

On 8/25/2023 1:37 PM, Jani Nikula wrote:

On Fri, 25 Aug 2023, Linyu Yuan  wrote:

GCC report GUC_KLV_0_KEY and GUC_KLV_0_LEN is not constant when do
preprocessing.

Please paste the actual compiler warning.


   CC  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
In file included from :0:0:
In function ‘__guc_context_policy_add_priority.isra.47’,
     inlined from ‘__guc_context_set_prio.isra.48’ at
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3332:3,
     inlined from ‘guc_context_set_prio’ at
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3360:2:
././include/linux/compiler_types.h:397:38: error: call to
‘__compiletime_assert_1803’ declared with attribute error: FIELD_PREP:
mask is not constant
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^
././include/linux/compiler_types.h:378:4: note: in definition of macro
‘__compiletime_assert’
     prefix ## suffix();    \
     ^~
././include/linux/compiler_types.h:397:2: note: in expansion of macro
‘_compiletime_assert’
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^~~
./include/linux/build_bug.h:39:37: note: in expansion of macro
‘compiletime_assert’
  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
  ^~
./include/linux/bitfield.h:65:3: note: in expansion of macro
‘BUILD_BUG_ON_MSG’
    BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
    ^~~~
./include/linux/bitfield.h:114:3: note: in expansion of macro
‘__BF_FIELD_CHECK’
    __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
    ^~~~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2461:3: note: in
expansion of macro ‘FIELD_PREP’
    FIELD_PREP(GUC_KLV_0_KEY, GUC_CONTEXT_POLICIES_KLV_ID_##id) | \
    ^~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2469:1: note: in
expansion of macro ‘MAKE_CONTEXT_POLICY_ADD’
  MAKE_CONTEXT_POLICY_ADD(priority, SCHEDULING_PRIORITY)
  ^~~
In function ‘__guc_context_policy_add_preemption_timeout.isra.51’,
     inlined from ‘__guc_context_set_preemption_timeout’ at
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3005:3:
././include/linux/compiler_types.h:397:38: error: call to
‘__compiletime_assert_1793’ declared with attribute error: FIELD_PREP:
mask is not constant
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^
././include/linux/compiler_types.h:378:4: note: in definition of macro
‘__compiletime_assert’
     prefix ## suffix();    \
     ^~
././include/linux/compiler_types.h:397:2: note: in expansion of macro
‘_compiletime_assert’
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^~~
./include/linux/build_bug.h:39:37: note: in expansion of macro
‘compiletime_assert’
  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
  ^~
./include/linux/bitfield.h:65:3: note: in expansion of macro
‘BUILD_BUG_ON_MSG’
    BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
    ^~~~
./include/linux/bitfield.h:114:3: note: in expansion of macro
‘__BF_FIELD_CHECK’
    __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
    ^~~~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2461:3: note: in
expansion of macro ‘FIELD_PREP’
    FIELD_PREP(GUC_KLV_0_KEY, GUC_CONTEXT_POLICIES_KLV_ID_##id) | \
    ^~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2468:1: note: in
expansion of macro ‘MAKE_CONTEXT_POLICY_ADD’
  MAKE_CONTEXT_POLICY_ADD(preemption_timeout, PREEMPTION_TIMEOUT)
  ^~~
In function ‘__guc_context_policy_add_priority.isra.47’,
     inlined from ‘__guc_add_request’ at
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2503:2:
././include/linux/compiler_types.h:397:38: error: call to
‘__compiletime_assert_1803’ declared with attribute error: FIELD_PREP:
mask is not constant
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^
././include/linux/compiler_types.h:378:4: note: in definition of macro
‘__compiletime_assert’
     prefix ## suffix();    \
     ^~
././include/linux/compiler_types.h:397:2: note: in expansion of macro
‘_compiletime_assert’
   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
   ^~~
./include/linux/build_bug.h:39:37: note: in expansion of macro
‘compiletime_assert’
  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
  ^~
./include/linux/bitfield.h:65:3: note: in expansion of macro
‘BUILD_BUG_ON_MSG’
    BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
    ^~~~
./include/linux/bitfield.h:114:3: 

Re: [Intel-gfx] [PATCH] drm/i915/guc: fix compile issue of guc_klvs_abi.h

2023-08-28 Thread Michal Wajdeczko



On 25.08.2023 07:50, Linyu Yuan wrote:
> 
> On 8/25/2023 1:37 PM, Jani Nikula wrote:
>> On Fri, 25 Aug 2023, Linyu Yuan  wrote:
>>> GCC report GUC_KLV_0_KEY and GUC_KLV_0_LEN is not constant when do
>>> preprocessing.
>> Please paste the actual compiler warning.
> 
> 
>   CC  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
> In file included from :0:0:
> In function ‘__guc_context_policy_add_priority.isra.47’,
>     inlined from ‘__guc_context_set_prio.isra.48’ at
> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3332:3,
>     inlined from ‘guc_context_set_prio’ at
> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3360:2:
> ././include/linux/compiler_types.h:397:38: error: call to
> ‘__compiletime_assert_1803’ declared with attribute error: FIELD_PREP:
> mask is not constant
>   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>   ^
> ././include/linux/compiler_types.h:378:4: note: in definition of macro
> ‘__compiletime_assert’
>     prefix ## suffix();    \
>     ^~
> ././include/linux/compiler_types.h:397:2: note: in expansion of macro
> ‘_compiletime_assert’
>   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>   ^~~
> ./include/linux/build_bug.h:39:37: note: in expansion of macro
> ‘compiletime_assert’
>  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>  ^~
> ./include/linux/bitfield.h:65:3: note: in expansion of macro
> ‘BUILD_BUG_ON_MSG’
>    BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
>    ^~~~
> ./include/linux/bitfield.h:114:3: note: in expansion of macro
> ‘__BF_FIELD_CHECK’
>    __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
>    ^~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2461:3: note: in
> expansion of macro ‘FIELD_PREP’
>    FIELD_PREP(GUC_KLV_0_KEY, GUC_CONTEXT_POLICIES_KLV_ID_##id) | \
>    ^~
> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2469:1: note: in
> expansion of macro ‘MAKE_CONTEXT_POLICY_ADD’
>  MAKE_CONTEXT_POLICY_ADD(priority, SCHEDULING_PRIORITY)
>  ^~~
> In function ‘__guc_context_policy_add_preemption_timeout.isra.51’,
>     inlined from ‘__guc_context_set_preemption_timeout’ at
> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3005:3:
> ././include/linux/compiler_types.h:397:38: error: call to
> ‘__compiletime_assert_1793’ declared with attribute error: FIELD_PREP:
> mask is not constant
>   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>   ^
> ././include/linux/compiler_types.h:378:4: note: in definition of macro
> ‘__compiletime_assert’
>     prefix ## suffix();    \
>     ^~
> ././include/linux/compiler_types.h:397:2: note: in expansion of macro
> ‘_compiletime_assert’
>   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>   ^~~
> ./include/linux/build_bug.h:39:37: note: in expansion of macro
> ‘compiletime_assert’
>  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>  ^~
> ./include/linux/bitfield.h:65:3: note: in expansion of macro
> ‘BUILD_BUG_ON_MSG’
>    BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
>    ^~~~
> ./include/linux/bitfield.h:114:3: note: in expansion of macro
> ‘__BF_FIELD_CHECK’
>    __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
>    ^~~~
> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2461:3: note: in
> expansion of macro ‘FIELD_PREP’
>    FIELD_PREP(GUC_KLV_0_KEY, GUC_CONTEXT_POLICIES_KLV_ID_##id) | \
>    ^~
> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2468:1: note: in
> expansion of macro ‘MAKE_CONTEXT_POLICY_ADD’
>  MAKE_CONTEXT_POLICY_ADD(preemption_timeout, PREEMPTION_TIMEOUT)
>  ^~~
> In function ‘__guc_context_policy_add_priority.isra.47’,
>     inlined from ‘__guc_add_request’ at
> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2503:2:
> ././include/linux/compiler_types.h:397:38: error: call to
> ‘__compiletime_assert_1803’ declared with attribute error: FIELD_PREP:
> mask is not constant
>   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>   ^
> ././include/linux/compiler_types.h:378:4: note: in definition of macro
> ‘__compiletime_assert’
>     prefix ## suffix();    \
>     ^~
> ././include/linux/compiler_types.h:397:2: note: in expansion of macro
> ‘_compiletime_assert’
>   _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>   ^~~
> ./include/linux/build_bug.h:39:37: note: in expansion of macro
> ‘compiletime_assert’
>  #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>  ^~
> ./include/linux/bitfield.h:65:3: note: in expansion of macro
> 

[Intel-gfx] [PATCH] drm/i915/guc: fix compile issue of guc_klvs_abi.h

2023-08-28 Thread Linyu Yuan
GCC report GUC_KLV_0_KEY and GUC_KLV_0_LEN is not constant when do
preprocessing.

Change to use GENMASK() to avoid the issue.

Signed-off-by: Linyu Yuan 
---
 drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h 
b/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
index 58012edd4eb0..fd3c16695e5f 100644
--- a/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
+++ b/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
@@ -29,8 +29,8 @@
  */
 
 #define GUC_KLV_LEN_MIN1u
-#define GUC_KLV_0_KEY  (0x << 16)
-#define GUC_KLV_0_LEN  (0x << 0)
+#define GUC_KLV_0_KEY  GENMASK(31, 16)
+#define GUC_KLV_0_LEN  GENMASK(15, 0)
 #define GUC_KLV_n_VALUE(0x << 0)
 
 /**
-- 
2.17.1



Re: [Intel-gfx] [PATCH] drm/i915/guc: fix compile issue of guc_klvs_abi.h

2023-08-28 Thread Linyu Yuan



On 8/25/2023 1:37 PM, Jani Nikula wrote:

On Fri, 25 Aug 2023, Linyu Yuan  wrote:

GCC report GUC_KLV_0_KEY and GUC_KLV_0_LEN is not constant when do
preprocessing.

Please paste the actual compiler warning.



  CC  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
In file included from :0:0:
In function ‘__guc_context_policy_add_priority.isra.47’,
    inlined from ‘__guc_context_set_prio.isra.48’ at 
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3332:3,
    inlined from ‘guc_context_set_prio’ at 
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3360:2:
././include/linux/compiler_types.h:397:38: error: call to 
‘__compiletime_assert_1803’ declared with attribute error: FIELD_PREP: 
mask is not constant

  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
  ^
././include/linux/compiler_types.h:378:4: note: in definition of macro 
‘__compiletime_assert’

    prefix ## suffix();    \
    ^~
././include/linux/compiler_types.h:397:2: note: in expansion of macro 
‘_compiletime_assert’

  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
  ^~~
./include/linux/build_bug.h:39:37: note: in expansion of macro 
‘compiletime_assert’

 #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
 ^~
./include/linux/bitfield.h:65:3: note: in expansion of macro 
‘BUILD_BUG_ON_MSG’

   BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
   ^~~~
./include/linux/bitfield.h:114:3: note: in expansion of macro 
‘__BF_FIELD_CHECK’

   __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
   ^~~~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2461:3: note: in 
expansion of macro ‘FIELD_PREP’

   FIELD_PREP(GUC_KLV_0_KEY, GUC_CONTEXT_POLICIES_KLV_ID_##id) | \
   ^~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2469:1: note: in 
expansion of macro ‘MAKE_CONTEXT_POLICY_ADD’

 MAKE_CONTEXT_POLICY_ADD(priority, SCHEDULING_PRIORITY)
 ^~~
In function ‘__guc_context_policy_add_preemption_timeout.isra.51’,
    inlined from ‘__guc_context_set_preemption_timeout’ at 
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3005:3:
././include/linux/compiler_types.h:397:38: error: call to 
‘__compiletime_assert_1793’ declared with attribute error: FIELD_PREP: 
mask is not constant

  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
  ^
././include/linux/compiler_types.h:378:4: note: in definition of macro 
‘__compiletime_assert’

    prefix ## suffix();    \
    ^~
././include/linux/compiler_types.h:397:2: note: in expansion of macro 
‘_compiletime_assert’

  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
  ^~~
./include/linux/build_bug.h:39:37: note: in expansion of macro 
‘compiletime_assert’

 #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
 ^~
./include/linux/bitfield.h:65:3: note: in expansion of macro 
‘BUILD_BUG_ON_MSG’

   BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
   ^~~~
./include/linux/bitfield.h:114:3: note: in expansion of macro 
‘__BF_FIELD_CHECK’

   __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
   ^~~~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2461:3: note: in 
expansion of macro ‘FIELD_PREP’

   FIELD_PREP(GUC_KLV_0_KEY, GUC_CONTEXT_POLICIES_KLV_ID_##id) | \
   ^~
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2468:1: note: in 
expansion of macro ‘MAKE_CONTEXT_POLICY_ADD’

 MAKE_CONTEXT_POLICY_ADD(preemption_timeout, PREEMPTION_TIMEOUT)
 ^~~
In function ‘__guc_context_policy_add_priority.isra.47’,
    inlined from ‘__guc_add_request’ at 
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2503:2:
././include/linux/compiler_types.h:397:38: error: call to 
‘__compiletime_assert_1803’ declared with attribute error: FIELD_PREP: 
mask is not constant

  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
  ^
././include/linux/compiler_types.h:378:4: note: in definition of macro 
‘__compiletime_assert’

    prefix ## suffix();    \
    ^~
././include/linux/compiler_types.h:397:2: note: in expansion of macro 
‘_compiletime_assert’

  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
  ^~~
./include/linux/build_bug.h:39:37: note: in expansion of macro 
‘compiletime_assert’

 #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
 ^~
./include/linux/bitfield.h:65:3: note: in expansion of macro 
‘BUILD_BUG_ON_MSG’

   BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask),  \
   ^~~~
./include/linux/bitfield.h:114:3: note: in expansion of macro 
‘__BF_FIELD_CHECK’

   __BF_FIELD_CHECK(_mask, 0ULL, 

Re: [Intel-gfx] [PATCH] drm/i915/guc: fix compile issue of guc_klvs_abi.h

2023-08-24 Thread Jani Nikula
On Fri, 25 Aug 2023, Linyu Yuan  wrote:
> GCC report GUC_KLV_0_KEY and GUC_KLV_0_LEN is not constant when do
> preprocessing.

Please paste the actual compiler warning.

BR,
Jani.



>
> Change to use GENMASK() to avoid the issue.
>
> Signed-off-by: Linyu Yuan 
> ---
>  drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h 
> b/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
> index 58012edd4eb0..fd3c16695e5f 100644
> --- a/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
> +++ b/drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
> @@ -29,8 +29,8 @@
>   */
>  
>  #define GUC_KLV_LEN_MIN  1u
> -#define GUC_KLV_0_KEY(0x << 16)
> -#define GUC_KLV_0_LEN(0x << 0)
> +#define GUC_KLV_0_KEYGENMASK(31, 16)
> +#define GUC_KLV_0_LENGENMASK(15, 0)
>  #define GUC_KLV_n_VALUE  (0x << 0)
>  
>  /**

-- 
Jani Nikula, Intel Open Source Graphics Center