Message ID | 20230728173923.1318596-14-larysa.zaremba@intel.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | BPF |
Headers | show |
Series | [bpf-next,v4,01/21] ice: make RX hash reading code more reusable | expand |
Hi Larysa, kernel test robot noticed the following build warnings: [auto build test WARNING on bpf-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Larysa-Zaremba/ice-make-RX-HW-timestamp-reading-code-more-reusable/20230729-023952 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master patch link: https://lore.kernel.org/r/20230728173923.1318596-14-larysa.zaremba%40intel.com patch subject: [PATCH bpf-next v4 13/21] ice: Implement checksum hint config: i386-randconfig-i012-20230728 (https://download.01.org/0day-ci/archive/20230729/202307290459.rfUV5NZw-lkp@intel.com/config) compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) reproduce: (https://download.01.org/0day-ci/archive/20230729/202307290459.rfUV5NZw-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/202307290459.rfUV5NZw-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/net/ethernet/intel/ice/ice_txrx_lib.c:674: warning: expecting prototype for ice_xdp_rx_csum_lvl(). Prototype was for ice_xdp_rx_csum() instead vim +674 drivers/net/ethernet/intel/ice/ice_txrx_lib.c 662 663 /** 664 * ice_xdp_rx_csum_lvl - Get level, at which HW has checked the checksum 665 * @ctx: XDP buff pointer 666 * @csum_status: destination address 667 * @csum_info: destination address 668 * 669 * Copy HW checksum level (if was checked) to the destination address. 670 */ 671 static int ice_xdp_rx_csum(const struct xdp_md *ctx, 672 enum xdp_csum_status *csum_status, 673 union xdp_csum_info *csum_info) > 674 { 675 const struct ice_xdp_buff *xdp_ext = (void *)ctx; 676 const union ice_32b_rx_flex_desc *eop_desc; 677 enum ice_rx_csum_status status; 678 u16 ptype; 679 680 eop_desc = xdp_ext->pkt_ctx.eop_desc; 681 ptype = ice_get_ptype(eop_desc); 682 683 status = ice_get_rx_csum_status(eop_desc, ptype); 684 if (status & ICE_RX_CSUM_NONE) 685 return -ENODATA; 686 687 *csum_status = XDP_CHECKSUM_VALID_LVL0 + ice_rx_csum_lvl(status); 688 return 0; 689 } 690
Hi Larysa, kernel test robot noticed the following build warnings: [auto build test WARNING on bpf-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Larysa-Zaremba/ice-make-RX-HW-timestamp-reading-code-more-reusable/20230729-023952 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master patch link: https://lore.kernel.org/r/20230728173923.1318596-14-larysa.zaremba%40intel.com patch subject: [PATCH bpf-next v4 13/21] ice: Implement checksum hint config: loongarch-allyesconfig (https://download.01.org/0day-ci/archive/20230729/202307290420.IdsEFzJG-lkp@intel.com/config) compiler: loongarch64-linux-gcc (GCC) 12.3.0 reproduce: (https://download.01.org/0day-ci/archive/20230729/202307290420.IdsEFzJG-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/202307290420.IdsEFzJG-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/net/ethernet/intel/ice/ice_txrx_lib.c:674: warning: expecting prototype for ice_xdp_rx_csum_lvl(). Prototype was for ice_xdp_rx_csum() instead vim +674 drivers/net/ethernet/intel/ice/ice_txrx_lib.c 662 663 /** 664 * ice_xdp_rx_csum_lvl - Get level, at which HW has checked the checksum 665 * @ctx: XDP buff pointer 666 * @csum_status: destination address 667 * @csum_info: destination address 668 * 669 * Copy HW checksum level (if was checked) to the destination address. 670 */ 671 static int ice_xdp_rx_csum(const struct xdp_md *ctx, 672 enum xdp_csum_status *csum_status, 673 union xdp_csum_info *csum_info) > 674 { 675 const struct ice_xdp_buff *xdp_ext = (void *)ctx; 676 const union ice_32b_rx_flex_desc *eop_desc; 677 enum ice_rx_csum_status status; 678 u16 ptype; 679 680 eop_desc = xdp_ext->pkt_ctx.eop_desc; 681 ptype = ice_get_ptype(eop_desc); 682 683 status = ice_get_rx_csum_status(eop_desc, ptype); 684 if (status & ICE_RX_CSUM_NONE) 685 return -ENODATA; 686 687 *csum_status = XDP_CHECKSUM_VALID_LVL0 + ice_rx_csum_lvl(status); 688 return 0; 689 } 690
diff --git a/drivers/net/ethernet/intel/ice/ice_txrx_lib.c b/drivers/net/ethernet/intel/ice/ice_txrx_lib.c index 6ae57a98a4d8..e7a7c8e536b2 100644 --- a/drivers/net/ethernet/intel/ice/ice_txrx_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_txrx_lib.c @@ -660,8 +660,37 @@ static int ice_xdp_rx_vlan_tag(const struct xdp_md *ctx, u16 *vlan_tci, return 0; } +/** + * ice_xdp_rx_csum_lvl - Get level, at which HW has checked the checksum + * @ctx: XDP buff pointer + * @csum_status: destination address + * @csum_info: destination address + * + * Copy HW checksum level (if was checked) to the destination address. + */ +static int ice_xdp_rx_csum(const struct xdp_md *ctx, + enum xdp_csum_status *csum_status, + union xdp_csum_info *csum_info) +{ + const struct ice_xdp_buff *xdp_ext = (void *)ctx; + const union ice_32b_rx_flex_desc *eop_desc; + enum ice_rx_csum_status status; + u16 ptype; + + eop_desc = xdp_ext->pkt_ctx.eop_desc; + ptype = ice_get_ptype(eop_desc); + + status = ice_get_rx_csum_status(eop_desc, ptype); + if (status & ICE_RX_CSUM_NONE) + return -ENODATA; + + *csum_status = XDP_CHECKSUM_VALID_LVL0 + ice_rx_csum_lvl(status); + return 0; +} + const struct xdp_metadata_ops ice_xdp_md_ops = { .xmo_rx_timestamp = ice_xdp_rx_hw_ts, .xmo_rx_hash = ice_xdp_rx_hash, .xmo_rx_vlan_tag = ice_xdp_rx_vlan_tag, + .xmo_rx_csum = ice_xdp_rx_csum, };
Implement .xmo_rx_csum callback to allow XDP code to determine, whether HW has validated any checksums. Signed-off-by: Larysa Zaremba <larysa.zaremba@intel.com> --- drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+)