Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/94624 _apply patch failure_ Submitter: Qi Zhang Date: Monday, June 21 2021 15:06:19 Applied on: CommitID:2508c18cff9ffb217ac40e44071dc2762d257f31 Apply patch set 94624-94621 failed: Checking patch drivers/net/ice/base/ice_dcb.c... error: while searching for: return ice_aq_send_cmd(hw, &desc, (void *)buff, sizeof(*buff), cd); } /** * ice_cee_to_dcb_cfg * @cee_cfg: pointer to CEE configuration struct error: patch failed: drivers/net/ice/base/ice_dcb.c:735 Checking patch drivers/net/ice/base/ice_dcb.h... error: while searching for: ice_aq_get_cee_dcb_cfg(struct ice_hw *hw, struct ice_aqc_get_cee_dcb_cfg_resp *buff, struct ice_sq_cd *cd); enum ice_status ice_lldp_to_dcb_cfg(u8 *lldpmib, struct ice_dcbx_cfg *dcbcfg); u8 ice_get_dcbx_status(struct ice_hw *hw); enum ice_status error: patch failed: drivers/net/ice/base/ice_dcb.h:196 Applying patch drivers/net/ice/base/ice_dcb.c with 1 reject... Rejected hunk #1. Applying patch drivers/net/ice/base/ice_dcb.h with 1 reject... Rejected hunk #1. diff a/drivers/net/ice/base/ice_dcb.c b/drivers/net/ice/base/ice_dcb.c (rejected hunks) @@ -735,6 +735,47 @@ ice_aq_get_cee_dcb_cfg(struct ice_hw *hw, return ice_aq_send_cmd(hw, &desc, (void *)buff, sizeof(*buff), cd); } +/** + * ice_aq_set_pfc_mode - Set PFC mode + * @hw: pointer to the HW struct + * @pfc_mode: value of PFC mode to set + * @cd: pointer to command details structure or NULL + * + * This AQ call configures the PFC mdoe to DSCP-based PFC mode or VLAN + * -based PFC (0x0303) + */ +enum ice_status +ice_aq_set_pfc_mode(struct ice_hw *hw, u8 pfc_mode, struct ice_sq_cd *cd) +{ + struct ice_aqc_set_query_pfc_mode *cmd; + struct ice_aq_desc desc; + enum ice_status status; + + if (pfc_mode > ICE_AQC_PFC_DSCP_BASED_PFC) + return ICE_ERR_PARAM; + + cmd = &desc.params.set_query_pfc_mode; + + ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_set_pfc_mode); + + cmd->pfc_mode = pfc_mode; + + status = ice_aq_send_cmd(hw, &desc, NULL, 0, cd); + if (status) + return status; + + /* The spec isn't clear about whether the FW will return an error code + * if the PFC mode requested by the driver was not set. The spec just + * says that the FW will write the PFC mode set back into cmd->pfc_mode, + * so after the AQ has been executed, check if cmd->pfc_mode is what was + * requested. + */ + if (cmd->pfc_mode != pfc_mode) + return ICE_ERR_NOT_SUPPORTED; + + return ICE_SUCCESS; +} + /** * ice_cee_to_dcb_cfg * @cee_cfg: pointer to CEE configuration struct diff a/drivers/net/ice/base/ice_dcb.h b/drivers/net/ice/base/ice_dcb.h (rejected hunks) @@ -196,6 +196,8 @@ enum ice_status ice_aq_get_cee_dcb_cfg(struct ice_hw *hw, struct ice_aqc_get_cee_dcb_cfg_resp *buff, struct ice_sq_cd *cd); +enum ice_status +ice_aq_set_pfc_mode(struct ice_hw *hw, u8 pfc_mode, struct ice_sq_cd *cd); enum ice_status ice_lldp_to_dcb_cfg(u8 *lldpmib, struct ice_dcbx_cfg *dcbcfg); u8 ice_get_dcbx_status(struct ice_hw *hw); enum ice_status Checking patch drivers/net/ice/base/ice_adminq_cmd.h... error: while searching for: __le32 reserved[4]; }; /* Set FW Logging configuration (indirect 0xFF30) * Register for FW Logging (indirect 0xFF31) * Query FW Logging (indirect 0xFF32) * FW Log Event (indirect 0xFF33) * Get FW Log (indirect 0xFF34) * Clear FW Log (indirect 0xFF35) */ struct ice_aqc_fw_log { u8 cmd_flags; #define ICE_AQC_FW_LOG_CONF_UART_EN BIT(0) #define ICE_AQC_FW_LOG_CONF_AQ_EN BIT(1) #define ICE_AQC_FW_LOG_CONF_SET_VALID BIT(3) #define ICE_AQC_FW_LOG_AQ_REGISTER BIT(0) #define ICE_AQC_FW_LOG_AQ_QUERY BIT(2) #define ICE_AQC_FW_LOG_PERSISTENT BIT(0) u8 rsp_flag; #define ICE_AQC_FW_LOG_MORE_DATA BIT(1) __le16 fw_rt_msb; union { struct { __le32 fw_rt_lsb; } sync; struct { __le16 log_resolution; #define ICE_AQC_FW_LOG_MIN_RESOLUTION (1) #define ICE_AQC_FW_LOG_MAX_RESOLUTION (128) __le16 mdl_cnt; } cfg; } ops; __le32 addr_high; __le32 addr_low; }; /* Response Buffer for: * Set Firmware Logging Configuration (0xFF30) * Query FW Logging (0xFF32) */ struct ice_aqc_fw_log_cfg_resp { __le16 module_identifier; u8 log_level; u8 rsvd0; }; /** * struct ice_aq_desc - Admin Queue (AQ) descriptor * @flags: ICE_AQ_FLAG_* flags error: patch failed: drivers/net/ice/base/ice_adminq_cmd.h:2793 error: while searching for: ice_aqc_opc_get_supported_health_status_codes = 0xFF21, ice_aqc_opc_get_health_status = 0xFF22, ice_aqc_opc_clear_health_status = 0xFF23, /* FW Logging Commands */ ice_aqc_opc_fw_logs_config = 0xFF30, ice_aqc_opc_fw_logs_register = 0xFF31, ice_aqc_opc_fw_logs_query = 0xFF32, ice_aqc_opc_fw_logs_event = 0xFF33, ice_aqc_opc_fw_logs_get = 0xFF34, ice_aqc_opc_fw_logs_clear = 0xFF35 }; #endif /* _ICE_ADMINQ_CMD_H_ */ error: patch failed: drivers/net/ice/base/ice_adminq_cmd.h:3207 Applying patch drivers/net/ice/base/ice_adminq_cmd.h with 2 rejects... Rejected hunk #1. Rejected hunk #2. diff a/drivers/net/ice/base/ice_adminq_cmd.h b/drivers/net/ice/base/ice_adminq_cmd.h (rejected hunks) @@ -2793,50 +2793,6 @@ struct ice_aqc_clear_health_status { __le32 reserved[4]; }; -/* Set FW Logging configuration (indirect 0xFF30) - * Register for FW Logging (indirect 0xFF31) - * Query FW Logging (indirect 0xFF32) - * FW Log Event (indirect 0xFF33) - * Get FW Log (indirect 0xFF34) - * Clear FW Log (indirect 0xFF35) - */ - -struct ice_aqc_fw_log { - u8 cmd_flags; -#define ICE_AQC_FW_LOG_CONF_UART_EN BIT(0) -#define ICE_AQC_FW_LOG_CONF_AQ_EN BIT(1) -#define ICE_AQC_FW_LOG_CONF_SET_VALID BIT(3) -#define ICE_AQC_FW_LOG_AQ_REGISTER BIT(0) -#define ICE_AQC_FW_LOG_AQ_QUERY BIT(2) -#define ICE_AQC_FW_LOG_PERSISTENT BIT(0) - u8 rsp_flag; -#define ICE_AQC_FW_LOG_MORE_DATA BIT(1) - __le16 fw_rt_msb; - union { - struct { - __le32 fw_rt_lsb; - } sync; - struct { - __le16 log_resolution; -#define ICE_AQC_FW_LOG_MIN_RESOLUTION (1) -#define ICE_AQC_FW_LOG_MAX_RESOLUTION (128) - __le16 mdl_cnt; - } cfg; - } ops; - __le32 addr_high; - __le32 addr_low; -}; - -/* Response Buffer for: - * Set Firmware Logging Configuration (0xFF30) - * Query FW Logging (0xFF32) - */ -struct ice_aqc_fw_log_cfg_resp { - __le16 module_identifier; - u8 log_level; - u8 rsvd0; -}; - /** * struct ice_aq_desc - Admin Queue (AQ) descriptor * @flags: ICE_AQ_FLAG_* flags @@ -3207,14 +3163,6 @@ enum ice_adminq_opc { ice_aqc_opc_get_supported_health_status_codes = 0xFF21, ice_aqc_opc_get_health_status = 0xFF22, ice_aqc_opc_clear_health_status = 0xFF23, - - /* FW Logging Commands */ - ice_aqc_opc_fw_logs_config = 0xFF30, - ice_aqc_opc_fw_logs_register = 0xFF31, - ice_aqc_opc_fw_logs_query = 0xFF32, - ice_aqc_opc_fw_logs_event = 0xFF33, - ice_aqc_opc_fw_logs_get = 0xFF34, - ice_aqc_opc_fw_logs_clear = 0xFF35 }; #endif /* _ICE_ADMINQ_CMD_H_ */ Checking patch drivers/net/ice/base/ice_adminq_cmd.h... error: while searching for: struct ice_aqc_get_link_topo { struct ice_aqc_link_topo_addr addr; u8 node_part_num; u8 rsvd[9]; }; error: patch failed: drivers/net/ice/base/ice_adminq_cmd.h:1670 Checking patch drivers/net/ice/base/ice_sched.c... error: while searching for: ice_sched_assoc_vsi_to_agg(struct ice_port_info *pi, u32 agg_id, u16 vsi_handle, ice_bitmap_t *tc_bitmap) { struct ice_sched_agg_vsi_info *agg_vsi_info; struct ice_sched_agg_info *agg_info; enum ice_status status = ICE_SUCCESS; struct ice_hw *hw = pi->hw; u8 tc; error: patch failed: drivers/net/ice/base/ice_sched.c:2841 error: while searching for: agg_info = ice_get_agg_info(hw, agg_id); if (!agg_info) return ICE_ERR_PARAM; /* check if entry already exist */ agg_vsi_info = ice_get_agg_vsi_info(agg_info, vsi_handle); if (!agg_vsi_info) { error: patch failed: drivers/net/ice/base/ice_sched.c:2852 error: while searching for: break; ice_set_bit(tc, agg_vsi_info->tc_bitmap); } return status; } error: patch failed: drivers/net/ice/base/ice_sched.c:2876 Applying patch drivers/net/ice/base/ice_adminq_cmd.h with 1 reject... Rejected hunk #1. Applying patch drivers/net/ice/base/ice_sched.c with 3 rejects... Rejected hunk #1. Rejected hunk #2. Rejected hunk #3. diff a/drivers/net/ice/base/ice_adminq_cmd.h b/drivers/net/ice/base/ice_adminq_cmd.h (rejected hunks) @@ -1670,6 +1670,7 @@ struct ice_aqc_link_topo_addr { struct ice_aqc_get_link_topo { struct ice_aqc_link_topo_addr addr; u8 node_part_num; +#define ICE_ACQ_GET_LINK_TOPO_NODE_NR_PCA9575 0x21 u8 rsvd[9]; }; diff a/drivers/net/ice/base/ice_sched.c b/drivers/net/ice/base/ice_sched.c (rejected hunks) @@ -2841,8 +2841,8 @@ static enum ice_status ice_sched_assoc_vsi_to_agg(struct ice_port_info *pi, u32 agg_id, u16 vsi_handle, ice_bitmap_t *tc_bitmap) { - struct ice_sched_agg_vsi_info *agg_vsi_info; - struct ice_sched_agg_info *agg_info; + struct ice_sched_agg_vsi_info *agg_vsi_info, *old_agg_vsi_info = NULL; + struct ice_sched_agg_info *agg_info, *old_agg_info; enum ice_status status = ICE_SUCCESS; struct ice_hw *hw = pi->hw; u8 tc; @@ -2852,6 +2852,20 @@ ice_sched_assoc_vsi_to_agg(struct ice_port_info *pi, u32 agg_id, agg_info = ice_get_agg_info(hw, agg_id); if (!agg_info) return ICE_ERR_PARAM; + /* If the vsi is already part of another aggregator then update + * its vsi info list + */ + old_agg_info = ice_get_vsi_agg_info(hw, vsi_handle); + if (old_agg_info && old_agg_info != agg_info) { + struct ice_sched_agg_vsi_info *vtmp; + + LIST_FOR_EACH_ENTRY_SAFE(old_agg_vsi_info, vtmp, + &old_agg_info->agg_vsi_list, + ice_sched_agg_vsi_info, list_entry) + if (old_agg_vsi_info->vsi_handle == vsi_handle) + break; + } + /* check if entry already exist */ agg_vsi_info = ice_get_agg_vsi_info(agg_info, vsi_handle); if (!agg_vsi_info) { @@ -2876,6 +2890,12 @@ ice_sched_assoc_vsi_to_agg(struct ice_port_info *pi, u32 agg_id, break; ice_set_bit(tc, agg_vsi_info->tc_bitmap); + if (old_agg_vsi_info) + ice_clear_bit(tc, old_agg_vsi_info->tc_bitmap); + } + if (old_agg_vsi_info && !old_agg_vsi_info->tc_bitmap[0]) { + LIST_DEL(&old_agg_vsi_info->list_entry); + ice_free(pi->hw, old_agg_vsi_info); } return status; } Checking patch drivers/net/ice/base/ice_common.c... error: while searching for: status = ice_aq_manage_mac_read(hw, mac_buf, mac_buf_len, NULL); ice_free(hw, mac_buf); if (status) goto err_unroll_fltr_mgmt_struct; /* enable jumbo frame support at MAC level */ status = ice_aq_set_mac_cfg(hw, ICE_AQ_SET_MAC_FRAME_SIZE_MAX, NULL); if (status) goto err_unroll_fltr_mgmt_struct; /* Obtain counter base index which would be used by flow director */ error: patch failed: drivers/net/ice/base/ice_common.c:830 Applying patch drivers/net/ice/base/ice_common.c with 1 reject... Rejected hunk #1. diff a/drivers/net/ice/base/ice_common.c b/drivers/net/ice/base/ice_common.c (rejected hunks) @@ -830,10 +830,6 @@ enum ice_status ice_init_hw(struct ice_hw *hw) status = ice_aq_manage_mac_read(hw, mac_buf, mac_buf_len, NULL); ice_free(hw, mac_buf); - if (status) - goto err_unroll_fltr_mgmt_struct; - /* enable jumbo frame support at MAC level */ - status = ice_aq_set_mac_cfg(hw, ICE_AQ_SET_MAC_FRAME_SIZE_MAX, NULL); if (status) goto err_unroll_fltr_mgmt_struct; /* Obtain counter base index which would be used by flow director */ https://lab.dpdk.org/results/dashboard/patchsets/17466/ UNH-IOL DPDK Community Lab