Hi Maarten,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-i915/for-linux-next]
[also build test WARNING on drm-i915/for-linux-next-fixes drm-xe/drm-xe-next 
drm-tip/drm-tip linus/master v6.19-rc1 next-20251219]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Maarten-Lankhorst/drm-i915-display-Fix-intel_lpe_audio_irq_handler-for-PREEMPT-RT/20251219-044020
base:   https://gitlab.freedesktop.org/drm/i915/kernel.git for-linux-next
patch link:    
https://lore.kernel.org/r/20251218163408.97508-21-dev%40lankhorst.se
patch subject: [i915-rt v4 20/20] drm/i915/display: Remove uncore lock from 
vlv_atomic_update_fifo
config: x86_64-rhel-9.4 
(https://download.01.org/0day-ci/archive/20251220/[email protected]/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20251220/[email protected]/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 <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

   In file included from drivers/gpu/drm/i915/gt/intel_engine_types.h:26,
                    from drivers/gpu/drm/i915/gt/intel_context_types.h:17,
                    from drivers/gpu/drm/i915/gem/i915_gem_context_types.h:19,
                    from drivers/gpu/drm/i915/i915_drv.h:40,
                    from drivers/gpu/drm/i915/display/i9xx_wm.c:10:
   drivers/gpu/drm/i915/intel_uncore.h: In function 
'intel_uncore_read64_2x32_fw':
   drivers/gpu/drm/i915/intel_uncore.h:455:19: error: expected '=', ',', ';', 
'asm' or '__attribute__' before 'lower'
     455 |         u32 upper lower, old_upper, loop = 0;
         |                   ^~~~~
   drivers/gpu/drm/i915/intel_uncore.h:455:19: error: 'lower' undeclared (first 
use in this function); did you mean 'islower'?
     455 |         u32 upper lower, old_upper, loop = 0;
         |                   ^~~~~
         |                   islower
   drivers/gpu/drm/i915/intel_uncore.h:455:19: note: each undeclared identifier 
is reported only once for each function it appears in
   drivers/gpu/drm/i915/intel_uncore.h:455:26: error: 'old_upper' undeclared 
(first use in this function); did you mean 'si_upper'?
     455 |         u32 upper lower, old_upper, loop = 0;
         |                          ^~~~~~~~~
         |                          si_upper
   drivers/gpu/drm/i915/intel_uncore.h:455:24: warning: left-hand operand of 
comma expression has no effect [-Wunused-value]
     455 |         u32 upper lower, old_upper, loop = 0;
         |                        ^
   drivers/gpu/drm/i915/intel_uncore.h:455:37: error: 'loop' undeclared (first 
use in this function)
     455 |         u32 upper lower, old_upper, loop = 0;
         |                                     ^~~~
   drivers/gpu/drm/i915/intel_uncore.h:455:35: warning: left-hand operand of 
comma expression has no effect [-Wunused-value]
     455 |         u32 upper lower, old_upper, loop = 0;
         |                                   ^
   drivers/gpu/drm/i915/intel_uncore.h:456:9: error: 'upper' undeclared (first 
use in this function)
     456 |         upper = intel_uncore_read_fw(uncoree, upper_reg);
         |         ^~~~~
   drivers/gpu/drm/i915/intel_uncore.h:456:38: error: 'uncoree' undeclared 
(first use in this function); did you mean 'uncore'?
     456 |         upper = intel_uncore_read_fw(uncoree, upper_reg);
         |                                      ^~~~~~~
   drivers/gpu/drm/i915/intel_uncore.h:425:55: note: in definition of macro 
'intel_uncore_read_fw'
     425 | #define intel_uncore_read_fw(...) __raw_uncore_read32(__VA_ARGS__)
         |                                                       ^~~~~~~~~~~
   drivers/gpu/drm/i915/intel_uncore.h:456:47: error: 'upper_reg' undeclared 
(first use in this function)
     456 |         upper = intel_uncore_read_fw(uncoree, upper_reg);
         |                                               ^~~~~~~~~
   drivers/gpu/drm/i915/intel_uncore.h:425:55: note: in definition of macro 
'intel_uncore_read_fw'
     425 | #define intel_uncore_read_fw(...) __raw_uncore_read32(__VA_ARGS__)
         |                                                       ^~~~~~~~~~~
   drivers/gpu/drm/i915/intel_uncore.h:459:54: error: 'lower_reg' undeclared 
(first use in this function)
     459 |                 lower = intel_uncore_read_fw(uncore, lower_reg);
         |                                                      ^~~~~~~~~
   drivers/gpu/drm/i915/intel_uncore.h:425:55: note: in definition of macro 
'intel_uncore_read_fw'
     425 | #define intel_uncore_read_fw(...) __raw_uncore_read32(__VA_ARGS__)
         |                                                       ^~~~~~~~~~~
   drivers/gpu/drm/i915/intel_uncore.h: In function 'intel_uncore_read64_2x32':
   drivers/gpu/drm/i915/intel_uncore.h:483:15: error: too many arguments to 
function 'intel_uncore_read64_2x32_fw'
     483 |         ret = intel_uncore_read64_2x32_fw(uncore, lower_reg, 
upper_reg);
         |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/intel_uncore.h:453:1: note: declared here
     453 | intel_uncore_read64_2x32_fw(struct intel_uncore *uncore)
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/i915/display/i9xx_wm.c:16:
   drivers/gpu/drm/i915/display/intel_de.h: In function 
'intel_de_read64_2x32_fw':
   drivers/gpu/drm/i915/display/intel_de.h:70:16: error: too many arguments to 
function 'intel_uncore_read64_2x32_fw'
      70 |         return intel_uncore_read64_2x32_fw(__to_uncore(display),
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/intel_uncore.h:453:1: note: declared here
     453 | intel_uncore_read64_2x32_fw(struct intel_uncore *uncore)
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/i9xx_wm.c: In function 'vlv_atomic_update_fifo':
>> drivers/gpu/drm/i915/display/i9xx_wm.c:1867:30: warning: unused variable 
>> 'uncore' [-Wunused-variable]
    1867 |         struct intel_uncore *uncore = &dev_priv->uncore;
         |                              ^~~~~~


vim +/uncore +1867 drivers/gpu/drm/i915/display/i9xx_wm.c

94b49d53acece8 Jani Nikula 2023-02-13  1858  
94b49d53acece8 Jani Nikula 2023-02-13  1859  #define VLV_FIFO(plane, value) \
94b49d53acece8 Jani Nikula 2023-02-13  1860     (((value) << DSPARB_ ## plane 
## _SHIFT_VLV) & DSPARB_ ## plane ## _MASK_VLV)
94b49d53acece8 Jani Nikula 2023-02-13  1861  
94b49d53acece8 Jani Nikula 2023-02-13  1862  static void 
vlv_atomic_update_fifo(struct intel_atomic_state *state,
94b49d53acece8 Jani Nikula 2023-02-13  1863                                
struct intel_crtc *crtc)
94b49d53acece8 Jani Nikula 2023-02-13  1864  {
d0e7412505dc87 Jani Nikula 2025-04-08  1865     struct intel_display *display = 
to_intel_display(crtc);
94b49d53acece8 Jani Nikula 2023-02-13  1866     struct drm_i915_private 
*dev_priv = to_i915(crtc->base.dev);
94b49d53acece8 Jani Nikula 2023-02-13 @1867     struct intel_uncore *uncore = 
&dev_priv->uncore;
94b49d53acece8 Jani Nikula 2023-02-13  1868     const struct intel_crtc_state 
*crtc_state =
94b49d53acece8 Jani Nikula 2023-02-13  1869             
intel_atomic_get_new_crtc_state(state, crtc);
94b49d53acece8 Jani Nikula 2023-02-13  1870     const struct vlv_fifo_state 
*fifo_state =
94b49d53acece8 Jani Nikula 2023-02-13  1871             
&crtc_state->wm.vlv.fifo_state;
94b49d53acece8 Jani Nikula 2023-02-13  1872     int sprite0_start, 
sprite1_start, fifo_size;
94b49d53acece8 Jani Nikula 2023-02-13  1873     u32 dsparb, dsparb2, dsparb3;
94b49d53acece8 Jani Nikula 2023-02-13  1874  
94b49d53acece8 Jani Nikula 2023-02-13  1875     if (!crtc_state->fifo_changed)
94b49d53acece8 Jani Nikula 2023-02-13  1876             return;
94b49d53acece8 Jani Nikula 2023-02-13  1877  
94b49d53acece8 Jani Nikula 2023-02-13  1878     sprite0_start = 
fifo_state->plane[PLANE_PRIMARY];
94b49d53acece8 Jani Nikula 2023-02-13  1879     sprite1_start = 
fifo_state->plane[PLANE_SPRITE0] + sprite0_start;
94b49d53acece8 Jani Nikula 2023-02-13  1880     fifo_size = 
fifo_state->plane[PLANE_SPRITE1] + sprite1_start;
94b49d53acece8 Jani Nikula 2023-02-13  1881  
d35b913f0e1cb0 Jani Nikula 2025-04-08  1882     drm_WARN_ON(display->drm, 
fifo_state->plane[PLANE_CURSOR] != 63);
d35b913f0e1cb0 Jani Nikula 2025-04-08  1883     drm_WARN_ON(display->drm, 
fifo_size != 511);
94b49d53acece8 Jani Nikula 2023-02-13  1884  
94b49d53acece8 Jani Nikula 2023-02-13  1885     trace_vlv_fifo_size(crtc, 
sprite0_start, sprite1_start, fifo_size);
94b49d53acece8 Jani Nikula 2023-02-13  1886  
94b49d53acece8 Jani Nikula 2023-02-13  1887     /*
94b49d53acece8 Jani Nikula 2023-02-13  1888      * uncore.lock serves a double 
purpose here. It allows us to
94b49d53acece8 Jani Nikula 2023-02-13  1889      * use the less expensive 
I915_{READ,WRITE}_FW() functions, and
94b49d53acece8 Jani Nikula 2023-02-13  1890      * it protects the DSPARB 
registers from getting clobbered by
94b49d53acece8 Jani Nikula 2023-02-13  1891      * parallel updates from 
multiple pipes.
94b49d53acece8 Jani Nikula 2023-02-13  1892      *
94b49d53acece8 Jani Nikula 2023-02-13  1893      * intel_pipe_update_start() 
has already disabled interrupts
94b49d53acece8 Jani Nikula 2023-02-13  1894      * for us, so a plain 
spin_lock() is sufficient here.
94b49d53acece8 Jani Nikula 2023-02-13  1895      */
94b49d53acece8 Jani Nikula 2023-02-13  1896  
94b49d53acece8 Jani Nikula 2023-02-13  1897     switch (crtc->pipe) {
94b49d53acece8 Jani Nikula 2023-02-13  1898     case PIPE_A:
d0e7412505dc87 Jani Nikula 2025-04-08  1899             dsparb = 
intel_de_read_fw(display, DSPARB(display));
d0e7412505dc87 Jani Nikula 2025-04-08  1900             dsparb2 = 
intel_de_read_fw(display, DSPARB2);
94b49d53acece8 Jani Nikula 2023-02-13  1901  
94b49d53acece8 Jani Nikula 2023-02-13  1902             dsparb &= 
~(VLV_FIFO(SPRITEA, 0xff) |
94b49d53acece8 Jani Nikula 2023-02-13  1903                         
VLV_FIFO(SPRITEB, 0xff));
94b49d53acece8 Jani Nikula 2023-02-13  1904             dsparb |= 
(VLV_FIFO(SPRITEA, sprite0_start) |
94b49d53acece8 Jani Nikula 2023-02-13  1905                        
VLV_FIFO(SPRITEB, sprite1_start));
94b49d53acece8 Jani Nikula 2023-02-13  1906  
94b49d53acece8 Jani Nikula 2023-02-13  1907             dsparb2 &= 
~(VLV_FIFO(SPRITEA_HI, 0x1) |
94b49d53acece8 Jani Nikula 2023-02-13  1908                          
VLV_FIFO(SPRITEB_HI, 0x1));
94b49d53acece8 Jani Nikula 2023-02-13  1909             dsparb2 |= 
(VLV_FIFO(SPRITEA_HI, sprite0_start >> 8) |
94b49d53acece8 Jani Nikula 2023-02-13  1910                        
VLV_FIFO(SPRITEB_HI, sprite1_start >> 8));
94b49d53acece8 Jani Nikula 2023-02-13  1911  
d0e7412505dc87 Jani Nikula 2025-04-08  1912             
intel_de_write_fw(display, DSPARB(display), dsparb);
d0e7412505dc87 Jani Nikula 2025-04-08  1913             
intel_de_write_fw(display, DSPARB2, dsparb2);
94b49d53acece8 Jani Nikula 2023-02-13  1914             break;
94b49d53acece8 Jani Nikula 2023-02-13  1915     case PIPE_B:
d0e7412505dc87 Jani Nikula 2025-04-08  1916             dsparb = 
intel_de_read_fw(display, DSPARB(display));
d0e7412505dc87 Jani Nikula 2025-04-08  1917             dsparb2 = 
intel_de_read_fw(display, DSPARB2);
94b49d53acece8 Jani Nikula 2023-02-13  1918  
94b49d53acece8 Jani Nikula 2023-02-13  1919             dsparb &= 
~(VLV_FIFO(SPRITEC, 0xff) |
94b49d53acece8 Jani Nikula 2023-02-13  1920                         
VLV_FIFO(SPRITED, 0xff));
94b49d53acece8 Jani Nikula 2023-02-13  1921             dsparb |= 
(VLV_FIFO(SPRITEC, sprite0_start) |
94b49d53acece8 Jani Nikula 2023-02-13  1922                        
VLV_FIFO(SPRITED, sprite1_start));
94b49d53acece8 Jani Nikula 2023-02-13  1923  
94b49d53acece8 Jani Nikula 2023-02-13  1924             dsparb2 &= 
~(VLV_FIFO(SPRITEC_HI, 0xff) |
94b49d53acece8 Jani Nikula 2023-02-13  1925                          
VLV_FIFO(SPRITED_HI, 0xff));
94b49d53acece8 Jani Nikula 2023-02-13  1926             dsparb2 |= 
(VLV_FIFO(SPRITEC_HI, sprite0_start >> 8) |
94b49d53acece8 Jani Nikula 2023-02-13  1927                        
VLV_FIFO(SPRITED_HI, sprite1_start >> 8));
94b49d53acece8 Jani Nikula 2023-02-13  1928  
d0e7412505dc87 Jani Nikula 2025-04-08  1929             
intel_de_write_fw(display, DSPARB(display), dsparb);
d0e7412505dc87 Jani Nikula 2025-04-08  1930             
intel_de_write_fw(display, DSPARB2, dsparb2);
94b49d53acece8 Jani Nikula 2023-02-13  1931             break;
94b49d53acece8 Jani Nikula 2023-02-13  1932     case PIPE_C:
d0e7412505dc87 Jani Nikula 2025-04-08  1933             dsparb3 = 
intel_de_read_fw(display, DSPARB3);
d0e7412505dc87 Jani Nikula 2025-04-08  1934             dsparb2 = 
intel_de_read_fw(display, DSPARB2);
94b49d53acece8 Jani Nikula 2023-02-13  1935  
94b49d53acece8 Jani Nikula 2023-02-13  1936             dsparb3 &= 
~(VLV_FIFO(SPRITEE, 0xff) |
94b49d53acece8 Jani Nikula 2023-02-13  1937                          
VLV_FIFO(SPRITEF, 0xff));
94b49d53acece8 Jani Nikula 2023-02-13  1938             dsparb3 |= 
(VLV_FIFO(SPRITEE, sprite0_start) |
94b49d53acece8 Jani Nikula 2023-02-13  1939                         
VLV_FIFO(SPRITEF, sprite1_start));
94b49d53acece8 Jani Nikula 2023-02-13  1940  
94b49d53acece8 Jani Nikula 2023-02-13  1941             dsparb2 &= 
~(VLV_FIFO(SPRITEE_HI, 0xff) |
94b49d53acece8 Jani Nikula 2023-02-13  1942                          
VLV_FIFO(SPRITEF_HI, 0xff));
94b49d53acece8 Jani Nikula 2023-02-13  1943             dsparb2 |= 
(VLV_FIFO(SPRITEE_HI, sprite0_start >> 8) |
94b49d53acece8 Jani Nikula 2023-02-13  1944                        
VLV_FIFO(SPRITEF_HI, sprite1_start >> 8));
94b49d53acece8 Jani Nikula 2023-02-13  1945  
d0e7412505dc87 Jani Nikula 2025-04-08  1946             
intel_de_write_fw(display, DSPARB3, dsparb3);
d0e7412505dc87 Jani Nikula 2025-04-08  1947             
intel_de_write_fw(display, DSPARB2, dsparb2);
94b49d53acece8 Jani Nikula 2023-02-13  1948             break;
94b49d53acece8 Jani Nikula 2023-02-13  1949     default:
94b49d53acece8 Jani Nikula 2023-02-13  1950             break;
94b49d53acece8 Jani Nikula 2023-02-13  1951     }
94b49d53acece8 Jani Nikula 2023-02-13  1952  
d0e7412505dc87 Jani Nikula 2025-04-08  1953     intel_de_read_fw(display, 
DSPARB(display));
94b49d53acece8 Jani Nikula 2023-02-13  1954  }
94b49d53acece8 Jani Nikula 2023-02-13  1955  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to