From: kernel test robot <lkp@intel.com>
Cc: oe-kbuild-all@lists.linux.dev, llvm@lists.linux.dev
Subject: drivers/gpu/drm/i915/display/intel_display.c:1255:17: warning: arithmetic between different enumeration types ('enum transcoder' and 'enum intel_display_power_domain')
Date: Tue, 14 Jan 2025 08:17:16 +0800 [thread overview]
Message-ID: <202501140844.cOsz4vIK-lkp@intel.com> (raw)
CC: linux-kernel@vger.kernel.org
TO: Jani Nikula <jani.nikula@intel.com>
CC: Chris Wilson <chris@chris-wilson.co.uk>
Hi Jani,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c45323b7560ec87c37c729b703c86ee65f136d75
commit: df0566a641f959108c152be748a0a58794280e0e drm/i915: move modesetting core code under display/
date: 6 years ago
config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20250114/202501140844.cOsz4vIK-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250114/202501140844.cOsz4vIK-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501140844.cOsz4vIK-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/i915/display/intel_display.c:50:
In file included from drivers/gpu/drm/i915/display/intel_dsi.h:29:
In file included from drivers/gpu/drm/i915/intel_drv.h:45:
In file included from drivers/gpu/drm/i915/i915_drv.h:47:
In file included from include/linux/shmem_fs.h:7:
In file included from include/linux/mempolicy.h:16:
include/linux/pagemap.h:399:21: warning: cast from 'int (*)(struct file *, struct page *)' to 'filler_t *' (aka 'int (*)(void *, struct page *)') converts to incompatible function type [-Wcast-function-type-strict]
399 | filler_t *filler = (filler_t *)mapping->a_ops->readpage;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/i915/display/intel_display.c:1255:17: warning: arithmetic between different enumeration types ('enum transcoder' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
1255 | power_domain = POWER_DOMAIN_TRANSCODER(cpu_transcoder);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:72:10: note: expanded from macro 'POWER_DOMAIN_TRANSCODER'
72 | (tran) + POWER_DOMAIN_TRANSCODER_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/i915/display/intel_display.c:3865:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
3865 | power_domain = POWER_DOMAIN_PIPE(plane->pipe);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:67:41: note: expanded from macro 'POWER_DOMAIN_PIPE'
67 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display.c:6650:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
6650 | mask = BIT_ULL(POWER_DOMAIN_PIPE(pipe));
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:67:41: note: expanded from macro 'POWER_DOMAIN_PIPE'
67 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
| ^ ~~~~~~~~~~~~~~~~~~~
include/linux/bits.h:7:32: note: expanded from macro 'BIT_ULL'
7 | #define BIT_ULL(nr) (1ULL << (nr))
| ^~
drivers/gpu/drm/i915/display/intel_display.c:6651:18: warning: arithmetic between different enumeration types ('enum transcoder' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
6651 | mask |= BIT_ULL(POWER_DOMAIN_TRANSCODER(transcoder));
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:72:10: note: expanded from macro 'POWER_DOMAIN_TRANSCODER'
72 | (tran) + POWER_DOMAIN_TRANSCODER_A)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/bits.h:7:32: note: expanded from macro 'BIT_ULL'
7 | #define BIT_ULL(nr) (1ULL << (nr))
| ^~
drivers/gpu/drm/i915/display/intel_display.c:6654:19: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
6654 | mask |= BIT_ULL(POWER_DOMAIN_PIPE_PANEL_FITTER(pipe));
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:69:11: note: expanded from macro 'POWER_DOMAIN_PIPE_PANEL_FITTER'
69 | ((pipe) + POWER_DOMAIN_PIPE_A_PANEL_FITTER)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/bits.h:7:32: note: expanded from macro 'BIT_ULL'
7 | #define BIT_ULL(nr) (1ULL << (nr))
| ^~
drivers/gpu/drm/i915/display/intel_display.c:8626:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
8626 | power_domain = POWER_DOMAIN_PIPE(crtc->pipe);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:67:41: note: expanded from macro 'POWER_DOMAIN_PIPE'
67 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display.c:9800:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
9800 | power_domain = POWER_DOMAIN_PIPE(crtc->pipe);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:67:41: note: expanded from macro 'POWER_DOMAIN_PIPE'
67 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display.c:10114:17: warning: arithmetic between different enumeration types ('enum transcoder' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
10114 | power_domain = POWER_DOMAIN_TRANSCODER(pipe_config->cpu_transcoder);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:72:10: note: expanded from macro 'POWER_DOMAIN_TRANSCODER'
72 | (tran) + POWER_DOMAIN_TRANSCODER_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display.c:10148:18: warning: arithmetic between different enumeration types ('enum transcoder' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
10148 | power_domain = POWER_DOMAIN_TRANSCODER(cpu_transcoder);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:72:10: note: expanded from macro 'POWER_DOMAIN_TRANSCODER'
72 | (tran) + POWER_DOMAIN_TRANSCODER_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display.c:10241:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
10241 | power_domain = POWER_DOMAIN_PIPE(crtc->pipe);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:67:41: note: expanded from macro 'POWER_DOMAIN_PIPE'
67 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display.c:10291:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
10291 | power_domain = POWER_DOMAIN_PIPE_PANEL_FITTER(crtc->pipe);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:69:11: note: expanded from macro 'POWER_DOMAIN_PIPE_PANEL_FITTER'
69 | ((pipe) + POWER_DOMAIN_PIPE_A_PANEL_FITTER)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display.c:10591:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
10591 | power_domain = POWER_DOMAIN_PIPE(PIPE_A);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:67:41: note: expanded from macro 'POWER_DOMAIN_PIPE'
67 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display.c:10843:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
10843 | power_domain = POWER_DOMAIN_PIPE(plane->pipe);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:67:41: note: expanded from macro 'POWER_DOMAIN_PIPE'
67 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display.c:17040:5: warning: arithmetic between different enumeration types ('enum transcoder' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
17040 | POWER_DOMAIN_TRANSCODER(cpu_transcoder));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:72:10: note: expanded from macro 'POWER_DOMAIN_TRANSCODER'
72 | (tran) + POWER_DOMAIN_TRANSCODER_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
15 warnings generated.
--
In file included from drivers/gpu/drm/i915/display/intel_dpll_mgr.c:26:
In file included from drivers/gpu/drm/i915/intel_drv.h:45:
In file included from drivers/gpu/drm/i915/i915_drv.h:47:
In file included from include/linux/shmem_fs.h:7:
In file included from include/linux/mempolicy.h:16:
include/linux/pagemap.h:399:21: warning: cast from 'int (*)(struct file *, struct page *)' to 'filler_t *' (aka 'int (*)(void *, struct page *)') converts to incompatible function type [-Wcast-function-type-strict]
399 | filler_t *filler = (filler_t *)mapping->a_ops->readpage;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/i915/display/intel_dpll_mgr.c:2553:17: warning: arithmetic between different enumeration types ('enum tc_port' and 'enum intel_dpll_id') [-Wenum-enum-conversion]
2553 | return tc_port + DPLL_ID_ICL_MGPLL1;
| ~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~
2 warnings generated.
--
In file included from drivers/gpu/drm/i915/display/intel_sprite.c:42:
In file included from drivers/gpu/drm/i915/i915_drv.h:47:
In file included from include/linux/shmem_fs.h:7:
In file included from include/linux/mempolicy.h:16:
include/linux/pagemap.h:399:21: warning: cast from 'int (*)(struct file *, struct page *)' to 'filler_t *' (aka 'int (*)(void *, struct page *)') converts to incompatible function type [-Wcast-function-type-strict]
399 | filler_t *filler = (filler_t *)mapping->a_ops->readpage;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/i915/display/intel_sprite.c:672:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
672 | power_domain = POWER_DOMAIN_PIPE(plane->pipe);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:67:41: note: expanded from macro 'POWER_DOMAIN_PIPE'
67 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_sprite.c:950:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
950 | power_domain = POWER_DOMAIN_PIPE(plane->pipe);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:67:41: note: expanded from macro 'POWER_DOMAIN_PIPE'
67 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_sprite.c:1133:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
1133 | power_domain = POWER_DOMAIN_PIPE(plane->pipe);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:67:41: note: expanded from macro 'POWER_DOMAIN_PIPE'
67 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_sprite.c:1316:17: warning: arithmetic between different enumeration types ('enum pipe' and 'enum intel_display_power_domain') [-Wenum-enum-conversion]
1316 | power_domain = POWER_DOMAIN_PIPE(plane->pipe);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_display_power.h:67:41: note: expanded from macro 'POWER_DOMAIN_PIPE'
67 | #define POWER_DOMAIN_PIPE(pipe) ((pipe) + POWER_DOMAIN_PIPE_A)
| ~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
5 warnings generated.
vim +1255 drivers/gpu/drm/i915/display/intel_display.c
ea0760cfc00b9e drivers/gpu/drm/i915/intel_display.c Jesse Barnes 2011-01-04 1241
b840d907fcf6d5 drivers/gpu/drm/i915/intel_display.c Jesse Barnes 2011-12-13 1242 void assert_pipe(struct drm_i915_private *dev_priv,
63d7bbe9ded414 drivers/gpu/drm/i915/intel_display.c Jesse Barnes 2011-01-04 1243 enum pipe pipe, bool state)
b24e7179887108 drivers/gpu/drm/i915/intel_display.c Jesse Barnes 2011-01-04 1244 {
63d7bbe9ded414 drivers/gpu/drm/i915/intel_display.c Jesse Barnes 2011-01-04 1245 bool cur_state;
702e7a56af3780 drivers/gpu/drm/i915/intel_display.c Paulo Zanoni 2012-10-23 1246 enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv,
702e7a56af3780 drivers/gpu/drm/i915/intel_display.c Paulo Zanoni 2012-10-23 1247 pipe);
4feed0ebfa4587 drivers/gpu/drm/i915/intel_display.c Imre Deak 2016-02-12 1248 enum intel_display_power_domain power_domain;
0e6e0be4c95237 drivers/gpu/drm/i915/intel_display.c Chris Wilson 2019-01-14 1249 intel_wakeref_t wakeref;
b24e7179887108 drivers/gpu/drm/i915/intel_display.c Jesse Barnes 2011-01-04 1250
e56134bc79569d drivers/gpu/drm/i915/intel_display.c Ville Syrjälä 2017-06-01 1251 /* we keep both pipes enabled on 830 */
e56134bc79569d drivers/gpu/drm/i915/intel_display.c Ville Syrjälä 2017-06-01 1252 if (IS_I830(dev_priv))
8e636784b6f766 drivers/gpu/drm/i915/intel_display.c Daniel Vetter 2012-01-22 1253 state = true;
8e636784b6f766 drivers/gpu/drm/i915/intel_display.c Daniel Vetter 2012-01-22 1254
4feed0ebfa4587 drivers/gpu/drm/i915/intel_display.c Imre Deak 2016-02-12 @1255 power_domain = POWER_DOMAIN_TRANSCODER(cpu_transcoder);
0e6e0be4c95237 drivers/gpu/drm/i915/intel_display.c Chris Wilson 2019-01-14 1256 wakeref = intel_display_power_get_if_enabled(dev_priv, power_domain);
0e6e0be4c95237 drivers/gpu/drm/i915/intel_display.c Chris Wilson 2019-01-14 1257 if (wakeref) {
649636ef8274cb drivers/gpu/drm/i915/intel_display.c Ville Syrjälä 2015-09-22 1258 u32 val = I915_READ(PIPECONF(cpu_transcoder));
63d7bbe9ded414 drivers/gpu/drm/i915/intel_display.c Jesse Barnes 2011-01-04 1259 cur_state = !!(val & PIPECONF_ENABLE);
4feed0ebfa4587 drivers/gpu/drm/i915/intel_display.c Imre Deak 2016-02-12 1260
0e6e0be4c95237 drivers/gpu/drm/i915/intel_display.c Chris Wilson 2019-01-14 1261 intel_display_power_put(dev_priv, power_domain, wakeref);
4feed0ebfa4587 drivers/gpu/drm/i915/intel_display.c Imre Deak 2016-02-12 1262 } else {
4feed0ebfa4587 drivers/gpu/drm/i915/intel_display.c Imre Deak 2016-02-12 1263 cur_state = false;
693101618a4bee drivers/gpu/drm/i915/intel_display.c Paulo Zanoni 2013-01-29 1264 }
693101618a4bee drivers/gpu/drm/i915/intel_display.c Paulo Zanoni 2013-01-29 1265
e2c719b75c8c18 drivers/gpu/drm/i915/intel_display.c Rob Clark 2014-12-15 1266 I915_STATE_WARN(cur_state != state,
63d7bbe9ded414 drivers/gpu/drm/i915/intel_display.c Jesse Barnes 2011-01-04 1267 "pipe %c assertion failure (expected %s, current %s)\n",
87ad321287ae99 drivers/gpu/drm/i915/intel_display.c Jani Nikula 2016-01-14 1268 pipe_name(pipe), onoff(state), onoff(cur_state));
b24e7179887108 drivers/gpu/drm/i915/intel_display.c Jesse Barnes 2011-01-04 1269 }
b24e7179887108 drivers/gpu/drm/i915/intel_display.c Jesse Barnes 2011-01-04 1270
:::::: The code at line 1255 was first introduced by commit
:::::: 4feed0ebfa45879bc422c9a0bfa3cffec82ea60a drm/i915: Ensure the HW is powered during HW access in assert_pipe
:::::: TO: Imre Deak <imre.deak@intel.com>
:::::: CC: Imre Deak <imre.deak@intel.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2025-01-14 0:17 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202501140844.cOsz4vIK-lkp@intel.com \
--to=lkp@intel.com \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.