On Mon, Sep 30, 2019 at 8:19 AM Rasesh Mody <rm...@marvell.com> wrote: > > Hi, > > This patch series updates the FW to 8.40.25.0 and includes corresponding > base driver changes. It also includes some enhancements and fixes. > The PMD version is bumped to 2.11.0.1. > > Please apply. > > Thanks! > -Rasesh > > Rasesh Mody (9): > net/qede/base: calculate right page index for PBL chains > net/qede/base: change MFW mailbox command log verbosity > net/qede/base: lock entire QM reconfiguration flow > net/qede/base: rename HSI datatypes and funcs > net/qede/base: update rt defs NVM cfg and mcp code > net/qede/base: move dmae code to HSI > net/qede/base: update HSI code > net/qede/base: update the FW to 8.40.25.0 > net/qede: print adapter info during init failure
Hi Rasesh, I understand it is the _base_ code(probably owned by someone else)but there are a lot of checkpatch issues[1] with this patch in base code. Is something can be fixed? if so, please send the next version else let us know. [1] CHECK:MACRO_ARG_REUSE: Macro argument reuse 'map' - possible side-effects? #2927: FILE: drivers/net/qede/base/ecore_init_fw_funcs.c:163: +#define QM_INIT_TX_PQ_MAP(p_hwfn, map, pq_id, vp_pq_id, \ + rl_valid, rl_id, voq, wrr) \ + do { \ + OSAL_MEMSET(&map, 0, sizeof(map)); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_PQ_VALID, 1); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_RL_VALID, rl_valid ? 1 : 0); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_RL_ID, rl_id); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_VP_PQ_ID, vp_pq_id); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_VOQ, voq); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_WRR_WEIGHT_GROUP, wrr); \ + STORE_RT_REG(p_hwfn, QM_REG_TXPQMAP_RT_OFFSET + pq_id, *((u32 *)&map));\ } while (0) CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'map' may be better as '(map)' to avoid precedence issues #2927: FILE: drivers/net/qede/base/ecore_init_fw_funcs.c:163: +#define QM_INIT_TX_PQ_MAP(p_hwfn, map, pq_id, vp_pq_id, \ + rl_valid, rl_id, voq, wrr) \ + do { \ + OSAL_MEMSET(&map, 0, sizeof(map)); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_PQ_VALID, 1); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_RL_VALID, rl_valid ? 1 : 0); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_RL_ID, rl_id); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_VP_PQ_ID, vp_pq_id); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_VOQ, voq); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_WRR_WEIGHT_GROUP, wrr); \ + STORE_RT_REG(p_hwfn, QM_REG_TXPQMAP_RT_OFFSET + pq_id, *((u32 *)&map));\ } while (0) CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'pq_id' may be better as '(pq_id)' to avoid precedence issues #2927: FILE: drivers/net/qede/base/ecore_init_fw_funcs.c:163: +#define QM_INIT_TX_PQ_MAP(p_hwfn, map, pq_id, vp_pq_id, \ + rl_valid, rl_id, voq, wrr) \ + do { \ + OSAL_MEMSET(&map, 0, sizeof(map)); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_PQ_VALID, 1); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_RL_VALID, rl_valid ? 1 : 0); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_RL_ID, rl_id); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_VP_PQ_ID, vp_pq_id); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_VOQ, voq); \ + SET_FIELD(map.reg, QM_RF_PQ_MAP_WRR_WEIGHT_GROUP, wrr); \ + STORE_RT_REG(p_hwfn, QM_REG_TXPQMAP_RT_OFFSET + pq_id, *((u32 *)&map));\ } while (0) WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (8, 8) #2929: FILE: drivers/net/qede/base/ecore_init_fw_funcs.c:165: + do { \ + OSAL_MEMSET(&map, 0, sizeof(map)); \ total: 0 errors, 1 warnings, 3 checks, 3176 lines checked CHECK:CAMELCASE: Avoid CamelCase: <optionId> #1028: FILE: drivers/net/qede/base/mcp_public.h:1707: +#define SINGLE_NVM_WR_OP(optionId) \ WARNING:LONG_LINE: line over 80 characters #1210: FILE: drivers/net/qede/base/nvm_cfg.h:1120: + #define NVM_CFG1_GLOB_WARNING_TEMPERATURE_THRESHOLD_MASK 0x1FE00000 WARNING:LONG_LINE: line over 80 characters #1322: FILE: drivers/net/qede/base/nvm_cfg.h:1229: + #define NVM_CFG1_GLOB_STORM_CLOCK_FREQUENCY_STORM_CLK_DEFAULT 0x0 WARNING:LONG_LINE: line over 80 characters #1447: FILE: drivers/net/qede/base/nvm_cfg.h:1354: + #define NVM_CFG1_GLOB_NUMBER_OF_PROVISIONED_VF_MAC_MASK 0x00FF0000 WARNING:LONG_LINE: line over 80 characters #1569: FILE: drivers/net/qede/base/nvm_cfg.h:2229: + #define NVM_CFG1_PORT_EXTENDED_FEC_MODE_EXTND_FEC_25G_BASE_R 0x10 WARNING:LONG_LINE: line over 80 characters #1572: FILE: drivers/net/qede/base/nvm_cfg.h:2232: + #define NVM_CFG1_PORT_EXTENDED_FEC_MODE_EXTND_FEC_40G_BASE_R 0x80 WARNING:LONG_LINE: line over 80 characters #1574: FILE: drivers/net/qede/base/nvm_cfg.h:2234: + #define NVM_CFG1_PORT_EXTENDED_FEC_MODE_EXTND_FEC_50G_BASE_R 0x200 WARNING:LONG_LINE: line over 80 characters #1575: FILE: drivers/net/qede/base/nvm_cfg.h:2235: + #define NVM_CFG1_PORT_EXTENDED_FEC_MODE_EXTND_FEC_50G_RS528 0x400 WARNING:LONG_LINE: line over 80 characters #1576: FILE: drivers/net/qede/base/nvm_cfg.h:2236: + #define NVM_CFG1_PORT_EXTENDED_FEC_MODE_EXTND_FEC_50G_RS544 0x800 WARNING:LONG_LINE: line over 80 characters #1577: FILE: drivers/net/qede/base/nvm_cfg.h:2237: + #define NVM_CFG1_PORT_EXTENDED_FEC_MODE_EXTND_FEC_100G_NONE 0x1000 WARNING:LONG_LINE: line over 80 characters #1578: FILE: drivers/net/qede/base/nvm_cfg.h:2238: + #define NVM_CFG1_PORT_EXTENDED_FEC_MODE_EXTND_FEC_100G_BASE_R 0x2000 WARNING:LONG_LINE: line over 80 characters #1579: FILE: drivers/net/qede/base/nvm_cfg.h:2239: + #define NVM_CFG1_PORT_EXTENDED_FEC_MODE_EXTND_FEC_100G_RS528 0x4000 WARNING:LONG_LINE: line over 80 characters #1580: FILE: drivers/net/qede/base/nvm_cfg.h:2240: + #define NVM_CFG1_PORT_EXTENDED_FEC_MODE_EXTND_FEC_100G_RS544 0x8000 total: 0 errors, 12 warnings, 1 checks, 2043 lines checked ### net/qede/base: update HSI code CHECK:CAMELCASE: Avoid CamelCase: <vfId> WARNING:LONG_LINE_COMMENT: line over 80 characters #2913: FILE: drivers/net/qede/base/ecore_iro_values.h:217: + /* TSTORM_NVMF_PORT_TASKPOOL_PRODUCER_CONSUMER_OFFSET(port_num_id,taskpool_index), */ total: 0 errors, 1 warnings, 2 checks, 2956 lines checked ### net/qede/base: update the FW to 8.40.25.0 CHECK:OPEN_ENDED_LINE: Lines should not end with a '(' #433: FILE: drivers/net/qede/base/ecore_cxt.c:633: + p_blk = ecore_cxt_set_blk( CHECK:OPEN_ENDED_LINE: Lines should not end with a '(' #461: FILE: drivers/net/qede/base/ecore_cxt.c:688: + p_blk = ecore_cxt_set_blk( CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around 'line == first_skipped_line' #794: FILE: drivers/net/qede/base/ecore_cxt.c:1018: + if (lines_to_skip && (line == first_skipped_line)) { WARNING:EMBEDDED_FUNCTION_NAME: Prefer using '"%s...", __func__' to using 'ecore_hw_init_chip', this function's name, in a string #1482: FILE: drivers/net/qede/base/ecore_dev.c:2719: + "ecore_hw_init_chip() shouldn't be called in a non-emulation environment\n"); CHECK:MACRO_ARG_REUSE: Macro argument reuse 'pq_size' - possible side-effects? #2348: FILE: drivers/net/qede/base/ecore_init_fw_funcs.c:26: +#define QM_PQ_MEM_4KB(pq_size) \ + (pq_size ? DIV_ROUND_UP((pq_size + 1) * QM_PQ_ELEMENT_SIZE, 0x1000) : 0) CHECK:MACRO_ARG_REUSE: Macro argument reuse 'pq_size' - possible side-effects? #2350: FILE: drivers/net/qede/base/ecore_init_fw_funcs.c:28: +#define QM_PQ_SIZE_256B(pq_size) \ + (pq_size ? DIV_ROUND_UP(pq_size, 0x100) - 1 : 0) CHECK:MACRO_ARG_REUSE: Macro argument reuse 'rl_id' - possible side-effects? #2410: FILE: drivers/net/qede/base/ecore_init_fw_funcs.c:171: +#define PQ_INFO_ELEMENT(vp_pq_id, pf, tc, port, rl_valid, rl_id) \ + (((vp_pq_id) << 0) | ((pf) << 12) | ((tc) << 16) | ((port) << 20) | \ + ((rl_valid ? 1 : 0) << 22) | (((rl_id) & 255) << 24) | \ + (((rl_id) >> 8) << 9)) CHECK:CAMELCASE: Avoid CamelCase: <pData> #3106: FILE: drivers/net/qede/base/ecore_init_fw_funcs.c:1438: + u32 *pData, CHECK:MACRO_ARG_REUSE: Macro argument reuse 'port' - possible side-effects? #3524: FILE: drivers/net/qede/base/ecore_init_fw_funcs.h:20: +#define VOQ(port, tc, max_phys_tcs_per_port) \ + ((tc) == PURE_LB_TC ? NUM_OF_PHYS_TCS * MAX_NUM_PORTS_BB + (port) : \ + (port) * (max_phys_tcs_per_port) + (tc)) CHECK:MACRO_ARG_REUSE: Macro argument reuse 'tc' - possible side-effects? #3524: FILE: drivers/net/qede/base/ecore_init_fw_funcs.h:20: +#define VOQ(port, tc, max_phys_tcs_per_port) \ + ((tc) == PURE_LB_TC ? NUM_OF_PHYS_TCS * MAX_NUM > > drivers/net/qede/base/bcm_osal.c | 1 + > drivers/net/qede/base/bcm_osal.h | 5 +- > drivers/net/qede/base/common_hsi.h | 257 +-- > drivers/net/qede/base/ecore.h | 77 +- > drivers/net/qede/base/ecore_chain.h | 84 +- > drivers/net/qede/base/ecore_cxt.c | 520 ++++--- > drivers/net/qede/base/ecore_cxt.h | 12 + > drivers/net/qede/base/ecore_dcbx.c | 7 +- > drivers/net/qede/base/ecore_dev.c | 753 +++++---- > drivers/net/qede/base/ecore_dev_api.h | 92 -- > drivers/net/qede/base/ecore_gtt_reg_addr.h | 42 +- > drivers/net/qede/base/ecore_gtt_values.h | 18 +- > drivers/net/qede/base/ecore_hsi_common.h | 1134 +++++++------- > drivers/net/qede/base/ecore_hsi_debug_tools.h | 475 +++--- > drivers/net/qede/base/ecore_hsi_eth.h | 1386 ++++++++--------- > drivers/net/qede/base/ecore_hsi_init_func.h | 25 +- > drivers/net/qede/base/ecore_hsi_init_tool.h | 42 +- > drivers/net/qede/base/ecore_hw.c | 68 +- > drivers/net/qede/base/ecore_hw.h | 98 +- > drivers/net/qede/base/ecore_init_fw_funcs.c | 717 ++++----- > drivers/net/qede/base/ecore_init_fw_funcs.h | 107 +- > drivers/net/qede/base/ecore_init_ops.c | 66 +- > drivers/net/qede/base/ecore_init_ops.h | 12 +- > drivers/net/qede/base/ecore_int.c | 131 +- > drivers/net/qede/base/ecore_int.h | 4 +- > drivers/net/qede/base/ecore_int_api.h | 13 +- > drivers/net/qede/base/ecore_iov_api.h | 4 +- > drivers/net/qede/base/ecore_iro.h | 320 ++-- > drivers/net/qede/base/ecore_iro_values.h | 336 ++-- > drivers/net/qede/base/ecore_l2.c | 10 +- > drivers/net/qede/base/ecore_l2_api.h | 2 + > drivers/net/qede/base/ecore_mcp.c | 296 ++-- > drivers/net/qede/base/ecore_mcp.h | 9 +- > drivers/net/qede/base/ecore_proto_if.h | 1 + > drivers/net/qede/base/ecore_rt_defs.h | 870 +++++------ > drivers/net/qede/base/ecore_sp_commands.c | 15 +- > drivers/net/qede/base/ecore_spq.c | 55 +- > drivers/net/qede/base/ecore_sriov.c | 178 ++- > drivers/net/qede/base/ecore_sriov.h | 4 +- > drivers/net/qede/base/ecore_vf.c | 18 +- > drivers/net/qede/base/eth_common.h | 101 +- > drivers/net/qede/base/mcp_public.h | 59 +- > drivers/net/qede/base/nvm_cfg.h | 909 ++++++++++- > drivers/net/qede/base/reg_addr.h | 75 +- > drivers/net/qede/qede_ethdev.c | 54 +- > drivers/net/qede/qede_ethdev.h | 21 +- > drivers/net/qede/qede_main.c | 2 +- > drivers/net/qede/qede_rxtx.c | 28 +- > 48 files changed, 5471 insertions(+), 4042 deletions(-) > > -- > 2.18.0 >