[Intel-xe] [drm-xe:drm-xe-next 1040/1907] drivers/gpu/drm/xe/xe_mmio.c:116:23: warning: result of comparison of constant 4294967296 with expression of type 'resource_size_t' (aka 'unsigned int') is always false
kernel test robot
lkp at intel.com
Tue Nov 7 16:19:26 UTC 2023
tree: https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next
head: 17fc56818e8b2dd1311fa2b7716f3675db59bdb7
commit: bb41d0e9124f04871d07ca1e3dd4963074ace841 [1040/1907] drm/xe/mmio: Use non-atomic writeq/readq variant for 32b
config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20231107/202311072341.c0UOmHni-lkp@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231107/202311072341.c0UOmHni-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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311072341.c0UOmHni-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/xe/xe_mmio.c:116:23: warning: result of comparison of constant 4294967296 with expression of type 'resource_size_t' (aka 'unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
root_res->start > 0x100000000ull)
~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
1 warning generated.
vim +116 drivers/gpu/drm/xe/xe_mmio.c
ea1dfd1fe8933f Matthew Brost 2023-03-30 71
ea1dfd1fe8933f Matthew Brost 2023-03-30 72 static int xe_resize_lmem_bar(struct xe_device *xe, resource_size_t lmem_size)
ea1dfd1fe8933f Matthew Brost 2023-03-30 73 {
ea1dfd1fe8933f Matthew Brost 2023-03-30 74 struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
ea1dfd1fe8933f Matthew Brost 2023-03-30 75 struct pci_bus *root = pdev->bus;
ea1dfd1fe8933f Matthew Brost 2023-03-30 76 struct resource *root_res;
ea1dfd1fe8933f Matthew Brost 2023-03-30 77 resource_size_t rebar_size;
ea1dfd1fe8933f Matthew Brost 2023-03-30 78 resource_size_t current_size;
ea1dfd1fe8933f Matthew Brost 2023-03-30 79 u32 pci_cmd;
ea1dfd1fe8933f Matthew Brost 2023-03-30 80 int i;
ea1dfd1fe8933f Matthew Brost 2023-03-30 81 int ret;
ea1dfd1fe8933f Matthew Brost 2023-03-30 82 u64 force_lmem_bar_size = xe_force_lmem_bar_size;
ea1dfd1fe8933f Matthew Brost 2023-03-30 83
ea1dfd1fe8933f Matthew Brost 2023-03-30 84 current_size = roundup_pow_of_two(pci_resource_len(pdev, GEN12_LMEM_BAR));
ea1dfd1fe8933f Matthew Brost 2023-03-30 85
ea1dfd1fe8933f Matthew Brost 2023-03-30 86 if (force_lmem_bar_size) {
ea1dfd1fe8933f Matthew Brost 2023-03-30 87 u32 bar_sizes;
ea1dfd1fe8933f Matthew Brost 2023-03-30 88
ea1dfd1fe8933f Matthew Brost 2023-03-30 89 rebar_size = force_lmem_bar_size * (resource_size_t)SZ_1M;
ea1dfd1fe8933f Matthew Brost 2023-03-30 90 bar_sizes = pci_rebar_get_possible_sizes(pdev, GEN12_LMEM_BAR);
ea1dfd1fe8933f Matthew Brost 2023-03-30 91
ea1dfd1fe8933f Matthew Brost 2023-03-30 92 if (rebar_size == current_size)
ea1dfd1fe8933f Matthew Brost 2023-03-30 93 return 0;
ea1dfd1fe8933f Matthew Brost 2023-03-30 94
ea1dfd1fe8933f Matthew Brost 2023-03-30 95 if (!(bar_sizes & BIT(pci_rebar_bytes_to_size(rebar_size))) ||
ea1dfd1fe8933f Matthew Brost 2023-03-30 96 rebar_size >= roundup_pow_of_two(lmem_size)) {
ea1dfd1fe8933f Matthew Brost 2023-03-30 97 rebar_size = lmem_size;
ea1dfd1fe8933f Matthew Brost 2023-03-30 98 drm_info(&xe->drm,
ea1dfd1fe8933f Matthew Brost 2023-03-30 99 "Given bar size is not within supported size, setting it to default: %llu\n",
ea1dfd1fe8933f Matthew Brost 2023-03-30 100 (u64)lmem_size >> 20);
ea1dfd1fe8933f Matthew Brost 2023-03-30 101 }
ea1dfd1fe8933f Matthew Brost 2023-03-30 102 } else {
ea1dfd1fe8933f Matthew Brost 2023-03-30 103 rebar_size = current_size;
ea1dfd1fe8933f Matthew Brost 2023-03-30 104
ea1dfd1fe8933f Matthew Brost 2023-03-30 105 if (rebar_size != roundup_pow_of_two(lmem_size))
ea1dfd1fe8933f Matthew Brost 2023-03-30 106 rebar_size = lmem_size;
ea1dfd1fe8933f Matthew Brost 2023-03-30 107 else
ea1dfd1fe8933f Matthew Brost 2023-03-30 108 return 0;
ea1dfd1fe8933f Matthew Brost 2023-03-30 109 }
ea1dfd1fe8933f Matthew Brost 2023-03-30 110
ea1dfd1fe8933f Matthew Brost 2023-03-30 111 while (root->parent)
ea1dfd1fe8933f Matthew Brost 2023-03-30 112 root = root->parent;
ea1dfd1fe8933f Matthew Brost 2023-03-30 113
ea1dfd1fe8933f Matthew Brost 2023-03-30 114 pci_bus_for_each_resource(root, root_res, i) {
ea1dfd1fe8933f Matthew Brost 2023-03-30 115 if (root_res && root_res->flags & (IORESOURCE_MEM | IORESOURCE_MEM_64) &&
ea1dfd1fe8933f Matthew Brost 2023-03-30 @116 root_res->start > 0x100000000ull)
ea1dfd1fe8933f Matthew Brost 2023-03-30 117 break;
ea1dfd1fe8933f Matthew Brost 2023-03-30 118 }
ea1dfd1fe8933f Matthew Brost 2023-03-30 119
ea1dfd1fe8933f Matthew Brost 2023-03-30 120 if (!root_res) {
ea1dfd1fe8933f Matthew Brost 2023-03-30 121 drm_info(&xe->drm, "Can't resize LMEM BAR - platform support is missing\n");
ea1dfd1fe8933f Matthew Brost 2023-03-30 122 return -1;
ea1dfd1fe8933f Matthew Brost 2023-03-30 123 }
ea1dfd1fe8933f Matthew Brost 2023-03-30 124
ea1dfd1fe8933f Matthew Brost 2023-03-30 125 pci_read_config_dword(pdev, PCI_COMMAND, &pci_cmd);
ea1dfd1fe8933f Matthew Brost 2023-03-30 126 pci_write_config_dword(pdev, PCI_COMMAND, pci_cmd & ~PCI_COMMAND_MEMORY);
ea1dfd1fe8933f Matthew Brost 2023-03-30 127
ea1dfd1fe8933f Matthew Brost 2023-03-30 128 ret = _resize_bar(xe, GEN12_LMEM_BAR, rebar_size);
ea1dfd1fe8933f Matthew Brost 2023-03-30 129
ea1dfd1fe8933f Matthew Brost 2023-03-30 130 pci_assign_unassigned_bus_resources(pdev->bus);
ea1dfd1fe8933f Matthew Brost 2023-03-30 131 pci_write_config_dword(pdev, PCI_COMMAND, pci_cmd);
ea1dfd1fe8933f Matthew Brost 2023-03-30 132 return ret;
ea1dfd1fe8933f Matthew Brost 2023-03-30 133 }
ea1dfd1fe8933f Matthew Brost 2023-03-30 134
:::::: The code at line 116 was first introduced by commit
:::::: ea1dfd1fe8933f85ee3a2b3d6ad6b378d5b1a468 drm/xe: Introduce a new DRM driver for Intel GPUs
:::::: TO: Matthew Brost <matthew.brost at intel.com>
:::::: CC: Rodrigo Vivi <rodrigo.vivi at intel.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the Intel-xe
mailing list