Subject: Re: [net-next PATCH 8/8] octeontx2-pf: mcs: Introduce MACSEC hardware offloading

From: kernel test robot <[email-masked]>
Date: Wed, 28 Sep 2022 00:35:01 +0800

Hi Subbaraya,

I love your patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    https://github.com/intel-lab-lkp/linux/commits/Subbaraya-Sundeep/Introduce-macsec-hardware-offload-for-cn10k-platform/20220927-111449
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 5dcf41a8e928ca084e1c38ef51d067cd7587999f
config: ia64-allmodconfig
compiler: ia64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/578004f814eb0e9fbe151db47175222752f6d618
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Subbaraya-Sundeep/Introduce-macsec-hardware-offload-for-cn10k-platform/20220927-111449
        git checkout 578004f814eb0e9fbe151db47175222752f6d618
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/net/ethernet/marvell/octeontx2/nic/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email-masked]>

All errors (new ones prefixed by >>):

   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mcs_secy_rx_cfg':
>> drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:923:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
     923 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mcs_disable_rxscs':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:957:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
     957 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mcs_sync_stats':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:986:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
     986 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_open':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1038:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1038 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_stop':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1062:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1062 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_add_secy':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1080:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1080 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_upd_secy':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1114:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1114 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_del_secy':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1144:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1144 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_add_txsa':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1164:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1164 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_upd_txsa':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1206:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1206 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_del_txsa':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1238:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1238 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_add_rxsc':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1258:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1258 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_upd_rxsc':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1292:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1292 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_del_rxsc':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1311:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1311 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_add_rxsa':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1330:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1330 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_upd_rxsa':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1370:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1370 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_del_rxsa':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1403:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1403 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_get_dev_stats':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1426:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1426 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_get_tx_sc_stats':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1461:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1461 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_get_tx_sa_stats':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1482:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1482 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_get_rx_sc_stats':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1505:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1505 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mdo_get_rx_sa_stats':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1548:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1548 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: At top level:
>> drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1593:6: error: redefinition of 'cn10k_handle_mcs_event'
    1593 | void cn10k_handle_mcs_event(struct otx2_nic *pfvf, struct mcs_intr_info *event)
         |      ^~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:10:
   drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h:1033:20: note: previous definition of 'cn10k_handle_mcs_event' with type 'void(struct otx2_nic *, struct mcs_intr_info *)'
    1033 | static inline void cn10k_handle_mcs_event(struct otx2_nic *pfvf,
         |                    ^~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_handle_mcs_event':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1595:41: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1595 |         struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
         |                                         ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: At top level:
>> drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1620:5: error: redefinition of 'cn10k_mcs_init'
    1620 | int cn10k_mcs_init(struct otx2_nic *pfvf)
         |     ^~~~~~~~~~~~~~
   drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h:1031:19: note: previous definition of 'cn10k_mcs_init' with type 'int(struct otx2_nic *)'
    1031 | static inline int cn10k_mcs_init(struct otx2_nic *pfvf) { return 0; }
         |                   ^~~~~~~~~~~~~~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mcs_init':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1635:13: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1635 |         pfvf->macsec_cfg = cfg;
         |             ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: At top level:
>> drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1659:6: error: redefinition of 'cn10k_mcs_free'
    1659 | void cn10k_mcs_free(struct otx2_nic *pfvf)
         |      ^~~~~~~~~~~~~~
   drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h:1032:20: note: previous definition of 'cn10k_mcs_free' with type 'void(struct otx2_nic *)'
    1032 | static inline void cn10k_mcs_free(struct otx2_nic *pfvf) {}
         |                    ^~~~~~~~~~~~~~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c: In function 'cn10k_mcs_free':
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1666:19: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1666 |         kfree(pfvf->macsec_cfg);
         |                   ^~
   drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c:1667:13: error: 'struct otx2_nic' has no member named 'macsec_cfg'
    1667 |         pfvf->macsec_cfg = NULL;
         |             ^~

vim +923 drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c

   919	
   920	static int cn10k_mcs_secy_rx_cfg(struct otx2_nic *pfvf,
   921					 struct macsec_secy *secy, u8 hw_secy_id)
   922	{
 > 923		struct cn10k_mcs_cfg *cfg = pfvf->macsec_cfg;
   924		struct cn10k_mcs_rxsc *mcs_rx_sc;
   925		struct macsec_rx_sc *sw_rx_sc;
   926		struct macsec_rx_sa *sw_rx_sa;
   927		u8 sa_num;
   928	
   929		for (sw_rx_sc = rcu_dereference_bh(secy->rx_sc); sw_rx_sc && sw_rx_sc->active;
   930		     sw_rx_sc = rcu_dereference_bh(sw_rx_sc->next)) {
   931			mcs_rx_sc = cn10k_mcs_get_rxsc(cfg, secy, sw_rx_sc);
   932			if (unlikely(!mcs_rx_sc))
   933				continue;
   934	
   935			for (sa_num = 0; sa_num < CN10K_MCS_SA_PER_SC; sa_num++) {
   936				sw_rx_sa = rcu_dereference_bh(sw_rx_sc->sa[sa_num]);
   937				if (!sw_rx_sa)
   938					continue;
   939	
   940				cn10k_mcs_write_rx_sa_plcy(pfvf, secy, mcs_rx_sc,
   941							   sa_num, sw_rx_sa->active);
   942				cn10k_mcs_write_rx_sa_pn(pfvf, mcs_rx_sc, sa_num,
   943							 sw_rx_sa->next_pn_halves.lower);
   944			}
   945	
   946			cn10k_mcs_write_rx_flowid(pfvf, mcs_rx_sc, hw_secy_id);
   947			cn10k_mcs_write_sc_cam(pfvf, mcs_rx_sc, hw_secy_id);
   948		}
   949	
   950		return 0;
   951	}
   952	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp