Re: [PATCH net-next v3 6/9] ice: use <linux/packing.h> for Tx and Rx queue context data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jacob,

kernel test robot noticed the following build warnings:

[auto build test WARNING on a84e8c05f58305dfa808bc5465c5175c29d7c9b6]

url:    https://github.com/intel-lab-lkp/linux/commits/Jacob-Keller/lib-packing-create-__pack-and-__unpack-variants-without-error-checking/20241108-040154
base:   a84e8c05f58305dfa808bc5465c5175c29d7c9b6
patch link:    https://lore.kernel.org/r/20241107-packing-pack-fields-and-ice-implementation-v3-6-27c566ac2436%40intel.com
patch subject: [PATCH net-next v3 6/9] ice: use <linux/packing.h> for Tx and Rx queue context data
config: x86_64-randconfig-122-20241108 (https://download.01.org/0day-ci/archive/20241108/202411081511.T7pLZhW4-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241108/202411081511.T7pLZhW4-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411081511.T7pLZhW4-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/net/ethernet/intel/ice/ice_common.c:1393:1: sparse: sparse: symbol '__ice_rlan_ctx_fields_buffer_sz' was not declared. Should it be static?
>> drivers/net/ethernet/intel/ice/ice_common.c:1393:1: sparse: sparse: symbol 'ice_rlan_ctx_fields' was not declared. Should it be static?
>> drivers/net/ethernet/intel/ice/ice_common.c:1460:1: sparse: sparse: symbol '__ice_tlan_ctx_fields_buffer_sz' was not declared. Should it be static?
>> drivers/net/ethernet/intel/ice/ice_common.c:1460:1: sparse: sparse: symbol 'ice_tlan_ctx_fields' was not declared. Should it be static?

vim +/__ice_rlan_ctx_fields_buffer_sz +1393 drivers/net/ethernet/intel/ice/ice_common.c

  1388	
  1389	#define ICE_CTX_STORE(struct_name, struct_field, width, lsb) \
  1390		PACKED_FIELD((lsb) + (width) - 1, (lsb), struct struct_name, struct_field)
  1391	
  1392	/* LAN Rx Queue Context */
> 1393	DECLARE_PACKED_FIELDS_S(ice_rlan_ctx_fields, ICE_RXQ_CTX_SZ) = {
  1394					 /* Field		Width	LSB */
  1395		ICE_CTX_STORE(ice_rlan_ctx, head,		13,	0),
  1396		ICE_CTX_STORE(ice_rlan_ctx, cpuid,		8,	13),
  1397		ICE_CTX_STORE(ice_rlan_ctx, base,		57,	32),
  1398		ICE_CTX_STORE(ice_rlan_ctx, qlen,		13,	89),
  1399		ICE_CTX_STORE(ice_rlan_ctx, dbuf,		7,	102),
  1400		ICE_CTX_STORE(ice_rlan_ctx, hbuf,		5,	109),
  1401		ICE_CTX_STORE(ice_rlan_ctx, dtype,		2,	114),
  1402		ICE_CTX_STORE(ice_rlan_ctx, dsize,		1,	116),
  1403		ICE_CTX_STORE(ice_rlan_ctx, crcstrip,		1,	117),
  1404		ICE_CTX_STORE(ice_rlan_ctx, l2tsel,		1,	119),
  1405		ICE_CTX_STORE(ice_rlan_ctx, hsplit_0,		4,	120),
  1406		ICE_CTX_STORE(ice_rlan_ctx, hsplit_1,		2,	124),
  1407		ICE_CTX_STORE(ice_rlan_ctx, showiv,		1,	127),
  1408		ICE_CTX_STORE(ice_rlan_ctx, rxmax,		14,	174),
  1409		ICE_CTX_STORE(ice_rlan_ctx, tphrdesc_ena,	1,	193),
  1410		ICE_CTX_STORE(ice_rlan_ctx, tphwdesc_ena,	1,	194),
  1411		ICE_CTX_STORE(ice_rlan_ctx, tphdata_ena,	1,	195),
  1412		ICE_CTX_STORE(ice_rlan_ctx, tphhead_ena,	1,	196),
  1413		ICE_CTX_STORE(ice_rlan_ctx, lrxqthresh,		3,	198),
  1414		ICE_CTX_STORE(ice_rlan_ctx, prefena,		1,	201),
  1415	};
  1416	
  1417	/**
  1418	 * ice_pack_rxq_ctx - Pack Rx queue context into a HW buffer
  1419	 * @ctx: the Rx queue context to pack
  1420	 * @buf: the HW buffer to pack into
  1421	 *
  1422	 * Pack the Rx queue context from the CPU-friendly unpacked buffer into its
  1423	 * bit-packed HW layout.
  1424	 */
  1425	static void ice_pack_rxq_ctx(const struct ice_rlan_ctx *ctx,
  1426				     ice_rxq_ctx_buf_t *buf)
  1427	{
  1428		BUILD_BUG_ON(sizeof(*buf) != ICE_RXQ_CTX_SZ);
  1429	
  1430		pack_fields(buf, sizeof(*buf), ctx, ice_rlan_ctx_fields,
  1431			    QUIRK_LITTLE_ENDIAN | QUIRK_LSW32_IS_FIRST);
  1432	}
  1433	
  1434	/**
  1435	 * ice_write_rxq_ctx
  1436	 * @hw: pointer to the hardware structure
  1437	 * @rlan_ctx: pointer to the rxq context
  1438	 * @rxq_index: the index of the Rx queue
  1439	 *
  1440	 * Converts rxq context from sparse to dense structure and then writes
  1441	 * it to HW register space and enables the hardware to prefetch descriptors
  1442	 * instead of only fetching them on demand
  1443	 */
  1444	int ice_write_rxq_ctx(struct ice_hw *hw, struct ice_rlan_ctx *rlan_ctx,
  1445			      u32 rxq_index)
  1446	{
  1447		ice_rxq_ctx_buf_t buf = {};
  1448	
  1449		if (!rlan_ctx)
  1450			return -EINVAL;
  1451	
  1452		rlan_ctx->prefena = 1;
  1453	
  1454		ice_pack_rxq_ctx(rlan_ctx, &buf);
  1455	
  1456		return ice_copy_rxq_ctx_to_hw(hw, &buf, rxq_index);
  1457	}
  1458	
  1459	/* LAN Tx Queue Context */
> 1460	DECLARE_PACKED_FIELDS_S(ice_tlan_ctx_fields, ICE_TXQ_CTX_SZ) = {
  1461					    /* Field			Width	LSB */
  1462		ICE_CTX_STORE(ice_tlan_ctx, base,			57,	0),
  1463		ICE_CTX_STORE(ice_tlan_ctx, port_num,			3,	57),
  1464		ICE_CTX_STORE(ice_tlan_ctx, cgd_num,			5,	60),
  1465		ICE_CTX_STORE(ice_tlan_ctx, pf_num,			3,	65),
  1466		ICE_CTX_STORE(ice_tlan_ctx, vmvf_num,			10,	68),
  1467		ICE_CTX_STORE(ice_tlan_ctx, vmvf_type,			2,	78),
  1468		ICE_CTX_STORE(ice_tlan_ctx, src_vsi,			10,	80),
  1469		ICE_CTX_STORE(ice_tlan_ctx, tsyn_ena,			1,	90),
  1470		ICE_CTX_STORE(ice_tlan_ctx, internal_usage_flag,	1,	91),
  1471		ICE_CTX_STORE(ice_tlan_ctx, alt_vlan,			1,	92),
  1472		ICE_CTX_STORE(ice_tlan_ctx, cpuid,			8,	93),
  1473		ICE_CTX_STORE(ice_tlan_ctx, wb_mode,			1,	101),
  1474		ICE_CTX_STORE(ice_tlan_ctx, tphrd_desc,			1,	102),
  1475		ICE_CTX_STORE(ice_tlan_ctx, tphrd,			1,	103),
  1476		ICE_CTX_STORE(ice_tlan_ctx, tphwr_desc,			1,	104),
  1477		ICE_CTX_STORE(ice_tlan_ctx, cmpq_id,			9,	105),
  1478		ICE_CTX_STORE(ice_tlan_ctx, qnum_in_func,		14,	114),
  1479		ICE_CTX_STORE(ice_tlan_ctx, itr_notification_mode,	1,	128),
  1480		ICE_CTX_STORE(ice_tlan_ctx, adjust_prof_id,		6,	129),
  1481		ICE_CTX_STORE(ice_tlan_ctx, qlen,			13,	135),
  1482		ICE_CTX_STORE(ice_tlan_ctx, quanta_prof_idx,		4,	148),
  1483		ICE_CTX_STORE(ice_tlan_ctx, tso_ena,			1,	152),
  1484		ICE_CTX_STORE(ice_tlan_ctx, tso_qnum,			11,	153),
  1485		ICE_CTX_STORE(ice_tlan_ctx, legacy_int,			1,	164),
  1486		ICE_CTX_STORE(ice_tlan_ctx, drop_ena,			1,	165),
  1487		ICE_CTX_STORE(ice_tlan_ctx, cache_prof_idx,		2,	166),
  1488		ICE_CTX_STORE(ice_tlan_ctx, pkt_shaper_prof_idx,	3,	168),
  1489	};
  1490	

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




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux