drivers/gpu/drm/nouveau/nvkm/subdev/fb/gb100.c:19:37: warning: result of comparison of constant 4503599627370495 with expression of type 'dma_addr_t' (aka 'unsigned int') is always false

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild-all,dev.linux.lists.llvm,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hi Timur,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   cb8a75eec0877810b50aa1c5a833f929525cd2ee
commit: 31d3354f42c0da34415164a1f621a195caa1f1bc drm/nouveau: verify that hardware supports the flush page address
date:   9 months ago
config: i386-randconfig-007-20260820 (https://download.01.org/0day-ci/archive/20260820/[email protected]/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260820/[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
| Fixes: 31d3354f42c0 ("drm/nouveau: verify that hardware supports the flush page address")
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/nouveau/nvkm/subdev/fb/gb100.c:19:37: warning: result of comparison of constant 4503599627370495 with expression of type 'dma_addr_t' (aka 'unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
      19 |         WARN_ON(fb->sysmem.flush_page_addr > DMA_BIT_MASK(52));
         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
   include/asm-generic/bug.h:123:25: note: expanded from macro 'WARN_ON'
     123 |         int __ret_warn_on = !!(condition);                              \
         |                                ^~~~~~~~~
   1 warning generated.


vim +19 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gb100.c

     9	
    10	static void
    11	gb100_fb_sysmem_flush_page_init(struct nvkm_fb *fb)
    12	{
    13		const u32 addr_hi = upper_32_bits(fb->sysmem.flush_page_addr);
    14		const u32 addr_lo = lower_32_bits(fb->sysmem.flush_page_addr);
    15		const u32 hshub = DRF_LO(NV_PFB_HSHUB0);
    16		struct nvkm_device *device = fb->subdev.device;
    17	
    18		// Ensure that the address is within hardware limits
  > 19		WARN_ON(fb->sysmem.flush_page_addr > DMA_BIT_MASK(52));
    20	
    21		nvkm_wr32(device, hshub + NV_PFB_HSHUB_PCIE_FLUSH_SYSMEM_ADDR_HI, addr_hi);
    22		nvkm_wr32(device, hshub + NV_PFB_HSHUB_PCIE_FLUSH_SYSMEM_ADDR_LO, addr_lo);
    23		nvkm_wr32(device, hshub + NV_PFB_HSHUB_EG_PCIE_FLUSH_SYSMEM_ADDR_HI, addr_hi);
    24		nvkm_wr32(device, hshub + NV_PFB_HSHUB_EG_PCIE_FLUSH_SYSMEM_ADDR_LO, addr_lo);
    25	}
    26	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.