[net v2 PATCH] net: stmmac: Update CBS parameters when speed changes after linking up
xiaolei wang
xiaolei.wang at windriver.com
Tue Jun 4 22:30:49 PDT 2024
On 6/5/24 13:26, Dan Carpenter wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> Hi Xiaolei,
>
> kernel test robot noticed the following build warnings:
Please drop this patch as there are still some questions on this issue
thanks
xiaolei
>
> url: https://github.com/intel-lab-lkp/linux/commits/Xiaolei-Wang/net-stmmac-Update-CBS-parameters-when-speed-changes-after-linking-up/20240530-141843
> base: net/main
> patch link: https://lore.kernel.org/r/20240530061453.561708-1-xiaolei.wang%40windriver.com
> patch subject: [net v2 PATCH] net: stmmac: Update CBS parameters when speed changes after linking up
> config: i386-randconfig-141-20240604 (https://download.01.org/0day-ci/archive/20240605/202406050318.jsyBFsxx-lkp@intel.com/config)
> compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
>
> 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 at intel.com>
> | Reported-by: Dan Carpenter <dan.carpenter at linaro.org>
> | Closes: https://lore.kernel.org/r/202406050318.jsyBFsxx-lkp@intel.com/
>
> New smatch warnings:
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:3234 stmmac_configure_cbs() error: uninitialized symbol 'ptr'.
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:3234 stmmac_configure_cbs() error: uninitialized symbol 'speed_div'.
>
> vim +/ptr +3234 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
>
> 19d9187317979c Joao Pinto 2017-03-10 3194 static void stmmac_configure_cbs(struct stmmac_priv *priv)
> 19d9187317979c Joao Pinto 2017-03-10 3195 {
> 19d9187317979c Joao Pinto 2017-03-10 3196 u32 tx_queues_count = priv->plat->tx_queues_to_use;
> 19d9187317979c Joao Pinto 2017-03-10 3197 u32 mode_to_use;
> 19d9187317979c Joao Pinto 2017-03-10 3198 u32 queue;
> 882212f550d669 Xiaolei Wang 2024-05-30 3199 u32 ptr, speed_div;
> 882212f550d669 Xiaolei Wang 2024-05-30 3200 u64 value;
> 882212f550d669 Xiaolei Wang 2024-05-30 3201
> 882212f550d669 Xiaolei Wang 2024-05-30 3202 /* Port Transmit Rate and Speed Divider */
> 882212f550d669 Xiaolei Wang 2024-05-30 3203 switch (priv->speed) {
> 882212f550d669 Xiaolei Wang 2024-05-30 3204 case SPEED_10000:
> 882212f550d669 Xiaolei Wang 2024-05-30 3205 ptr = 32;
> 882212f550d669 Xiaolei Wang 2024-05-30 3206 speed_div = 10000000;
> 882212f550d669 Xiaolei Wang 2024-05-30 3207 break;
> 882212f550d669 Xiaolei Wang 2024-05-30 3208 case SPEED_5000:
> 882212f550d669 Xiaolei Wang 2024-05-30 3209 ptr = 32;
> 882212f550d669 Xiaolei Wang 2024-05-30 3210 speed_div = 5000000;
> 882212f550d669 Xiaolei Wang 2024-05-30 3211 break;
> 882212f550d669 Xiaolei Wang 2024-05-30 3212 case SPEED_2500:
> 882212f550d669 Xiaolei Wang 2024-05-30 3213 ptr = 8;
> 882212f550d669 Xiaolei Wang 2024-05-30 3214 speed_div = 2500000;
> 882212f550d669 Xiaolei Wang 2024-05-30 3215 break;
> 882212f550d669 Xiaolei Wang 2024-05-30 3216 case SPEED_1000:
> 882212f550d669 Xiaolei Wang 2024-05-30 3217 ptr = 8;
> 882212f550d669 Xiaolei Wang 2024-05-30 3218 speed_div = 1000000;
> 882212f550d669 Xiaolei Wang 2024-05-30 3219 break;
> 882212f550d669 Xiaolei Wang 2024-05-30 3220 case SPEED_100:
> 882212f550d669 Xiaolei Wang 2024-05-30 3221 ptr = 4;
> 882212f550d669 Xiaolei Wang 2024-05-30 3222 speed_div = 100000;
> 882212f550d669 Xiaolei Wang 2024-05-30 3223 break;
> 882212f550d669 Xiaolei Wang 2024-05-30 3224 default:
> 882212f550d669 Xiaolei Wang 2024-05-30 3225 netdev_dbg(priv->dev, "link speed is not known\n");
>
> return;?
>
> 882212f550d669 Xiaolei Wang 2024-05-30 3226 }
> 19d9187317979c Joao Pinto 2017-03-10 3227
> 44781fef137896 Joao Pinto 2017-03-31 3228 /* queue 0 is reserved for legacy traffic */
> 44781fef137896 Joao Pinto 2017-03-31 3229 for (queue = 1; queue < tx_queues_count; queue++) {
> 19d9187317979c Joao Pinto 2017-03-10 3230 mode_to_use = priv->plat->tx_queues_cfg[queue].mode_to_use;
> 19d9187317979c Joao Pinto 2017-03-10 3231 if (mode_to_use == MTL_QUEUE_DCB)
> 19d9187317979c Joao Pinto 2017-03-10 3232 continue;
> 19d9187317979c Joao Pinto 2017-03-10 3233
> 882212f550d669 Xiaolei Wang 2024-05-30 @3234 value = div_s64(priv->old_idleslope[queue] * 1024ll * ptr, speed_div);
> ^^^ ^^^^^^^^^^
> Uninitialized.
>
> 882212f550d669 Xiaolei Wang 2024-05-30 3235 priv->plat->tx_queues_cfg[queue].idle_slope = value & GENMASK(31, 0);
> 882212f550d669 Xiaolei Wang 2024-05-30 3236
> 882212f550d669 Xiaolei Wang 2024-05-30 3237 value = div_s64(-priv->old_sendslope[queue] * 1024ll * ptr, speed_div);
> 882212f550d669 Xiaolei Wang 2024-05-30 3238 priv->plat->tx_queues_cfg[queue].send_slope = value & GENMASK(31, 0);
> 882212f550d669 Xiaolei Wang 2024-05-30 3239
> c10d4c82a5c84c Jose Abreu 2018-04-16 3240 stmmac_config_cbs(priv, priv->hw,
> 19d9187317979c Joao Pinto 2017-03-10 3241 priv->plat->tx_queues_cfg[queue].send_slope,
> 19d9187317979c Joao Pinto 2017-03-10 3242 priv->plat->tx_queues_cfg[queue].idle_slope,
> 19d9187317979c Joao Pinto 2017-03-10 3243 priv->plat->tx_queues_cfg[queue].high_credit,
> 19d9187317979c Joao Pinto 2017-03-10 3244 priv->plat->tx_queues_cfg[queue].low_credit,
> 19d9187317979c Joao Pinto 2017-03-10 3245 queue);
> 19d9187317979c Joao Pinto 2017-03-10 3246 }
> 19d9187317979c Joao Pinto 2017-03-10 3247 }
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>
More information about the linux-arm-kernel
mailing list