All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Piotr Piórkowski" <piotr.piorkowski@intel.com>
Cc: oe-kbuild-all@lists.linux.dev,
	Junxiao Chang <junxiao.chang@intel.com>,
	"Zawawi,
	Muhammad Zul Husni" <muhammad.zul.husni.zawawi@intel.com>
Subject: [intel-lts:6.12/linux 857/985] drivers/gpu/drm/i915/gt/iov/selftests/selftest_mock_iov_ggtt.c:318:27: warning: implicit conversion from 'unsigned long long' to 'size_t' (aka 'unsigned int') changes value from 4294967296 to 0
Date: Wed, 18 Dec 2024 15:39:12 +0800	[thread overview]
Message-ID: <202412181544.Py10CSwa-lkp@intel.com> (raw)

tree:   https://github.com/intel/linux-intel-lts.git 6.12/linux
head:   cc39c53db6bcd7f04407f1cae883e5d0af6db765
commit: 9b622d237b5e58a4487cdd78f397ee43161ebab0 [857/985] drm/i915/iov: Shadow GGTT mock selftestes
config: i386-buildonly-randconfig-006-20241218 (https://download.01.org/0day-ci/archive/20241218/202412181544.Py10CSwa-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241218/202412181544.Py10CSwa-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412181544.Py10CSwa-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from drivers/gpu/drm/i915/gt/iov/intel_iov_ggtt.c:7:
   In file included from drivers/gpu/drm/i915/gt/iov/intel_iov_ggtt.h:9:
   In file included from drivers/gpu/drm/i915/gt/intel_gtt.h:19:
   In file included from include/linux/io-mapping.h:33:
   In file included from arch/x86/include/asm/iomap.h:10:
   In file included from include/linux/mm.h:2213:
   include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     518 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from drivers/gpu/drm/i915/gt/iov/intel_iov_ggtt.c:589:
>> drivers/gpu/drm/i915/gt/iov/selftests/selftest_mock_iov_ggtt.c:318:27: warning: implicit conversion from 'unsigned long long' to 'size_t' (aka 'unsigned int') changes value from 4294967296 to 0 [-Wconstant-conversion]
     318 |         const size_t ggtt_size = SZ_4G;
         |                      ~~~~~~~~~   ^~~~~
   include/linux/sizes.h:46:18: note: expanded from macro 'SZ_4G'
      46 | #define SZ_4G                           _AC(0x100000000, ULL)
         |                                         ^~~~~~~~~~~~~~~~~~~~~
   include/uapi/linux/const.h:21:18: note: expanded from macro '_AC'
      21 | #define _AC(X,Y)        __AC(X,Y)
         |                         ^~~~~~~~~
   include/uapi/linux/const.h:20:20: note: expanded from macro '__AC'
      20 | #define __AC(X,Y)       (X##Y)
         |                          ^~~~
   <scratch space>:53:1: note: expanded from here
      53 | 0x100000000ULL
         | ^~~~~~~~~~~~~~
   2 warnings generated.


vim +318 drivers/gpu/drm/i915/gt/iov/selftests/selftest_mock_iov_ggtt.c

   313	
   314	static int mock_ggtt_shadow_restore_new_vfid(void *arg)
   315	{
   316		struct intel_iov *iov = arg;
   317		const u64 start_ggtt = 0;
 > 318		const size_t ggtt_size = SZ_4G;
   319		const unsigned int vfid = VFID(1);
   320		const unsigned int new_vfid = VFID(2);
   321		struct drm_mm_node *old_node, *new_node;
   322		gen8_pte_t *buf, *origin_buf, *shadow_ggtt, *hw_ptes;
   323		size_t size;
   324		u64 ggtt_addr;
   325		int err;
   326	
   327		err = mock_ggtt_shadow_init_test(iov);
   328		if (err < 0)
   329			return err;
   330	
   331		old_node = mock_provisioning_ggtt_init(iov, vfid, start_ggtt, ggtt_size);
   332		new_node = mock_provisioning_ggtt_init(iov, new_vfid, start_ggtt, ggtt_size);
   333	
   334		size = ggtt_size_to_ptes_size(ggtt_size);
   335	
   336		iov->pf.ggtt.selftest.mock_update_ptes = mock_update_ptes;
   337		iov->pf.ggtt.selftest.ptes = kvzalloc(size, GFP_KERNEL);
   338		if (!iov->pf.ggtt.selftest.ptes) {
   339			err = -ENOMEM;
   340			goto out_fini;
   341		}
   342	
   343		origin_buf = kvzalloc(size, GFP_KERNEL);
   344		if (!origin_buf) {
   345			err = -ENOMEM;
   346			goto out_free_ptes;
   347		}
   348	
   349		err = intel_iov_ggtt_shadow_vf_alloc(iov, vfid, old_node);
   350		if (err < 0)
   351			goto out_free_buf;
   352	
   353		err = intel_iov_ggtt_shadow_vf_alloc(iov, new_vfid, new_node);
   354		if (err < 0)
   355			goto out_free_vf;
   356	
   357		buf = origin_buf;
   358		for_each_ggtt_page(ggtt_addr, old_node)
   359			*(buf++) = make_pte(ggtt_addr, 0);
   360	
   361		intel_iov_ggtt_shadow_restore(iov, new_vfid, origin_buf, size,
   362						   FIELD_PREP(I915_GGTT_RESTORE_PTES_VFID_MASK, new_vfid) |
   363						   I915_GGTT_RESTORE_PTES_NEW_VFID);
   364	
   365		shadow_ggtt = iov->pf.ggtt.shadows_ggtt[new_vfid].ptes;
   366		hw_ptes = iov->pf.ggtt.selftest.ptes;
   367		for_each_ggtt_page(ggtt_addr, new_node) {
   368			gen8_pte_t current_shadow_pte = *(shadow_ggtt++);
   369			gen8_pte_t current_hw_pte = *(hw_ptes++);
   370			gen8_pte_t expected_pte = make_pte(ggtt_addr, new_vfid);
   371	
   372			if (current_shadow_pte != expected_pte || current_hw_pte != expected_pte) {
   373				IOV_SELFTEST_ERROR(iov,
   374						   "PTE values for GGTT address %llx, not match with expected value, expected: %#llx from shadow GGTT: %#llx, from HW: %#llx\n",
   375						   ggtt_addr, expected_pte, current_shadow_pte,
   376						   current_hw_pte);
   377				err = -EINVAL;
   378				break;
   379			}
   380		}
   381	
   382		intel_iov_ggtt_shadow_vf_free(iov, new_vfid);
   383	out_free_vf:
   384		intel_iov_ggtt_shadow_vf_free(iov, vfid);
   385	out_free_buf:
   386		kvfree(origin_buf);
   387	out_free_ptes:
   388		kvfree(iov->pf.ggtt.selftest.ptes);
   389		iov->pf.ggtt.selftest.ptes = NULL;
   390	out_fini:
   391		mock_ggtt_shadow_fini_test(iov);
   392		return err;
   393	}
   394	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2024-12-18  7:39 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202412181544.Py10CSwa-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=junxiao.chang@intel.com \
    --cc=muhammad.zul.husni.zawawi@intel.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=piotr.piorkowski@intel.com \
    /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.