All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [linux-next:master 9824/11526] drivers/net/ethernet/intel/i40e/i40e_main.c:6715 i40e_hw_dcb_config() warn: inconsistent indenting
Date: Wed, 17 Feb 2021 02:05:34 +0800	[thread overview]
Message-ID: <202102170228.uaPLH3RL-lkp@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   6553715b6db5ff5d4898895dad1b2926cfe406cf
commit: 4b208eaa8078113ed3f6ba7ecad1ac0a2bad4608 [9824/11526] i40e: Add init and default config of software based DCB
config: parisc-randconfig-m031-20210216 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0

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

New smatch warnings:
drivers/net/ethernet/intel/i40e/i40e_main.c:6715 i40e_hw_dcb_config() warn: inconsistent indenting
drivers/net/ethernet/intel/i40e/i40e_main.c:10522 i40e_rebuild() warn: inconsistent indenting

Old smatch warnings:
arch/parisc/include/asm/hash.h:44 __hash_32() warn: inconsistent indenting
drivers/net/ethernet/intel/i40e/i40e_main.c:2563 i40e_sync_vsi_filters() error: we previously assumed 'vsi->netdev' could be null (see line 2315)
drivers/net/ethernet/intel/i40e/i40e_main.c:15078 i40e_init_recovery_mode() warn: missing error code 'err'

vim +6715 drivers/net/ethernet/intel/i40e/i40e_main.c

  6547	
  6548	/**
  6549	 * i40e_hw_dcb_config - Program new DCBX settings into HW
  6550	 * @pf: PF being configured
  6551	 * @new_cfg: New DCBX configuration
  6552	 *
  6553	 * Program DCB settings into HW and reconfigure VEB/VSIs on
  6554	 * given PF
  6555	 **/
  6556	int i40e_hw_dcb_config(struct i40e_pf *pf, struct i40e_dcbx_config *new_cfg)
  6557	{
  6558		struct i40e_aqc_configure_switching_comp_ets_data ets_data;
  6559		u8 prio_type[I40E_MAX_TRAFFIC_CLASS] = {0};
  6560		u32 mfs_tc[I40E_MAX_TRAFFIC_CLASS];
  6561		struct i40e_dcbx_config *old_cfg;
  6562		u8 mode[I40E_MAX_TRAFFIC_CLASS];
  6563		struct i40e_rx_pb_config pb_cfg;
  6564		struct i40e_hw *hw = &pf->hw;
  6565		u8 num_ports = hw->num_ports;
  6566		bool need_reconfig;
  6567		int ret = -EINVAL;
  6568		u8 lltc_map = 0;
  6569		u8 tc_map = 0;
  6570		u8 new_numtc;
  6571		u8 i;
  6572	
  6573		dev_dbg(&pf->pdev->dev, "Configuring DCB registers directly\n");
  6574		/* Un-pack information to Program ETS HW via shared API
  6575		 * numtc, tcmap
  6576		 * LLTC map
  6577		 * ETS/NON-ETS arbiter mode
  6578		 * max exponent (credit refills)
  6579		 * Total number of ports
  6580		 * PFC priority bit-map
  6581		 * Priority Table
  6582		 * BW % per TC
  6583		 * Arbiter mode between UPs sharing same TC
  6584		 * TSA table (ETS or non-ETS)
  6585		 * EEE enabled or not
  6586		 * MFS TC table
  6587		 */
  6588	
  6589		new_numtc = i40e_dcb_get_num_tc(new_cfg);
  6590	
  6591		memset(&ets_data, 0, sizeof(ets_data));
  6592		for (i = 0; i < new_numtc; i++) {
  6593			tc_map |= BIT(i);
  6594			switch (new_cfg->etscfg.tsatable[i]) {
  6595			case I40E_IEEE_TSA_ETS:
  6596				prio_type[i] = I40E_DCB_PRIO_TYPE_ETS;
  6597				ets_data.tc_bw_share_credits[i] =
  6598						new_cfg->etscfg.tcbwtable[i];
  6599				break;
  6600			case I40E_IEEE_TSA_STRICT:
  6601				prio_type[i] = I40E_DCB_PRIO_TYPE_STRICT;
  6602				lltc_map |= BIT(i);
  6603				ets_data.tc_bw_share_credits[i] =
  6604						I40E_DCB_STRICT_PRIO_CREDITS;
  6605				break;
  6606			default:
  6607				/* Invalid TSA type */
  6608				need_reconfig = false;
  6609				goto out;
  6610			}
  6611		}
  6612	
  6613		old_cfg = &hw->local_dcbx_config;
  6614		/* Check if need reconfiguration */
  6615		need_reconfig = i40e_dcb_need_reconfig(pf, old_cfg, new_cfg);
  6616	
  6617		/* If needed, enable/disable frame tagging, disable all VSIs
  6618		 * and suspend port tx
  6619		 */
  6620		if (need_reconfig) {
  6621			/* Enable DCB tagging only when more than one TC */
  6622			if (new_numtc > 1)
  6623				pf->flags |= I40E_FLAG_DCB_ENABLED;
  6624			else
  6625				pf->flags &= ~I40E_FLAG_DCB_ENABLED;
  6626	
  6627			set_bit(__I40E_PORT_SUSPENDED, pf->state);
  6628			/* Reconfiguration needed quiesce all VSIs */
  6629			i40e_pf_quiesce_all_vsi(pf);
  6630			ret = i40e_suspend_port_tx(pf);
  6631			if (ret)
  6632				goto err;
  6633		}
  6634	
  6635		/* Configure Port ETS Tx Scheduler */
  6636		ets_data.tc_valid_bits = tc_map;
  6637		ets_data.tc_strict_priority_flags = lltc_map;
  6638		ret = i40e_aq_config_switch_comp_ets
  6639			(hw, pf->mac_seid, &ets_data,
  6640			 i40e_aqc_opc_modify_switching_comp_ets, NULL);
  6641		if (ret) {
  6642			dev_info(&pf->pdev->dev,
  6643				 "Modify Port ETS failed, err %s aq_err %s\n",
  6644				 i40e_stat_str(&pf->hw, ret),
  6645				 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
  6646			goto out;
  6647		}
  6648	
  6649		/* Configure Rx ETS HW */
  6650		memset(&mode, I40E_DCB_ARB_MODE_ROUND_ROBIN, sizeof(mode));
  6651		i40e_dcb_hw_set_num_tc(hw, new_numtc);
  6652		i40e_dcb_hw_rx_fifo_config(hw, I40E_DCB_ARB_MODE_ROUND_ROBIN,
  6653					   I40E_DCB_ARB_MODE_STRICT_PRIORITY,
  6654					   I40E_DCB_DEFAULT_MAX_EXPONENT,
  6655					   lltc_map);
  6656		i40e_dcb_hw_rx_cmd_monitor_config(hw, new_numtc, num_ports);
  6657		i40e_dcb_hw_rx_ets_bw_config(hw, new_cfg->etscfg.tcbwtable, mode,
  6658					     prio_type);
  6659		i40e_dcb_hw_pfc_config(hw, new_cfg->pfc.pfcenable,
  6660				       new_cfg->etscfg.prioritytable);
  6661		i40e_dcb_hw_rx_up2tc_config(hw, new_cfg->etscfg.prioritytable);
  6662	
  6663		/* Configure Rx Packet Buffers in HW */
  6664		for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) {
  6665			mfs_tc[i] = pf->vsi[pf->lan_vsi]->netdev->mtu;
  6666			mfs_tc[i] += I40E_PACKET_HDR_PAD;
  6667		}
  6668	
  6669		i40e_dcb_hw_calculate_pool_sizes(hw, num_ports,
  6670						 false, new_cfg->pfc.pfcenable,
  6671						 mfs_tc, &pb_cfg);
  6672		i40e_dcb_hw_rx_pb_config(hw, &pf->pb_cfg, &pb_cfg);
  6673	
  6674		/* Update the local Rx Packet buffer config */
  6675		pf->pb_cfg = pb_cfg;
  6676	
  6677		/* Inform the FW about changes to DCB configuration */
  6678		ret = i40e_aq_dcb_updated(&pf->hw, NULL);
  6679		if (ret) {
  6680			dev_info(&pf->pdev->dev,
  6681				 "DCB Updated failed, err %s aq_err %s\n",
  6682				 i40e_stat_str(&pf->hw, ret),
  6683				 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
  6684			goto out;
  6685		}
  6686	
  6687		/* Update the port DCBx configuration */
  6688		*old_cfg = *new_cfg;
  6689	
  6690		/* Changes in configuration update VEB/VSI */
  6691		i40e_dcb_reconfigure(pf);
  6692	out:
  6693		/* Re-start the VSIs if disabled */
  6694		if (need_reconfig) {
  6695			ret = i40e_resume_port_tx(pf);
  6696	
  6697			clear_bit(__I40E_PORT_SUSPENDED, pf->state);
  6698			/* In case of error no point in resuming VSIs */
  6699			if (ret)
  6700				goto err;
  6701	
  6702			/* Wait for the PF's queues to be disabled */
  6703			ret = i40e_pf_wait_queues_disabled(pf);
  6704			if (ret) {
  6705				/* Schedule PF reset to recover */
  6706				set_bit(__I40E_PF_RESET_REQUESTED, pf->state);
  6707				i40e_service_event_schedule(pf);
  6708				goto err;
  6709			} else {
  6710				i40e_pf_unquiesce_all_vsi(pf);
  6711				set_bit(__I40E_CLIENT_SERVICE_REQUESTED, pf->state);
  6712				set_bit(__I40E_CLIENT_L2_CHANGE, pf->state);
  6713			}
  6714		/* registers are set, lets apply */
> 6715		if (pf->hw_features & I40E_HW_USE_SET_LLDP_MIB)
  6716			ret = i40e_hw_set_dcb_config(pf, new_cfg);
  6717		}
  6718	
  6719	err:
  6720		return ret;
  6721	}
  6722	

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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
Cc: kbuild-all@lists.01.org,
	Linux Memory Management List <linux-mm@kvack.org>,
	Tony Nguyen <anthony.l.nguyen@intel.com>,
	Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Subject: [linux-next:master 9824/11526] drivers/net/ethernet/intel/i40e/i40e_main.c:6715 i40e_hw_dcb_config() warn: inconsistent indenting
Date: Wed, 17 Feb 2021 02:05:34 +0800	[thread overview]
Message-ID: <202102170228.uaPLH3RL-lkp@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   6553715b6db5ff5d4898895dad1b2926cfe406cf
commit: 4b208eaa8078113ed3f6ba7ecad1ac0a2bad4608 [9824/11526] i40e: Add init and default config of software based DCB
config: parisc-randconfig-m031-20210216 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0

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

New smatch warnings:
drivers/net/ethernet/intel/i40e/i40e_main.c:6715 i40e_hw_dcb_config() warn: inconsistent indenting
drivers/net/ethernet/intel/i40e/i40e_main.c:10522 i40e_rebuild() warn: inconsistent indenting

Old smatch warnings:
arch/parisc/include/asm/hash.h:44 __hash_32() warn: inconsistent indenting
drivers/net/ethernet/intel/i40e/i40e_main.c:2563 i40e_sync_vsi_filters() error: we previously assumed 'vsi->netdev' could be null (see line 2315)
drivers/net/ethernet/intel/i40e/i40e_main.c:15078 i40e_init_recovery_mode() warn: missing error code 'err'

vim +6715 drivers/net/ethernet/intel/i40e/i40e_main.c

  6547	
  6548	/**
  6549	 * i40e_hw_dcb_config - Program new DCBX settings into HW
  6550	 * @pf: PF being configured
  6551	 * @new_cfg: New DCBX configuration
  6552	 *
  6553	 * Program DCB settings into HW and reconfigure VEB/VSIs on
  6554	 * given PF
  6555	 **/
  6556	int i40e_hw_dcb_config(struct i40e_pf *pf, struct i40e_dcbx_config *new_cfg)
  6557	{
  6558		struct i40e_aqc_configure_switching_comp_ets_data ets_data;
  6559		u8 prio_type[I40E_MAX_TRAFFIC_CLASS] = {0};
  6560		u32 mfs_tc[I40E_MAX_TRAFFIC_CLASS];
  6561		struct i40e_dcbx_config *old_cfg;
  6562		u8 mode[I40E_MAX_TRAFFIC_CLASS];
  6563		struct i40e_rx_pb_config pb_cfg;
  6564		struct i40e_hw *hw = &pf->hw;
  6565		u8 num_ports = hw->num_ports;
  6566		bool need_reconfig;
  6567		int ret = -EINVAL;
  6568		u8 lltc_map = 0;
  6569		u8 tc_map = 0;
  6570		u8 new_numtc;
  6571		u8 i;
  6572	
  6573		dev_dbg(&pf->pdev->dev, "Configuring DCB registers directly\n");
  6574		/* Un-pack information to Program ETS HW via shared API
  6575		 * numtc, tcmap
  6576		 * LLTC map
  6577		 * ETS/NON-ETS arbiter mode
  6578		 * max exponent (credit refills)
  6579		 * Total number of ports
  6580		 * PFC priority bit-map
  6581		 * Priority Table
  6582		 * BW % per TC
  6583		 * Arbiter mode between UPs sharing same TC
  6584		 * TSA table (ETS or non-ETS)
  6585		 * EEE enabled or not
  6586		 * MFS TC table
  6587		 */
  6588	
  6589		new_numtc = i40e_dcb_get_num_tc(new_cfg);
  6590	
  6591		memset(&ets_data, 0, sizeof(ets_data));
  6592		for (i = 0; i < new_numtc; i++) {
  6593			tc_map |= BIT(i);
  6594			switch (new_cfg->etscfg.tsatable[i]) {
  6595			case I40E_IEEE_TSA_ETS:
  6596				prio_type[i] = I40E_DCB_PRIO_TYPE_ETS;
  6597				ets_data.tc_bw_share_credits[i] =
  6598						new_cfg->etscfg.tcbwtable[i];
  6599				break;
  6600			case I40E_IEEE_TSA_STRICT:
  6601				prio_type[i] = I40E_DCB_PRIO_TYPE_STRICT;
  6602				lltc_map |= BIT(i);
  6603				ets_data.tc_bw_share_credits[i] =
  6604						I40E_DCB_STRICT_PRIO_CREDITS;
  6605				break;
  6606			default:
  6607				/* Invalid TSA type */
  6608				need_reconfig = false;
  6609				goto out;
  6610			}
  6611		}
  6612	
  6613		old_cfg = &hw->local_dcbx_config;
  6614		/* Check if need reconfiguration */
  6615		need_reconfig = i40e_dcb_need_reconfig(pf, old_cfg, new_cfg);
  6616	
  6617		/* If needed, enable/disable frame tagging, disable all VSIs
  6618		 * and suspend port tx
  6619		 */
  6620		if (need_reconfig) {
  6621			/* Enable DCB tagging only when more than one TC */
  6622			if (new_numtc > 1)
  6623				pf->flags |= I40E_FLAG_DCB_ENABLED;
  6624			else
  6625				pf->flags &= ~I40E_FLAG_DCB_ENABLED;
  6626	
  6627			set_bit(__I40E_PORT_SUSPENDED, pf->state);
  6628			/* Reconfiguration needed quiesce all VSIs */
  6629			i40e_pf_quiesce_all_vsi(pf);
  6630			ret = i40e_suspend_port_tx(pf);
  6631			if (ret)
  6632				goto err;
  6633		}
  6634	
  6635		/* Configure Port ETS Tx Scheduler */
  6636		ets_data.tc_valid_bits = tc_map;
  6637		ets_data.tc_strict_priority_flags = lltc_map;
  6638		ret = i40e_aq_config_switch_comp_ets
  6639			(hw, pf->mac_seid, &ets_data,
  6640			 i40e_aqc_opc_modify_switching_comp_ets, NULL);
  6641		if (ret) {
  6642			dev_info(&pf->pdev->dev,
  6643				 "Modify Port ETS failed, err %s aq_err %s\n",
  6644				 i40e_stat_str(&pf->hw, ret),
  6645				 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
  6646			goto out;
  6647		}
  6648	
  6649		/* Configure Rx ETS HW */
  6650		memset(&mode, I40E_DCB_ARB_MODE_ROUND_ROBIN, sizeof(mode));
  6651		i40e_dcb_hw_set_num_tc(hw, new_numtc);
  6652		i40e_dcb_hw_rx_fifo_config(hw, I40E_DCB_ARB_MODE_ROUND_ROBIN,
  6653					   I40E_DCB_ARB_MODE_STRICT_PRIORITY,
  6654					   I40E_DCB_DEFAULT_MAX_EXPONENT,
  6655					   lltc_map);
  6656		i40e_dcb_hw_rx_cmd_monitor_config(hw, new_numtc, num_ports);
  6657		i40e_dcb_hw_rx_ets_bw_config(hw, new_cfg->etscfg.tcbwtable, mode,
  6658					     prio_type);
  6659		i40e_dcb_hw_pfc_config(hw, new_cfg->pfc.pfcenable,
  6660				       new_cfg->etscfg.prioritytable);
  6661		i40e_dcb_hw_rx_up2tc_config(hw, new_cfg->etscfg.prioritytable);
  6662	
  6663		/* Configure Rx Packet Buffers in HW */
  6664		for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) {
  6665			mfs_tc[i] = pf->vsi[pf->lan_vsi]->netdev->mtu;
  6666			mfs_tc[i] += I40E_PACKET_HDR_PAD;
  6667		}
  6668	
  6669		i40e_dcb_hw_calculate_pool_sizes(hw, num_ports,
  6670						 false, new_cfg->pfc.pfcenable,
  6671						 mfs_tc, &pb_cfg);
  6672		i40e_dcb_hw_rx_pb_config(hw, &pf->pb_cfg, &pb_cfg);
  6673	
  6674		/* Update the local Rx Packet buffer config */
  6675		pf->pb_cfg = pb_cfg;
  6676	
  6677		/* Inform the FW about changes to DCB configuration */
  6678		ret = i40e_aq_dcb_updated(&pf->hw, NULL);
  6679		if (ret) {
  6680			dev_info(&pf->pdev->dev,
  6681				 "DCB Updated failed, err %s aq_err %s\n",
  6682				 i40e_stat_str(&pf->hw, ret),
  6683				 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
  6684			goto out;
  6685		}
  6686	
  6687		/* Update the port DCBx configuration */
  6688		*old_cfg = *new_cfg;
  6689	
  6690		/* Changes in configuration update VEB/VSI */
  6691		i40e_dcb_reconfigure(pf);
  6692	out:
  6693		/* Re-start the VSIs if disabled */
  6694		if (need_reconfig) {
  6695			ret = i40e_resume_port_tx(pf);
  6696	
  6697			clear_bit(__I40E_PORT_SUSPENDED, pf->state);
  6698			/* In case of error no point in resuming VSIs */
  6699			if (ret)
  6700				goto err;
  6701	
  6702			/* Wait for the PF's queues to be disabled */
  6703			ret = i40e_pf_wait_queues_disabled(pf);
  6704			if (ret) {
  6705				/* Schedule PF reset to recover */
  6706				set_bit(__I40E_PF_RESET_REQUESTED, pf->state);
  6707				i40e_service_event_schedule(pf);
  6708				goto err;
  6709			} else {
  6710				i40e_pf_unquiesce_all_vsi(pf);
  6711				set_bit(__I40E_CLIENT_SERVICE_REQUESTED, pf->state);
  6712				set_bit(__I40E_CLIENT_L2_CHANGE, pf->state);
  6713			}
  6714		/* registers are set, lets apply */
> 6715		if (pf->hw_features & I40E_HW_USE_SET_LLDP_MIB)
  6716			ret = i40e_hw_set_dcb_config(pf, new_cfg);
  6717		}
  6718	
  6719	err:
  6720		return ret;
  6721	}
  6722	

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

             reply	other threads:[~2021-02-16 18:05 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-16 18:05 kernel test robot [this message]
2021-02-16 18:05 ` [linux-next:master 9824/11526] drivers/net/ethernet/intel/i40e/i40e_main.c:6715 i40e_hw_dcb_config() warn: inconsistent indenting kernel test robot
2021-02-16 22:06 ` Kubalewski, Arkadiusz
2021-02-16 22:06   ` Kubalewski, Arkadiusz

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=202102170228.uaPLH3RL-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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.