All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/gpu/drm/i915/display/intel_display.c:1255:17: warning: arithmetic between different enumeration types ('enum transcoder' and 'enum intel_display_power_domain')
@ 2025-01-14  0:17 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-01-14  0:17 UTC (permalink / raw)
  Cc: oe-kbuild-all, llvm

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-01-14  0:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-14  0:17 drivers/gpu/drm/i915/display/intel_display.c:1255:17: warning: arithmetic between different enumeration types ('enum transcoder' and 'enum intel_display_power_domain') kernel test robot

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.