* drivers/gpu/drm/radeon/radeon_ttm.c:382 radeon_ttm_io_mem_reserve() warn: should 'mem->start << 12' be a 64 bit type?
@ 2021-07-23 9:04 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-07-23 9:04 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 6673 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: "Christian König" <christian.koenig@amd.com>
CC: Dave Airlie <airlied@redhat.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8baef6386baaefb776bdd09b5c7630cf057c51c6
commit: 54d04ea8cdbd143496e4f5cc9c0a9f86c0e55a2e drm/ttm: merge offset and base in ttm_bus_placement
date: 11 months ago
:::::: branch date: 6 hours ago
:::::: commit date: 11 months ago
config: i386-randconfig-m021-20210723 (attached as .config)
compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/gpu/drm/radeon/radeon_ttm.c:382 radeon_ttm_io_mem_reserve() warn: should 'mem->start << 12' be a 64 bit type?
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:763 amdgpu_ttm_io_mem_reserve() warn: should 'mem->start << 12' be a 64 bit type?
Old smatch warnings:
drivers/gpu/drm/radeon/radeon_ttm.c:536 radeon_ttm_backend_bind() warn: should 'bo_mem->start << 12' be a 64 bit type?
drivers/gpu/drm/radeon/radeon_ttm.c:631 radeon_ttm_tt_populate() error: we previously assumed 'gtt' could be null (see line 619)
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:325 amdgpu_ttm_map_buffer() warn: should 'i << 12' be a 64 bit type?
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:494 amdgpu_move_blit() warn: should 'new_mem->num_pages << 12' be a 64 bit type?
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:789 amdgpu_ttm_io_mem_pfn() warn: should 'page_offset << 12' be a 64 bit type?
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:1339 amdgpu_ttm_tt_populate() error: we previously assumed 'gtt' could be null (see line 1324)
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:1383 amdgpu_ttm_tt_unpopulate() error: we previously assumed 'gtt' could be null (see line 1376)
vim +382 drivers/gpu/drm/radeon/radeon_ttm.c
771fe6b912fca5 Jerome Glisse 2009-06-05 361
2966141ad2dda2 Dave Airlie 2020-08-04 362 static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resource *mem)
0a2d50e3a8faaf Jerome Glisse 2010-04-09 363 {
0a2d50e3a8faaf Jerome Glisse 2010-04-09 364 struct radeon_device *rdev = radeon_get_rdev(bdev);
ebb21aa1882f41 Dave Airlie 2020-08-11 365 size_t bus_size = (size_t)mem->num_pages << PAGE_SHIFT;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 366
0a2d50e3a8faaf Jerome Glisse 2010-04-09 367 switch (mem->mem_type) {
0a2d50e3a8faaf Jerome Glisse 2010-04-09 368 case TTM_PL_SYSTEM:
0a2d50e3a8faaf Jerome Glisse 2010-04-09 369 /* system memory */
0a2d50e3a8faaf Jerome Glisse 2010-04-09 370 return 0;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 371 case TTM_PL_TT:
a7fb8a23c1afa6 Daniel Vetter 2015-09-09 372 #if IS_ENABLED(CONFIG_AGP)
0a2d50e3a8faaf Jerome Glisse 2010-04-09 373 if (rdev->flags & RADEON_IS_AGP) {
0a2d50e3a8faaf Jerome Glisse 2010-04-09 374 /* RADEON_IS_AGP is set only if AGP is active */
54d04ea8cdbd14 Christian König 2020-09-07 375 mem->bus.offset = (mem->start << PAGE_SHIFT) +
54d04ea8cdbd14 Christian König 2020-09-07 376 rdev->mc.agp_base;
365048ff7f977c Michel Dänzer 2010-05-19 377 mem->bus.is_iomem = !rdev->ddev->agp->cant_use_aperture;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 378 }
0a2d50e3a8faaf Jerome Glisse 2010-04-09 379 #endif
0a2d50e3a8faaf Jerome Glisse 2010-04-09 380 break;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 381 case TTM_PL_VRAM:
d961db75ce86a8 Ben Skeggs 2010-08-05 @382 mem->bus.offset = mem->start << PAGE_SHIFT;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 383 /* check if it's visible */
ebb21aa1882f41 Dave Airlie 2020-08-11 384 if ((mem->bus.offset + bus_size) > rdev->mc.visible_vram_size)
0a2d50e3a8faaf Jerome Glisse 2010-04-09 385 return -EINVAL;
54d04ea8cdbd14 Christian König 2020-09-07 386 mem->bus.offset += rdev->mc.aper_base;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 387 mem->bus.is_iomem = true;
ffb57c4b8612c3 Jay Estabrook 2011-07-06 388 #ifdef __alpha__
ffb57c4b8612c3 Jay Estabrook 2011-07-06 389 /*
ffb57c4b8612c3 Jay Estabrook 2011-07-06 390 * Alpha: use bus.addr to hold the ioremap() return,
ffb57c4b8612c3 Jay Estabrook 2011-07-06 391 * so we can modify bus.base below.
ffb57c4b8612c3 Jay Estabrook 2011-07-06 392 */
ffb57c4b8612c3 Jay Estabrook 2011-07-06 393 if (mem->placement & TTM_PL_FLAG_WC)
ffb57c4b8612c3 Jay Estabrook 2011-07-06 394 mem->bus.addr =
54d04ea8cdbd14 Christian König 2020-09-07 395 ioremap_wc(mem->bus.offset, bus_size);
ffb57c4b8612c3 Jay Estabrook 2011-07-06 396 else
ffb57c4b8612c3 Jay Estabrook 2011-07-06 397 mem->bus.addr =
54d04ea8cdbd14 Christian König 2020-09-07 398 ioremap(mem->bus.offset, bus_size);
3b2c6932828027 Arvind Yadav 2017-01-24 399 if (!mem->bus.addr)
3b2c6932828027 Arvind Yadav 2017-01-24 400 return -ENOMEM;
ffb57c4b8612c3 Jay Estabrook 2011-07-06 401
ffb57c4b8612c3 Jay Estabrook 2011-07-06 402 /*
ffb57c4b8612c3 Jay Estabrook 2011-07-06 403 * Alpha: Use just the bus offset plus
ffb57c4b8612c3 Jay Estabrook 2011-07-06 404 * the hose/domain memory base for bus.base.
ffb57c4b8612c3 Jay Estabrook 2011-07-06 405 * It then can be used to build PTEs for VRAM
ffb57c4b8612c3 Jay Estabrook 2011-07-06 406 * access, as done in ttm_bo_vm_fault().
ffb57c4b8612c3 Jay Estabrook 2011-07-06 407 */
54d04ea8cdbd14 Christian König 2020-09-07 408 mem->bus.offset = (mem->bus.offset & 0x0ffffffffUL) +
ffb57c4b8612c3 Jay Estabrook 2011-07-06 409 rdev->ddev->hose->dense_mem_base;
ffb57c4b8612c3 Jay Estabrook 2011-07-06 410 #endif
0a2d50e3a8faaf Jerome Glisse 2010-04-09 411 break;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 412 default:
0a2d50e3a8faaf Jerome Glisse 2010-04-09 413 return -EINVAL;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 414 }
0a2d50e3a8faaf Jerome Glisse 2010-04-09 415 return 0;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 416 }
0a2d50e3a8faaf Jerome Glisse 2010-04-09 417
:::::: The code at line 382 was first introduced by commit
:::::: d961db75ce86a84f1f04e91ad1014653ed7d9f46 drm/ttm: restructure to allow driver to plug in alternate memory manager
:::::: TO: Ben Skeggs <bskeggs@redhat.com>
:::::: CC: Ben Skeggs <bskeggs@redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 40278 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* drivers/gpu/drm/radeon/radeon_ttm.c:382 radeon_ttm_io_mem_reserve() warn: should 'mem->start << 12' be a 64 bit type?
@ 2021-06-03 17:59 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-06-03 17:59 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 6382 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: "Christian König" <christian.koenig@amd.com>
CC: Dave Airlie <airlied@redhat.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 324c92e5e0ee0e993bdb106fac407846ed677f6b
commit: 54d04ea8cdbd143496e4f5cc9c0a9f86c0e55a2e drm/ttm: merge offset and base in ttm_bus_placement
date: 9 months ago
:::::: branch date: 23 hours ago
:::::: commit date: 9 months ago
config: mips-randconfig-m031-20210603 (attached as .config)
compiler: mipsel-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/gpu/drm/radeon/radeon_ttm.c:382 radeon_ttm_io_mem_reserve() warn: should 'mem->start << 12' be a 64 bit type?
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:763 amdgpu_ttm_io_mem_reserve() warn: should 'mem->start << 12' be a 64 bit type?
Old smatch warnings:
drivers/gpu/drm/radeon/radeon_ttm.c:536 radeon_ttm_backend_bind() warn: should 'bo_mem->start << 12' be a 64 bit type?
drivers/gpu/drm/radeon/radeon_ttm.c:631 radeon_ttm_tt_populate() error: we previously assumed 'gtt' could be null (see line 619)
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:325 amdgpu_ttm_map_buffer() warn: should 'i << 12' be a 64 bit type?
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:494 amdgpu_move_blit() warn: should 'new_mem->num_pages << 12' be a 64 bit type?
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:789 amdgpu_ttm_io_mem_pfn() warn: should 'page_offset << 12' be a 64 bit type?
vim +382 drivers/gpu/drm/radeon/radeon_ttm.c
771fe6b912fca5 Jerome Glisse 2009-06-05 361
2966141ad2dda2 Dave Airlie 2020-08-04 362 static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_resource *mem)
0a2d50e3a8faaf Jerome Glisse 2010-04-09 363 {
0a2d50e3a8faaf Jerome Glisse 2010-04-09 364 struct radeon_device *rdev = radeon_get_rdev(bdev);
ebb21aa1882f41 Dave Airlie 2020-08-11 365 size_t bus_size = (size_t)mem->num_pages << PAGE_SHIFT;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 366
0a2d50e3a8faaf Jerome Glisse 2010-04-09 367 switch (mem->mem_type) {
0a2d50e3a8faaf Jerome Glisse 2010-04-09 368 case TTM_PL_SYSTEM:
0a2d50e3a8faaf Jerome Glisse 2010-04-09 369 /* system memory */
0a2d50e3a8faaf Jerome Glisse 2010-04-09 370 return 0;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 371 case TTM_PL_TT:
a7fb8a23c1afa6 Daniel Vetter 2015-09-09 372 #if IS_ENABLED(CONFIG_AGP)
0a2d50e3a8faaf Jerome Glisse 2010-04-09 373 if (rdev->flags & RADEON_IS_AGP) {
0a2d50e3a8faaf Jerome Glisse 2010-04-09 374 /* RADEON_IS_AGP is set only if AGP is active */
54d04ea8cdbd14 Christian König 2020-09-07 375 mem->bus.offset = (mem->start << PAGE_SHIFT) +
54d04ea8cdbd14 Christian König 2020-09-07 376 rdev->mc.agp_base;
365048ff7f977c Michel Dänzer 2010-05-19 377 mem->bus.is_iomem = !rdev->ddev->agp->cant_use_aperture;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 378 }
0a2d50e3a8faaf Jerome Glisse 2010-04-09 379 #endif
0a2d50e3a8faaf Jerome Glisse 2010-04-09 380 break;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 381 case TTM_PL_VRAM:
d961db75ce86a8 Ben Skeggs 2010-08-05 @382 mem->bus.offset = mem->start << PAGE_SHIFT;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 383 /* check if it's visible */
ebb21aa1882f41 Dave Airlie 2020-08-11 384 if ((mem->bus.offset + bus_size) > rdev->mc.visible_vram_size)
0a2d50e3a8faaf Jerome Glisse 2010-04-09 385 return -EINVAL;
54d04ea8cdbd14 Christian König 2020-09-07 386 mem->bus.offset += rdev->mc.aper_base;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 387 mem->bus.is_iomem = true;
ffb57c4b8612c3 Jay Estabrook 2011-07-06 388 #ifdef __alpha__
ffb57c4b8612c3 Jay Estabrook 2011-07-06 389 /*
ffb57c4b8612c3 Jay Estabrook 2011-07-06 390 * Alpha: use bus.addr to hold the ioremap() return,
ffb57c4b8612c3 Jay Estabrook 2011-07-06 391 * so we can modify bus.base below.
ffb57c4b8612c3 Jay Estabrook 2011-07-06 392 */
ffb57c4b8612c3 Jay Estabrook 2011-07-06 393 if (mem->placement & TTM_PL_FLAG_WC)
ffb57c4b8612c3 Jay Estabrook 2011-07-06 394 mem->bus.addr =
54d04ea8cdbd14 Christian König 2020-09-07 395 ioremap_wc(mem->bus.offset, bus_size);
ffb57c4b8612c3 Jay Estabrook 2011-07-06 396 else
ffb57c4b8612c3 Jay Estabrook 2011-07-06 397 mem->bus.addr =
54d04ea8cdbd14 Christian König 2020-09-07 398 ioremap(mem->bus.offset, bus_size);
3b2c6932828027 Arvind Yadav 2017-01-24 399 if (!mem->bus.addr)
3b2c6932828027 Arvind Yadav 2017-01-24 400 return -ENOMEM;
ffb57c4b8612c3 Jay Estabrook 2011-07-06 401
ffb57c4b8612c3 Jay Estabrook 2011-07-06 402 /*
ffb57c4b8612c3 Jay Estabrook 2011-07-06 403 * Alpha: Use just the bus offset plus
ffb57c4b8612c3 Jay Estabrook 2011-07-06 404 * the hose/domain memory base for bus.base.
ffb57c4b8612c3 Jay Estabrook 2011-07-06 405 * It then can be used to build PTEs for VRAM
ffb57c4b8612c3 Jay Estabrook 2011-07-06 406 * access, as done in ttm_bo_vm_fault().
ffb57c4b8612c3 Jay Estabrook 2011-07-06 407 */
54d04ea8cdbd14 Christian König 2020-09-07 408 mem->bus.offset = (mem->bus.offset & 0x0ffffffffUL) +
ffb57c4b8612c3 Jay Estabrook 2011-07-06 409 rdev->ddev->hose->dense_mem_base;
ffb57c4b8612c3 Jay Estabrook 2011-07-06 410 #endif
0a2d50e3a8faaf Jerome Glisse 2010-04-09 411 break;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 412 default:
0a2d50e3a8faaf Jerome Glisse 2010-04-09 413 return -EINVAL;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 414 }
0a2d50e3a8faaf Jerome Glisse 2010-04-09 415 return 0;
0a2d50e3a8faaf Jerome Glisse 2010-04-09 416 }
0a2d50e3a8faaf Jerome Glisse 2010-04-09 417
:::::: The code at line 382 was first introduced by commit
:::::: d961db75ce86a84f1f04e91ad1014653ed7d9f46 drm/ttm: restructure to allow driver to plug in alternate memory manager
:::::: TO: Ben Skeggs <bskeggs@redhat.com>
:::::: CC: Ben Skeggs <bskeggs@redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26170 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-07-23 9:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-23 9:04 drivers/gpu/drm/radeon/radeon_ttm.c:382 radeon_ttm_io_mem_reserve() warn: should 'mem->start << 12' be a 64 bit type? kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2021-06-03 17:59 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.