summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/qlogic/qed/qed_mcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/qlogic/qed/qed_mcp.c')
-rw-r--r--drivers/net/ethernet/qlogic/qed/qed_mcp.c115
1 files changed, 0 insertions, 115 deletions
diff --git a/drivers/net/ethernet/qlogic/qed/qed_mcp.c b/drivers/net/ethernet/qlogic/qed/qed_mcp.c
index bb8541847aa5..e7f18e34ff0d 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_mcp.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_mcp.c
@@ -1070,27 +1070,6 @@ int qed_mcp_load_req(struct qed_hwfn *p_hwfn,
return 0;
}
-int qed_mcp_load_done(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt)
-{
- u32 resp = 0, param = 0;
- int rc;
-
- rc = qed_mcp_cmd(p_hwfn, p_ptt, DRV_MSG_CODE_LOAD_DONE, 0, &resp,
- &param);
- if (rc) {
- DP_NOTICE(p_hwfn,
- "Failed to send a LOAD_DONE command, rc = %d\n", rc);
- return rc;
- }
-
- /* Check if there is a DID mismatch between nvm-cfg/efuse */
- if (param & FW_MB_PARAM_LOAD_DONE_DID_EFUSE_ERROR)
- DP_NOTICE(p_hwfn,
- "warning: device configuration is not supported on this board type. The device may not function as expected.\n");
-
- return 0;
-}
-
int qed_mcp_unload_req(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt)
{
struct qed_mcp_mb_params mb_params;
@@ -1549,60 +1528,6 @@ int qed_mcp_set_link(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, bool b_up)
return 0;
}
-u32 qed_get_process_kill_counter(struct qed_hwfn *p_hwfn,
- struct qed_ptt *p_ptt)
-{
- u32 path_offsize_addr, path_offsize, path_addr, proc_kill_cnt;
-
- if (IS_VF(p_hwfn->cdev))
- return -EINVAL;
-
- path_offsize_addr = SECTION_OFFSIZE_ADDR(p_hwfn->mcp_info->public_base,
- PUBLIC_PATH);
- path_offsize = qed_rd(p_hwfn, p_ptt, path_offsize_addr);
- path_addr = SECTION_ADDR(path_offsize, QED_PATH_ID(p_hwfn));
-
- proc_kill_cnt = qed_rd(p_hwfn, p_ptt,
- path_addr +
- offsetof(struct public_path, process_kill)) &
- PROCESS_KILL_COUNTER_MASK;
-
- return proc_kill_cnt;
-}
-
-static void qed_mcp_handle_process_kill(struct qed_hwfn *p_hwfn,
- struct qed_ptt *p_ptt)
-{
- struct qed_dev *cdev = p_hwfn->cdev;
- u32 proc_kill_cnt;
-
- /* Prevent possible attentions/interrupts during the recovery handling
- * and till its load phase, during which they will be re-enabled.
- */
- qed_int_igu_disable_int(p_hwfn, p_ptt);
-
- DP_NOTICE(p_hwfn, "Received a process kill indication\n");
-
- /* The following operations should be done once, and thus in CMT mode
- * are carried out by only the first HW function.
- */
- if (p_hwfn != QED_LEADING_HWFN(cdev))
- return;
-
- if (cdev->recov_in_prog) {
- DP_NOTICE(p_hwfn,
- "Ignoring the indication since a recovery process is already in progress\n");
- return;
- }
-
- cdev->recov_in_prog = true;
-
- proc_kill_cnt = qed_get_process_kill_counter(p_hwfn, p_ptt);
- DP_NOTICE(p_hwfn, "Process kill counter: %d\n", proc_kill_cnt);
-
- qed_schedule_recovery_handler(p_hwfn);
-}
-
static void qed_mcp_send_protocol_stats(struct qed_hwfn *p_hwfn,
struct qed_ptt *p_ptt,
enum MFW_DRV_MSG_TYPE type)
@@ -1833,9 +1758,6 @@ int qed_mcp_handle_events(struct qed_hwfn *p_hwfn,
case MFW_DRV_MSG_TRANSCEIVER_STATE_CHANGE:
qed_mcp_handle_transceiver_change(p_hwfn, p_ptt);
break;
- case MFW_DRV_MSG_ERROR_RECOVERY:
- qed_mcp_handle_process_kill(p_hwfn, p_ptt);
- break;
case MFW_DRV_MSG_GET_LAN_STATS:
case MFW_DRV_MSG_GET_FCOE_STATS:
case MFW_DRV_MSG_GET_ISCSI_STATS:
@@ -2381,43 +2303,6 @@ int qed_mcp_get_flash_size(struct qed_hwfn *p_hwfn,
return 0;
}
-int qed_start_recovery_process(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt)
-{
- struct qed_dev *cdev = p_hwfn->cdev;
-
- if (cdev->recov_in_prog) {
- DP_NOTICE(p_hwfn,
- "Avoid triggering a recovery since such a process is already in progress\n");
- return -EAGAIN;
- }
-
- DP_NOTICE(p_hwfn, "Triggering a recovery process\n");
- qed_wr(p_hwfn, p_ptt, MISC_REG_AEU_GENERAL_ATTN_35, 0x1);
-
- return 0;
-}
-
-#define QED_RECOVERY_PROLOG_SLEEP_MS 100
-
-int qed_recovery_prolog(struct qed_dev *cdev)
-{
- struct qed_hwfn *p_hwfn = QED_LEADING_HWFN(cdev);
- struct qed_ptt *p_ptt = p_hwfn->p_main_ptt;
- int rc;
-
- /* Allow ongoing PCIe transactions to complete */
- msleep(QED_RECOVERY_PROLOG_SLEEP_MS);
-
- /* Clear the PF's internal FID_enable in the PXP */
- rc = qed_pglueb_set_pfid_enable(p_hwfn, p_ptt, false);
- if (rc)
- DP_NOTICE(p_hwfn,
- "qed_pglueb_set_pfid_enable() failed. rc = %d.\n",
- rc);
-
- return rc;
-}
-
static int
qed_mcp_config_vf_msix_bb(struct qed_hwfn *p_hwfn,
struct qed_ptt *p_ptt, u8 vf_id, u8 num)