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
