lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 28 Apr 2021 11:12:00 +0800
From:   kernel test robot <lkp@...el.com>
To:     Lizhi Hou <lizhi.hou@...inx.com>, linux-kernel@...r.kernel.org
Cc:     kbuild-all@...ts.01.org, Lizhi Hou <lizhi.hou@...inx.com>,
        linux-fpga@...r.kernel.org, maxz@...inx.com,
        sonal.santan@...inx.com, yliu@...inx.com, michal.simek@...inx.com,
        stefanos@...inx.com, devicetree@...r.kernel.org, trix@...hat.com
Subject: Re: [PATCH V5 XRT Alveo 20/20] fpga: xrt: Kconfig and Makefile
 updates for XRT drivers

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@...el.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

Download attachment ".config.gz" of type "application/gzip" (38255 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ