All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Lizhi Hou <lizhi.hou@xilinx.com>, linux-kernel@vger.kernel.org
Cc: kbuild-all@lists.01.org, Lizhi Hou <lizhi.hou@xilinx.com>,
	linux-fpga@vger.kernel.org, maxz@xilinx.com,
	sonal.santan@xilinx.com, yliu@xilinx.com,
	michal.simek@xilinx.com, stefanos@xilinx.com,
	devicetree@vger.kernel.org, trix@redhat.com
Subject: Re: [PATCH V5 XRT Alveo 20/20] fpga: xrt: Kconfig and Makefile updates for XRT drivers
Date: Wed, 28 Apr 2021 11:12:00 +0800	[thread overview]
Message-ID: <202104281021.cmJBYG3S-lkp@intel.com> (raw)
In-Reply-To: <20210427205431.23896-21-lizhi.hou@xilinx.com>

[-- Attachment #1: Type: text/plain, Size: 19664 bytes --]

Hi Lizhi,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.12 next-20210427]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Lizhi-Hou/XRT-Alveo-driver-overview/20210428-050424
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1fe5501ba1abf2b7e78295df73675423bd6899a0
config: x86_64-randconfig-s032-20210428 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://github.com/0day-ci/linux/commit/079fb263b22e0d961ac204b3928bdff5d8ebf3d5
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Lizhi-Hou/XRT-Alveo-driver-overview/20210428-050424
        git checkout 079fb263b22e0d961ac204b3928bdff5d8ebf3d5
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> drivers/fpga/xrt/lib/xclbin.c:314:22: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] freq @@     got restricted __be16 [usertype] @@
   drivers/fpga/xrt/lib/xclbin.c:314:22: sparse:     expected unsigned short [usertype] freq
   drivers/fpga/xrt/lib/xclbin.c:314:22: sparse:     got restricted __be16 [usertype]
--
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
--
>> drivers/fpga/xrt/lib/xleaf/icap.c:58:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:58:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:58:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:60:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:60:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:60:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:62:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:62:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:62:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:64:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:64:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:64:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:66:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:66:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:66:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:68:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:68:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:68:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:70:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:70:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:70:9: sparse:     got restricted __be32 [usertype]
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
--
>> drivers/fpga/xrt/lib/xleaf/clock.c:506:31: sparse: sparse: cast to restricted __be16
>> drivers/fpga/xrt/lib/xleaf/clock.c:506:31: sparse: sparse: cast to restricted __be16
>> drivers/fpga/xrt/lib/xleaf/clock.c:506:31: sparse: sparse: cast to restricted __be16
>> drivers/fpga/xrt/lib/xleaf/clock.c:506:31: sparse: sparse: cast to restricted __be16
--
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
--
>> drivers/fpga/xrt/metadata/metadata.c:311:21: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] val @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/metadata/metadata.c:311:21: sparse:     expected unsigned int [usertype] val
   drivers/fpga/xrt/metadata/metadata.c:311:21: sparse:     got restricted __be32 [usertype]
>> drivers/fpga/xrt/metadata/metadata.c:319:29: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long @@     got restricted __be64 [usertype] @@
   drivers/fpga/xrt/metadata/metadata.c:319:29: sparse:     expected unsigned long long
   drivers/fpga/xrt/metadata/metadata.c:319:29: sparse:     got restricted __be64 [usertype]
   drivers/fpga/xrt/metadata/metadata.c:320:29: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long @@     got restricted __be64 [usertype] @@
   drivers/fpga/xrt/metadata/metadata.c:320:29: sparse:     expected unsigned long long
   drivers/fpga/xrt/metadata/metadata.c:320:29: sparse:     got restricted __be64 [usertype]
--
>> drivers/fpga/xrt/mgnt/xmgnt-main-region.c:71:30: sparse: sparse: symbol 'xmgnt_bridge_ops' was not declared. Should it be static?
--
>> drivers/fpga/xrt/mgnt/root.c:211:18: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] vsec_bar @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/mgnt/root.c:211:18: sparse:     expected unsigned int [usertype] vsec_bar
   drivers/fpga/xrt/mgnt/root.c:211:18: sparse:     got restricted __be32 [usertype]
>> drivers/fpga/xrt/mgnt/root.c:219:18: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long [usertype] vsec_off @@     got restricted __be64 [usertype] @@
   drivers/fpga/xrt/mgnt/root.c:219:18: sparse:     expected unsigned long long [usertype] vsec_off
   drivers/fpga/xrt/mgnt/root.c:219:18: sparse:     got restricted __be64 [usertype]
--
>> drivers/fpga/xrt/mgnt/xmgnt-main.c:570:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __user *from @@     got struct axlf *[addressable] xclbin @@
   drivers/fpga/xrt/mgnt/xmgnt-main.c:570:56: sparse:     expected void const [noderef] __user *from
   drivers/fpga/xrt/mgnt/xmgnt-main.c:570:56: sparse:     got struct axlf *[addressable] xclbin
   drivers/fpga/xrt/mgnt/xmgnt-main.c:585:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __user *from @@     got struct axlf *[addressable] xclbin @@
   drivers/fpga/xrt/mgnt/xmgnt-main.c:585:48: sparse:     expected void const [noderef] __user *from
   drivers/fpga/xrt/mgnt/xmgnt-main.c:585:48: sparse:     got struct axlf *[addressable] xclbin

Please review and possibly fold the followup patch.

vim +314 drivers/fpga/xrt/lib/xclbin.c

d174deaba7ea5f Lizhi Hou 2021-04-27  243  
d174deaba7ea5f Lizhi Hou 2021-04-27  244  struct xrt_clock_desc {
d174deaba7ea5f Lizhi Hou 2021-04-27  245  	char	*clock_ep_name;
d174deaba7ea5f Lizhi Hou 2021-04-27  246  	u32	clock_xclbin_type;
d174deaba7ea5f Lizhi Hou 2021-04-27  247  	char	*clkfreq_ep_name;
d174deaba7ea5f Lizhi Hou 2021-04-27 @248  } clock_desc[] = {
d174deaba7ea5f Lizhi Hou 2021-04-27  249  	{
d174deaba7ea5f Lizhi Hou 2021-04-27  250  		.clock_ep_name = XRT_MD_NODE_CLK_KERNEL1,
d174deaba7ea5f Lizhi Hou 2021-04-27  251  		.clock_xclbin_type = CT_DATA,
d174deaba7ea5f Lizhi Hou 2021-04-27  252  		.clkfreq_ep_name = XRT_MD_NODE_CLKFREQ_K1,
d174deaba7ea5f Lizhi Hou 2021-04-27  253  	},
d174deaba7ea5f Lizhi Hou 2021-04-27  254  	{
d174deaba7ea5f Lizhi Hou 2021-04-27  255  		.clock_ep_name = XRT_MD_NODE_CLK_KERNEL2,
d174deaba7ea5f Lizhi Hou 2021-04-27  256  		.clock_xclbin_type = CT_KERNEL,
d174deaba7ea5f Lizhi Hou 2021-04-27  257  		.clkfreq_ep_name = XRT_MD_NODE_CLKFREQ_K2,
d174deaba7ea5f Lizhi Hou 2021-04-27  258  	},
d174deaba7ea5f Lizhi Hou 2021-04-27  259  	{
d174deaba7ea5f Lizhi Hou 2021-04-27  260  		.clock_ep_name = XRT_MD_NODE_CLK_KERNEL3,
d174deaba7ea5f Lizhi Hou 2021-04-27  261  		.clock_xclbin_type = CT_SYSTEM,
d174deaba7ea5f Lizhi Hou 2021-04-27  262  		.clkfreq_ep_name = XRT_MD_NODE_CLKFREQ_HBM,
d174deaba7ea5f Lizhi Hou 2021-04-27  263  	},
d174deaba7ea5f Lizhi Hou 2021-04-27  264  };
d174deaba7ea5f Lizhi Hou 2021-04-27  265  
d174deaba7ea5f Lizhi Hou 2021-04-27  266  const char *xrt_clock_type2epname(enum XCLBIN_CLOCK_TYPE type)
d174deaba7ea5f Lizhi Hou 2021-04-27  267  {
d174deaba7ea5f Lizhi Hou 2021-04-27  268  	int i;
d174deaba7ea5f Lizhi Hou 2021-04-27  269  
d174deaba7ea5f Lizhi Hou 2021-04-27  270  	for (i = 0; i < ARRAY_SIZE(clock_desc); i++) {
d174deaba7ea5f Lizhi Hou 2021-04-27  271  		if (clock_desc[i].clock_xclbin_type == type)
d174deaba7ea5f Lizhi Hou 2021-04-27  272  			return clock_desc[i].clock_ep_name;
d174deaba7ea5f Lizhi Hou 2021-04-27  273  	}
d174deaba7ea5f Lizhi Hou 2021-04-27  274  	return NULL;
d174deaba7ea5f Lizhi Hou 2021-04-27  275  }
d174deaba7ea5f Lizhi Hou 2021-04-27  276  EXPORT_SYMBOL_GPL(xrt_clock_type2epname);
d174deaba7ea5f Lizhi Hou 2021-04-27  277  
d174deaba7ea5f Lizhi Hou 2021-04-27  278  static const char *clock_type2clkfreq_name(enum XCLBIN_CLOCK_TYPE type)
d174deaba7ea5f Lizhi Hou 2021-04-27  279  {
d174deaba7ea5f Lizhi Hou 2021-04-27  280  	int i;
d174deaba7ea5f Lizhi Hou 2021-04-27  281  
d174deaba7ea5f Lizhi Hou 2021-04-27  282  	for (i = 0; i < ARRAY_SIZE(clock_desc); i++) {
d174deaba7ea5f Lizhi Hou 2021-04-27  283  		if (clock_desc[i].clock_xclbin_type == type)
d174deaba7ea5f Lizhi Hou 2021-04-27  284  			return clock_desc[i].clkfreq_ep_name;
d174deaba7ea5f Lizhi Hou 2021-04-27  285  	}
d174deaba7ea5f Lizhi Hou 2021-04-27  286  	return NULL;
d174deaba7ea5f Lizhi Hou 2021-04-27  287  }
d174deaba7ea5f Lizhi Hou 2021-04-27  288  
d174deaba7ea5f Lizhi Hou 2021-04-27  289  static int xrt_xclbin_add_clock_metadata(struct device *dev,
d174deaba7ea5f Lizhi Hou 2021-04-27  290  					 const struct axlf *xclbin,
d174deaba7ea5f Lizhi Hou 2021-04-27  291  					 char *dtb)
d174deaba7ea5f Lizhi Hou 2021-04-27  292  {
d174deaba7ea5f Lizhi Hou 2021-04-27  293  	struct clock_freq_topology *clock_topo;
d174deaba7ea5f Lizhi Hou 2021-04-27  294  	u16 freq;
d174deaba7ea5f Lizhi Hou 2021-04-27  295  	int rc;
d174deaba7ea5f Lizhi Hou 2021-04-27  296  	int i;
d174deaba7ea5f Lizhi Hou 2021-04-27  297  
d174deaba7ea5f Lizhi Hou 2021-04-27  298  	/* if clock section does not exist, add nothing and return success */
d174deaba7ea5f Lizhi Hou 2021-04-27  299  	rc = xrt_xclbin_get_section(dev, xclbin, CLOCK_FREQ_TOPOLOGY,
d174deaba7ea5f Lizhi Hou 2021-04-27  300  				    (void **)&clock_topo, NULL);
d174deaba7ea5f Lizhi Hou 2021-04-27  301  	if (rc == -ENOENT)
d174deaba7ea5f Lizhi Hou 2021-04-27  302  		return 0;
d174deaba7ea5f Lizhi Hou 2021-04-27  303  	else if (rc)
d174deaba7ea5f Lizhi Hou 2021-04-27  304  		return rc;
d174deaba7ea5f Lizhi Hou 2021-04-27  305  
d174deaba7ea5f Lizhi Hou 2021-04-27  306  	for (i = 0; i < clock_topo->count; i++) {
d174deaba7ea5f Lizhi Hou 2021-04-27  307  		u8 type = clock_topo->clock_freq[i].type;
d174deaba7ea5f Lizhi Hou 2021-04-27  308  		const char *ep_name = xrt_clock_type2epname(type);
d174deaba7ea5f Lizhi Hou 2021-04-27  309  		const char *counter_name = clock_type2clkfreq_name(type);
d174deaba7ea5f Lizhi Hou 2021-04-27  310  
d174deaba7ea5f Lizhi Hou 2021-04-27  311  		if (!ep_name || !counter_name)
d174deaba7ea5f Lizhi Hou 2021-04-27  312  			continue;
d174deaba7ea5f Lizhi Hou 2021-04-27  313  
d174deaba7ea5f Lizhi Hou 2021-04-27 @314  		freq = cpu_to_be16(clock_topo->clock_freq[i].freq_MHZ);
d174deaba7ea5f Lizhi Hou 2021-04-27  315  		rc = xrt_md_set_prop(dev, dtb, ep_name, NULL, XRT_MD_PROP_CLK_FREQ,
d174deaba7ea5f Lizhi Hou 2021-04-27  316  				     &freq, sizeof(freq));
d174deaba7ea5f Lizhi Hou 2021-04-27  317  		if (rc)
d174deaba7ea5f Lizhi Hou 2021-04-27  318  			break;
d174deaba7ea5f Lizhi Hou 2021-04-27  319  
d174deaba7ea5f Lizhi Hou 2021-04-27  320  		rc = xrt_md_set_prop(dev, dtb, ep_name, NULL, XRT_MD_PROP_CLK_CNT,
d174deaba7ea5f Lizhi Hou 2021-04-27  321  				     counter_name, strlen(counter_name) + 1);
d174deaba7ea5f Lizhi Hou 2021-04-27  322  		if (rc)
d174deaba7ea5f Lizhi Hou 2021-04-27  323  			break;
d174deaba7ea5f Lizhi Hou 2021-04-27  324  	}
d174deaba7ea5f Lizhi Hou 2021-04-27  325  
d174deaba7ea5f Lizhi Hou 2021-04-27  326  	vfree(clock_topo);
d174deaba7ea5f Lizhi Hou 2021-04-27  327  
d174deaba7ea5f Lizhi Hou 2021-04-27  328  	return rc;
d174deaba7ea5f Lizhi Hou 2021-04-27  329  }
d174deaba7ea5f Lizhi Hou 2021-04-27  330  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 38255 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH V5 XRT Alveo 20/20] fpga: xrt: Kconfig and Makefile updates for XRT drivers
Date: Wed, 28 Apr 2021 11:12:00 +0800	[thread overview]
Message-ID: <202104281021.cmJBYG3S-lkp@intel.com> (raw)
In-Reply-To: <20210427205431.23896-21-lizhi.hou@xilinx.com>

[-- Attachment #1: Type: text/plain, Size: 19924 bytes --]

Hi Lizhi,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.12 next-20210427]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Lizhi-Hou/XRT-Alveo-driver-overview/20210428-050424
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1fe5501ba1abf2b7e78295df73675423bd6899a0
config: x86_64-randconfig-s032-20210428 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://github.com/0day-ci/linux/commit/079fb263b22e0d961ac204b3928bdff5d8ebf3d5
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Lizhi-Hou/XRT-Alveo-driver-overview/20210428-050424
        git checkout 079fb263b22e0d961ac204b3928bdff5d8ebf3d5
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> drivers/fpga/xrt/lib/xclbin.c:314:22: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] freq @@     got restricted __be16 [usertype] @@
   drivers/fpga/xrt/lib/xclbin.c:314:22: sparse:     expected unsigned short [usertype] freq
   drivers/fpga/xrt/lib/xclbin.c:314:22: sparse:     got restricted __be16 [usertype]
--
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/xleaf/vsec.c:270:9: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:273:40: sparse: sparse: cast to restricted __be32
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/xleaf/vsec.c:279:29: sparse: sparse: cast to restricted __be64
--
>> drivers/fpga/xrt/lib/xleaf/icap.c:58:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:58:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:58:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:60:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:60:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:60:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:62:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:62:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:62:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:64:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:64:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:64:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:66:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:66:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:66:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:68:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:68:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:68:9: sparse:     got restricted __be32 [usertype]
   drivers/fpga/xrt/lib/xleaf/icap.c:70:9: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/lib/xleaf/icap.c:70:9: sparse:     expected unsigned int
   drivers/fpga/xrt/lib/xleaf/icap.c:70:9: sparse:     got restricted __be32 [usertype]
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/xleaf/icap.c:113:25: sparse: sparse: cast to restricted __be32
--
>> drivers/fpga/xrt/lib/xleaf/clock.c:506:31: sparse: sparse: cast to restricted __be16
>> drivers/fpga/xrt/lib/xleaf/clock.c:506:31: sparse: sparse: cast to restricted __be16
>> drivers/fpga/xrt/lib/xleaf/clock.c:506:31: sparse: sparse: cast to restricted __be16
>> drivers/fpga/xrt/lib/xleaf/clock.c:506:31: sparse: sparse: cast to restricted __be16
--
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:195:33: sparse: sparse: cast to restricted __be32
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
>> drivers/fpga/xrt/lib/subdev.c:197:57: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:198:55: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
   drivers/fpga/xrt/lib/subdev.c:199:25: sparse: sparse: cast to restricted __be64
--
>> drivers/fpga/xrt/metadata/metadata.c:311:21: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] val @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/metadata/metadata.c:311:21: sparse:     expected unsigned int [usertype] val
   drivers/fpga/xrt/metadata/metadata.c:311:21: sparse:     got restricted __be32 [usertype]
>> drivers/fpga/xrt/metadata/metadata.c:319:29: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long @@     got restricted __be64 [usertype] @@
   drivers/fpga/xrt/metadata/metadata.c:319:29: sparse:     expected unsigned long long
   drivers/fpga/xrt/metadata/metadata.c:319:29: sparse:     got restricted __be64 [usertype]
   drivers/fpga/xrt/metadata/metadata.c:320:29: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long @@     got restricted __be64 [usertype] @@
   drivers/fpga/xrt/metadata/metadata.c:320:29: sparse:     expected unsigned long long
   drivers/fpga/xrt/metadata/metadata.c:320:29: sparse:     got restricted __be64 [usertype]
--
>> drivers/fpga/xrt/mgnt/xmgnt-main-region.c:71:30: sparse: sparse: symbol 'xmgnt_bridge_ops' was not declared. Should it be static?
--
>> drivers/fpga/xrt/mgnt/root.c:211:18: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] vsec_bar @@     got restricted __be32 [usertype] @@
   drivers/fpga/xrt/mgnt/root.c:211:18: sparse:     expected unsigned int [usertype] vsec_bar
   drivers/fpga/xrt/mgnt/root.c:211:18: sparse:     got restricted __be32 [usertype]
>> drivers/fpga/xrt/mgnt/root.c:219:18: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long [usertype] vsec_off @@     got restricted __be64 [usertype] @@
   drivers/fpga/xrt/mgnt/root.c:219:18: sparse:     expected unsigned long long [usertype] vsec_off
   drivers/fpga/xrt/mgnt/root.c:219:18: sparse:     got restricted __be64 [usertype]
--
>> drivers/fpga/xrt/mgnt/xmgnt-main.c:570:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __user *from @@     got struct axlf *[addressable] xclbin @@
   drivers/fpga/xrt/mgnt/xmgnt-main.c:570:56: sparse:     expected void const [noderef] __user *from
   drivers/fpga/xrt/mgnt/xmgnt-main.c:570:56: sparse:     got struct axlf *[addressable] xclbin
   drivers/fpga/xrt/mgnt/xmgnt-main.c:585:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __user *from @@     got struct axlf *[addressable] xclbin @@
   drivers/fpga/xrt/mgnt/xmgnt-main.c:585:48: sparse:     expected void const [noderef] __user *from
   drivers/fpga/xrt/mgnt/xmgnt-main.c:585:48: sparse:     got struct axlf *[addressable] xclbin

Please review and possibly fold the followup patch.

vim +314 drivers/fpga/xrt/lib/xclbin.c

d174deaba7ea5f Lizhi Hou 2021-04-27  243  
d174deaba7ea5f Lizhi Hou 2021-04-27  244  struct xrt_clock_desc {
d174deaba7ea5f Lizhi Hou 2021-04-27  245  	char	*clock_ep_name;
d174deaba7ea5f Lizhi Hou 2021-04-27  246  	u32	clock_xclbin_type;
d174deaba7ea5f Lizhi Hou 2021-04-27  247  	char	*clkfreq_ep_name;
d174deaba7ea5f Lizhi Hou 2021-04-27 @248  } clock_desc[] = {
d174deaba7ea5f Lizhi Hou 2021-04-27  249  	{
d174deaba7ea5f Lizhi Hou 2021-04-27  250  		.clock_ep_name = XRT_MD_NODE_CLK_KERNEL1,
d174deaba7ea5f Lizhi Hou 2021-04-27  251  		.clock_xclbin_type = CT_DATA,
d174deaba7ea5f Lizhi Hou 2021-04-27  252  		.clkfreq_ep_name = XRT_MD_NODE_CLKFREQ_K1,
d174deaba7ea5f Lizhi Hou 2021-04-27  253  	},
d174deaba7ea5f Lizhi Hou 2021-04-27  254  	{
d174deaba7ea5f Lizhi Hou 2021-04-27  255  		.clock_ep_name = XRT_MD_NODE_CLK_KERNEL2,
d174deaba7ea5f Lizhi Hou 2021-04-27  256  		.clock_xclbin_type = CT_KERNEL,
d174deaba7ea5f Lizhi Hou 2021-04-27  257  		.clkfreq_ep_name = XRT_MD_NODE_CLKFREQ_K2,
d174deaba7ea5f Lizhi Hou 2021-04-27  258  	},
d174deaba7ea5f Lizhi Hou 2021-04-27  259  	{
d174deaba7ea5f Lizhi Hou 2021-04-27  260  		.clock_ep_name = XRT_MD_NODE_CLK_KERNEL3,
d174deaba7ea5f Lizhi Hou 2021-04-27  261  		.clock_xclbin_type = CT_SYSTEM,
d174deaba7ea5f Lizhi Hou 2021-04-27  262  		.clkfreq_ep_name = XRT_MD_NODE_CLKFREQ_HBM,
d174deaba7ea5f Lizhi Hou 2021-04-27  263  	},
d174deaba7ea5f Lizhi Hou 2021-04-27  264  };
d174deaba7ea5f Lizhi Hou 2021-04-27  265  
d174deaba7ea5f Lizhi Hou 2021-04-27  266  const char *xrt_clock_type2epname(enum XCLBIN_CLOCK_TYPE type)
d174deaba7ea5f Lizhi Hou 2021-04-27  267  {
d174deaba7ea5f Lizhi Hou 2021-04-27  268  	int i;
d174deaba7ea5f Lizhi Hou 2021-04-27  269  
d174deaba7ea5f Lizhi Hou 2021-04-27  270  	for (i = 0; i < ARRAY_SIZE(clock_desc); i++) {
d174deaba7ea5f Lizhi Hou 2021-04-27  271  		if (clock_desc[i].clock_xclbin_type == type)
d174deaba7ea5f Lizhi Hou 2021-04-27  272  			return clock_desc[i].clock_ep_name;
d174deaba7ea5f Lizhi Hou 2021-04-27  273  	}
d174deaba7ea5f Lizhi Hou 2021-04-27  274  	return NULL;
d174deaba7ea5f Lizhi Hou 2021-04-27  275  }
d174deaba7ea5f Lizhi Hou 2021-04-27  276  EXPORT_SYMBOL_GPL(xrt_clock_type2epname);
d174deaba7ea5f Lizhi Hou 2021-04-27  277  
d174deaba7ea5f Lizhi Hou 2021-04-27  278  static const char *clock_type2clkfreq_name(enum XCLBIN_CLOCK_TYPE type)
d174deaba7ea5f Lizhi Hou 2021-04-27  279  {
d174deaba7ea5f Lizhi Hou 2021-04-27  280  	int i;
d174deaba7ea5f Lizhi Hou 2021-04-27  281  
d174deaba7ea5f Lizhi Hou 2021-04-27  282  	for (i = 0; i < ARRAY_SIZE(clock_desc); i++) {
d174deaba7ea5f Lizhi Hou 2021-04-27  283  		if (clock_desc[i].clock_xclbin_type == type)
d174deaba7ea5f Lizhi Hou 2021-04-27  284  			return clock_desc[i].clkfreq_ep_name;
d174deaba7ea5f Lizhi Hou 2021-04-27  285  	}
d174deaba7ea5f Lizhi Hou 2021-04-27  286  	return NULL;
d174deaba7ea5f Lizhi Hou 2021-04-27  287  }
d174deaba7ea5f Lizhi Hou 2021-04-27  288  
d174deaba7ea5f Lizhi Hou 2021-04-27  289  static int xrt_xclbin_add_clock_metadata(struct device *dev,
d174deaba7ea5f Lizhi Hou 2021-04-27  290  					 const struct axlf *xclbin,
d174deaba7ea5f Lizhi Hou 2021-04-27  291  					 char *dtb)
d174deaba7ea5f Lizhi Hou 2021-04-27  292  {
d174deaba7ea5f Lizhi Hou 2021-04-27  293  	struct clock_freq_topology *clock_topo;
d174deaba7ea5f Lizhi Hou 2021-04-27  294  	u16 freq;
d174deaba7ea5f Lizhi Hou 2021-04-27  295  	int rc;
d174deaba7ea5f Lizhi Hou 2021-04-27  296  	int i;
d174deaba7ea5f Lizhi Hou 2021-04-27  297  
d174deaba7ea5f Lizhi Hou 2021-04-27  298  	/* if clock section does not exist, add nothing and return success */
d174deaba7ea5f Lizhi Hou 2021-04-27  299  	rc = xrt_xclbin_get_section(dev, xclbin, CLOCK_FREQ_TOPOLOGY,
d174deaba7ea5f Lizhi Hou 2021-04-27  300  				    (void **)&clock_topo, NULL);
d174deaba7ea5f Lizhi Hou 2021-04-27  301  	if (rc == -ENOENT)
d174deaba7ea5f Lizhi Hou 2021-04-27  302  		return 0;
d174deaba7ea5f Lizhi Hou 2021-04-27  303  	else if (rc)
d174deaba7ea5f Lizhi Hou 2021-04-27  304  		return rc;
d174deaba7ea5f Lizhi Hou 2021-04-27  305  
d174deaba7ea5f Lizhi Hou 2021-04-27  306  	for (i = 0; i < clock_topo->count; i++) {
d174deaba7ea5f Lizhi Hou 2021-04-27  307  		u8 type = clock_topo->clock_freq[i].type;
d174deaba7ea5f Lizhi Hou 2021-04-27  308  		const char *ep_name = xrt_clock_type2epname(type);
d174deaba7ea5f Lizhi Hou 2021-04-27  309  		const char *counter_name = clock_type2clkfreq_name(type);
d174deaba7ea5f Lizhi Hou 2021-04-27  310  
d174deaba7ea5f Lizhi Hou 2021-04-27  311  		if (!ep_name || !counter_name)
d174deaba7ea5f Lizhi Hou 2021-04-27  312  			continue;
d174deaba7ea5f Lizhi Hou 2021-04-27  313  
d174deaba7ea5f Lizhi Hou 2021-04-27 @314  		freq = cpu_to_be16(clock_topo->clock_freq[i].freq_MHZ);
d174deaba7ea5f Lizhi Hou 2021-04-27  315  		rc = xrt_md_set_prop(dev, dtb, ep_name, NULL, XRT_MD_PROP_CLK_FREQ,
d174deaba7ea5f Lizhi Hou 2021-04-27  316  				     &freq, sizeof(freq));
d174deaba7ea5f Lizhi Hou 2021-04-27  317  		if (rc)
d174deaba7ea5f Lizhi Hou 2021-04-27  318  			break;
d174deaba7ea5f Lizhi Hou 2021-04-27  319  
d174deaba7ea5f Lizhi Hou 2021-04-27  320  		rc = xrt_md_set_prop(dev, dtb, ep_name, NULL, XRT_MD_PROP_CLK_CNT,
d174deaba7ea5f Lizhi Hou 2021-04-27  321  				     counter_name, strlen(counter_name) + 1);
d174deaba7ea5f Lizhi Hou 2021-04-27  322  		if (rc)
d174deaba7ea5f Lizhi Hou 2021-04-27  323  			break;
d174deaba7ea5f Lizhi Hou 2021-04-27  324  	}
d174deaba7ea5f Lizhi Hou 2021-04-27  325  
d174deaba7ea5f Lizhi Hou 2021-04-27  326  	vfree(clock_topo);
d174deaba7ea5f Lizhi Hou 2021-04-27  327  
d174deaba7ea5f Lizhi Hou 2021-04-27  328  	return rc;
d174deaba7ea5f Lizhi Hou 2021-04-27  329  }
d174deaba7ea5f Lizhi Hou 2021-04-27  330  

---
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: 38255 bytes --]

  parent reply	other threads:[~2021-04-28  3:12 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-27 20:54 [PATCH V5 XRT Alveo 00/20] XRT Alveo driver overview Lizhi Hou
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 01/20] Documentation: fpga: Add a document describing XRT Alveo drivers Lizhi Hou
2021-04-28 19:40   ` Tom Rix
2021-05-03 23:00   ` Moritz Fischer
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 02/20] fpga: xrt: driver metadata helper functions Lizhi Hou
2021-05-01 20:19   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 03/20] fpga: xrt: xclbin file " Lizhi Hou
2021-05-03 13:00   ` Tom Rix
2021-05-03 23:19   ` Moritz Fischer
2021-05-05 17:21     ` Lizhi Hou
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 04/20] fpga: xrt: xrt-lib driver manager Lizhi Hou
2021-05-03 13:06   ` Tom Rix
2021-05-03 21:51     ` Lizhi Hou
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 05/20] fpga: xrt: group driver Lizhi Hou
2021-05-03 13:10   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 06/20] fpga: xrt: char dev node helper functions Lizhi Hou
2021-05-03 13:27   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 07/20] fpga: xrt: root driver infrastructure Lizhi Hou
2021-05-03 13:37   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 08/20] fpga: xrt: " Lizhi Hou
2021-05-03 13:46   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 09/20] fpga: xrt: management physical function driver (root) Lizhi Hou
2021-05-03 13:49   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 10/20] fpga: xrt: main driver for management function device Lizhi Hou
2021-05-04 13:50   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 11/20] fpga: xrt: fpga-mgr and region implementation for xclbin download Lizhi Hou
2021-05-04 13:56   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 12/20] fpga: xrt: VSEC driver Lizhi Hou
2021-05-04 14:00   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 13/20] fpga: xrt: User Clock Subsystem driver Lizhi Hou
2021-05-04 14:03   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 14/20] fpga: xrt: ICAP driver Lizhi Hou
2021-05-04 14:05   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 15/20] fpga: xrt: devctl xrt driver Lizhi Hou
2021-05-04 14:07   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 16/20] fpga: xrt: clock driver Lizhi Hou
2021-05-04 14:08   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 17/20] fpga: xrt: clock frequency counter driver Lizhi Hou
2021-05-04 14:10   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 18/20] fpga: xrt: DDR calibration driver Lizhi Hou
2021-05-04 14:11   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 19/20] fpga: xrt: partition isolation driver Lizhi Hou
2021-05-04 14:13   ` Tom Rix
2021-04-27 20:54 ` [PATCH V5 XRT Alveo 20/20] fpga: xrt: Kconfig and Makefile updates for XRT drivers Lizhi Hou
2021-04-27 23:53   ` kernel test robot
2021-04-27 23:53     ` kernel test robot
2021-04-28  3:12   ` kernel test robot [this message]
2021-04-28  3:12     ` kernel test robot
2021-04-28  3:12   ` [RFC PATCH] fpga: xrt: xmgnt_bridge_ops can be static kernel test robot
2021-04-28  3:12     ` kernel test robot
2021-05-04 14:18   ` [PATCH V5 XRT Alveo 20/20] fpga: xrt: Kconfig and Makefile updates for XRT drivers Tom Rix
2021-04-28 17:36 ` [PATCH V5 XRT Alveo 00/20] XRT Alveo driver overview Tom Rix

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=202104281021.cmJBYG3S-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-fpga@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizhi.hou@xilinx.com \
    --cc=maxz@xilinx.com \
    --cc=michal.simek@xilinx.com \
    --cc=sonal.santan@xilinx.com \
    --cc=stefanos@xilinx.com \
    --cc=trix@redhat.com \
    --cc=yliu@xilinx.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.