From: kernel test robot <lkp@intel.com>
To: Luciano Coelho <luciano.coelho@intel.com>,
Golan Ben Ami <golan.ben.ami@intel.com>,
Michael Golant <michael.golant@intel.com>,
Johannes Berg <johannes.berg@intel.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: drivers/gpu/drm/ttm/ttm_pool.c:378:22: sparse: sparse: incompatible types in comparison expression (different type sizes):
Date: Fri, 17 Mar 2023 16:13:42 +0800 [thread overview]
Message-ID: <202303171603.NPaT46tm-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/chromeos.git chromeos-5.10__release/core61-58
head: 35a3169c34b511417772fc39505bd841ca6b275c
commit: 488c5dc8526b11ef7e565e4094620876ebb470f8 UPSTREAM: drm/ttm: new TT backend allocation pool v3
date: 1 year, 11 months ago
config: sparc64-randconfig-s041-20230312 (https://download.01.org/0day-ci/archive/20230317/202303171603.NPaT46tm-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 12.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/chromeos.git/commit/?id=488c5dc8526b11ef7e565e4094620876ebb470f8
git remote add iwlwifi-chromeos https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/chromeos.git
git fetch --no-tags iwlwifi-chromeos chromeos-5.10__release/core61-58
git checkout 488c5dc8526b11ef7e565e4094620876ebb470f8
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc64 SHELL=/bin/bash drivers/gpu/drm/ttm/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303171603.NPaT46tm-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/ttm/ttm_pool.c:378:22: sparse: sparse: incompatible types in comparison expression (different type sizes):
>> drivers/gpu/drm/ttm/ttm_pool.c:378:22: sparse: unsigned long *
>> drivers/gpu/drm/ttm/ttm_pool.c:378:22: sparse: int *
vim +378 drivers/gpu/drm/ttm/ttm_pool.c
339
340 /**
341 * ttm_pool_alloc - Fill a ttm_tt object
342 *
343 * @pool: ttm_pool to use
344 * @tt: ttm_tt object to fill
345 * @ctx: operation context
346 *
347 * Fill the ttm_tt object with pages and also make sure to DMA map them when
348 * necessary.
349 *
350 * Returns: 0 on successe, negative error code otherwise.
351 */
352 int ttm_pool_alloc(struct ttm_pool *pool, struct ttm_tt *tt,
353 struct ttm_operation_ctx *ctx)
354 {
355 unsigned long num_pages = tt->num_pages;
356 dma_addr_t *dma_addr = tt->dma_address;
357 struct page **caching = tt->pages;
358 struct page **pages = tt->pages;
359 gfp_t gfp_flags = GFP_USER;
360 unsigned int i, order;
361 struct page *p;
362 int r;
363
364 WARN_ON(!num_pages || ttm_tt_is_populated(tt));
365 WARN_ON(dma_addr && !pool->dev);
366
367 if (tt->page_flags & TTM_PAGE_FLAG_ZERO_ALLOC)
368 gfp_flags |= __GFP_ZERO;
369
370 if (tt->page_flags & TTM_PAGE_FLAG_NO_RETRY)
371 gfp_flags |= __GFP_RETRY_MAYFAIL;
372
373 if (pool->use_dma32)
374 gfp_flags |= GFP_DMA32;
375 else
376 gfp_flags |= GFP_HIGHUSER;
377
> 378 for (order = min(MAX_ORDER - 1UL, __fls(num_pages)); num_pages;
379 order = min_t(unsigned int, order, __fls(num_pages))) {
380 bool apply_caching = false;
381 struct ttm_pool_type *pt;
382
383 pt = ttm_pool_select_type(pool, tt->caching, order);
384 p = pt ? ttm_pool_type_take(pt) : NULL;
385 if (p) {
386 apply_caching = true;
387 } else {
388 p = ttm_pool_alloc_page(pool, gfp_flags, order);
389 if (p && PageHighMem(p))
390 apply_caching = true;
391 }
392
393 if (!p) {
394 if (order) {
395 --order;
396 continue;
397 }
398 r = -ENOMEM;
399 goto error_free_all;
400 }
401
402 if (apply_caching) {
403 r = ttm_pool_apply_caching(caching, pages,
404 tt->caching);
405 if (r)
406 goto error_free_page;
407 caching = pages + (1 << order);
408 }
409
410 r = ttm_mem_global_alloc_page(&ttm_mem_glob, p,
411 (1 << order) * PAGE_SIZE,
412 ctx);
413 if (r)
414 goto error_free_page;
415
416 if (dma_addr) {
417 r = ttm_pool_map(pool, order, p, &dma_addr);
418 if (r)
419 goto error_global_free;
420 }
421
422 num_pages -= 1 << order;
423 for (i = 1 << order; i; --i)
424 *(pages++) = p++;
425 }
426
427 r = ttm_pool_apply_caching(caching, pages, tt->caching);
428 if (r)
429 goto error_free_all;
430
431 return 0;
432
433 error_global_free:
434 ttm_mem_global_free_page(&ttm_mem_glob, p, (1 << order) * PAGE_SIZE);
435
436 error_free_page:
437 ttm_pool_free_page(pool, tt->caching, order, p);
438
439 error_free_all:
440 num_pages = tt->num_pages - num_pages;
441 for (i = 0; i < num_pages; ) {
442 order = ttm_pool_page_order(pool, tt->pages[i]);
443 ttm_pool_free_page(pool, tt->caching, order, tt->pages[i]);
444 i += 1 << order;
445 }
446
447 return r;
448 }
449 EXPORT_SYMBOL(ttm_pool_alloc);
450
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next reply other threads:[~2023-03-17 8:14 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-17 8:13 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-08-01 19:25 drivers/gpu/drm/ttm/ttm_pool.c:378:22: sparse: sparse: incompatible types in comparison expression (different type sizes): kernel test robot
2023-07-14 23:18 kernel test robot
2023-06-17 22:43 kernel test robot
2023-04-27 18:32 kernel test robot
2022-12-16 18:43 kernel test robot
2022-11-13 21:31 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202303171603.NPaT46tm-lkp@intel.com \
--to=lkp@intel.com \
--cc=golan.ben.ami@intel.com \
--cc=johannes.berg@intel.com \
--cc=luciano.coelho@intel.com \
--cc=michael.golant@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.