Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Linyu Yuan <quic_linyyuan@quicinc.com>
To: Jani Nikula <jani.nikula@linux.intel.com>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH] drm/i915/guc: fix compile issue of guc_klvs_abi.h
Date: Fri, 25 Aug 2023 13:50:46 +0800	[thread overview]
Message-ID: <336c1090-e15f-03f5-7fa3-7fe3784dff5d@quicinc.com> (raw)
In-Reply-To: <875y534r88.fsf@intel.com>


On 8/25/2023 1:37 PM, Jani Nikula wrote:
> On Fri, 25 Aug 2023, Linyu Yuan <quic_linyyuan@quicinc.com> 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 <command-line>: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, _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_priority.isra.47’,
     inlined from ‘register_context’ 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, _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_scheduling_policy_add_klv.isra.56’,
     inlined from ‘guc_init_global_schedule_policy’ at 
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:4449:3,
     inlined from ‘intel_guc_submission_enable’ at 
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:4490:6:
././include/linux/compiler_types.h:397:38: error: call to 
‘__compiletime_assert_1882’ 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:4401:17: note: in 
expansion of macro ‘FIELD_PREP’
   *(klv_ptr++) = FIELD_PREP(GUC_KLV_0_KEY, action) |
                  ^~~~~~~~~~
scripts/Makefile.build:243: recipe for target 
'drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o' failed


>
> BR,
> Jani.
>
>
>
>> Change to use GENMASK() to avoid the issue.
>>
>> Signed-off-by: Linyu Yuan <quic_linyyuan@quicinc.com>
>> ---
>>   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				(0xffff << 16)
>> -#define GUC_KLV_0_LEN				(0xffff << 0)
>> +#define GUC_KLV_0_KEY				GENMASK(31, 16)
>> +#define GUC_KLV_0_LEN				GENMASK(15, 0)
>>   #define GUC_KLV_n_VALUE				(0xffffffff << 0)
>>   
>>   /**

  reply	other threads:[~2023-08-28 12:21 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-25  5:00 [Intel-gfx] [PATCH] drm/i915/guc: fix compile issue of guc_klvs_abi.h Linyu Yuan
2023-08-25  5:37 ` Jani Nikula
2023-08-25  5:50   ` Linyu Yuan [this message]
2023-08-28 21:42     ` Michal Wajdeczko
2023-08-30  2:01       ` Linyu Yuan
2023-08-30  2:05       ` Linyu Yuan
2023-08-28 13:37 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for " Patchwork
2023-08-28 13:53 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-08-28 15:49 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=336c1090-e15f-03f5-7fa3-7fe3784dff5d@quicinc.com \
    --to=quic_linyyuan@quicinc.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=tvrtko.ursulin@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox