qed*: Utilize FW 8.33.1.0
[sfrench/cifs-2.6.git] / drivers / scsi / qedi / qedi_fw.c
index bd302d3cb9af6f560780892e083338699be8b79b..092e8f9a6020a1af78b34f27a34f978ec4b289cb 100644 (file)
@@ -87,7 +87,7 @@ static void qedi_process_text_resp(struct qedi_ctx *qedi,
 {
        struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data;
        struct iscsi_session *session = conn->session;
-       struct iscsi_task_context *task_ctx;
+       struct e4_iscsi_task_context *task_ctx;
        struct iscsi_text_rsp *resp_hdr_ptr;
        struct iscsi_text_response_hdr *cqe_text_response;
        struct qedi_cmd *cmd;
@@ -260,7 +260,7 @@ static void qedi_process_login_resp(struct qedi_ctx *qedi,
 {
        struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data;
        struct iscsi_session *session = conn->session;
-       struct iscsi_task_context *task_ctx;
+       struct e4_iscsi_task_context *task_ctx;
        struct iscsi_login_rsp *resp_hdr_ptr;
        struct iscsi_login_response_hdr *cqe_login_response;
        struct qedi_cmd *cmd;
@@ -326,7 +326,7 @@ static void qedi_get_rq_bdq_buf(struct qedi_ctx *qedi,
                  (qedi->bdq_prod_idx % qedi->rq_num_entries));
 
        /* Obtain buffer address from rqe_opaque */
-       idx = cqe->rqe_opaque.lo;
+       idx = cqe->rqe_opaque;
        if (idx > (QEDI_BDQ_NUM - 1)) {
                QEDI_INFO(&qedi->dbg_ctx, QEDI_LOG_CONN,
                          "wrong idx %d returned by FW, dropping the unsolicited pkt\n",
@@ -335,8 +335,7 @@ static void qedi_get_rq_bdq_buf(struct qedi_ctx *qedi,
        }
 
        QEDI_INFO(&qedi->dbg_ctx, QEDI_LOG_CONN,
-                 "rqe_opaque.lo [0x%p], rqe_opaque.hi [0x%p], idx [%d]\n",
-                 cqe->rqe_opaque.lo, cqe->rqe_opaque.hi, idx);
+                 "rqe_opaque [0x%p], idx [%d]\n", cqe->rqe_opaque, idx);
 
        QEDI_INFO(&qedi->dbg_ctx, QEDI_LOG_CONN,
                  "unsol_cqe_type = %d\n", cqe->unsol_cqe_type);
@@ -363,7 +362,7 @@ static void qedi_put_rq_bdq_buf(struct qedi_ctx *qedi,
        struct scsi_bd *pbl;
 
        /* Obtain buffer address from rqe_opaque */
-       idx = cqe->rqe_opaque.lo;
+       idx = cqe->rqe_opaque;
        if (idx > (QEDI_BDQ_NUM - 1)) {
                QEDI_INFO(&qedi->dbg_ctx, QEDI_LOG_CONN,
                          "wrong idx %d returned by FW, dropping the unsolicited pkt\n",
@@ -378,8 +377,10 @@ static void qedi_put_rq_bdq_buf(struct qedi_ctx *qedi,
        QEDI_INFO(&qedi->dbg_ctx, QEDI_LOG_CONN,
                  "pbl [0x%p] pbl->address hi [0x%llx] lo [0x%llx] idx [%d]\n",
                  pbl, pbl->address.hi, pbl->address.lo, idx);
-       pbl->opaque.hi = 0;
-       pbl->opaque.lo = cpu_to_le32(QEDI_U64_LO(idx));
+       pbl->opaque.iscsi_opaque.reserved_zero[0] = 0;
+       pbl->opaque.iscsi_opaque.reserved_zero[1] = 0;
+       pbl->opaque.iscsi_opaque.reserved_zero[2] = 0;
+       pbl->opaque.iscsi_opaque.opaque = cpu_to_le32(idx);
 
        /* Increment producer to let f/w know we've handled the frame */
        qedi->bdq_prod_idx += count;
@@ -1017,7 +1018,7 @@ int qedi_send_iscsi_login(struct qedi_conn *qedi_conn,
        struct scsi_sgl_task_params tx_sgl_task_params;
        struct scsi_sgl_task_params rx_sgl_task_params;
        struct iscsi_task_params task_params;
-       struct iscsi_task_context *fw_task_ctx;
+       struct e4_iscsi_task_context *fw_task_ctx;
        struct qedi_ctx *qedi = qedi_conn->qedi;
        struct iscsi_login_req *login_hdr;
        struct scsi_sge *resp_sge = NULL;
@@ -1037,8 +1038,9 @@ int qedi_send_iscsi_login(struct qedi_conn *qedi_conn,
                return -ENOMEM;
 
        fw_task_ctx =
-            (struct iscsi_task_context *)qedi_get_task_mem(&qedi->tasks, tid);
-       memset(fw_task_ctx, 0, sizeof(struct iscsi_task_context));
+            (struct e4_iscsi_task_context *)qedi_get_task_mem(&qedi->tasks,
+                                                              tid);
+       memset(fw_task_ctx, 0, sizeof(struct e4_iscsi_task_context));
 
        qedi_cmd->task_id = tid;
 
@@ -1119,7 +1121,7 @@ int qedi_send_iscsi_logout(struct qedi_conn *qedi_conn,
        struct scsi_sgl_task_params tx_sgl_task_params;
        struct scsi_sgl_task_params rx_sgl_task_params;
        struct iscsi_task_params task_params;
-       struct iscsi_task_context *fw_task_ctx;
+       struct e4_iscsi_task_context *fw_task_ctx;
        struct iscsi_logout *logout_hdr = NULL;
        struct qedi_ctx *qedi = qedi_conn->qedi;
        struct qedi_cmd *qedi_cmd;
@@ -1137,8 +1139,9 @@ int qedi_send_iscsi_logout(struct qedi_conn *qedi_conn,
                return -ENOMEM;
 
        fw_task_ctx =
-            (struct iscsi_task_context *)qedi_get_task_mem(&qedi->tasks, tid);
-       memset(fw_task_ctx, 0, sizeof(struct iscsi_task_context));
+            (struct e4_iscsi_task_context *)qedi_get_task_mem(&qedi->tasks,
+                                                              tid);
+       memset(fw_task_ctx, 0, sizeof(struct e4_iscsi_task_context));
 
        qedi_cmd->task_id = tid;
 
@@ -1467,7 +1470,7 @@ static int qedi_send_iscsi_tmf(struct qedi_conn *qedi_conn,
        struct iscsi_tmf_request_hdr tmf_pdu_header;
        struct iscsi_task_params task_params;
        struct qedi_ctx *qedi = qedi_conn->qedi;
-       struct iscsi_task_context *fw_task_ctx;
+       struct e4_iscsi_task_context *fw_task_ctx;
        struct iscsi_conn *conn = qedi_conn->cls_conn->dd_data;
        struct iscsi_task *ctask;
        struct iscsi_tm *tmf_hdr;
@@ -1490,8 +1493,9 @@ static int qedi_send_iscsi_tmf(struct qedi_conn *qedi_conn,
                return -ENOMEM;
 
        fw_task_ctx =
-            (struct iscsi_task_context *)qedi_get_task_mem(&qedi->tasks, tid);
-       memset(fw_task_ctx, 0, sizeof(struct iscsi_task_context));
+            (struct e4_iscsi_task_context *)qedi_get_task_mem(&qedi->tasks,
+                                                              tid);
+       memset(fw_task_ctx, 0, sizeof(struct e4_iscsi_task_context));
 
        qedi_cmd->task_id = tid;
 
@@ -1605,7 +1609,7 @@ int qedi_send_iscsi_text(struct qedi_conn *qedi_conn,
        struct scsi_sgl_task_params tx_sgl_task_params;
        struct scsi_sgl_task_params rx_sgl_task_params;
        struct iscsi_task_params task_params;
-       struct iscsi_task_context *fw_task_ctx;
+       struct e4_iscsi_task_context *fw_task_ctx;
        struct qedi_ctx *qedi = qedi_conn->qedi;
        struct iscsi_text *text_hdr;
        struct scsi_sge *req_sge = NULL;
@@ -1627,8 +1631,9 @@ int qedi_send_iscsi_text(struct qedi_conn *qedi_conn,
                return -ENOMEM;
 
        fw_task_ctx =
-            (struct iscsi_task_context *)qedi_get_task_mem(&qedi->tasks, tid);
-       memset(fw_task_ctx, 0, sizeof(struct iscsi_task_context));
+            (struct e4_iscsi_task_context *)qedi_get_task_mem(&qedi->tasks,
+                                                              tid);
+       memset(fw_task_ctx, 0, sizeof(struct e4_iscsi_task_context));
 
        qedi_cmd->task_id = tid;
 
@@ -1705,7 +1710,7 @@ int qedi_send_iscsi_nopout(struct qedi_conn *qedi_conn,
        struct scsi_sgl_task_params rx_sgl_task_params;
        struct iscsi_task_params task_params;
        struct qedi_ctx *qedi = qedi_conn->qedi;
-       struct iscsi_task_context *fw_task_ctx;
+       struct e4_iscsi_task_context *fw_task_ctx;
        struct iscsi_nopout *nopout_hdr;
        struct scsi_sge *resp_sge = NULL;
        struct qedi_cmd *qedi_cmd;
@@ -1725,8 +1730,9 @@ int qedi_send_iscsi_nopout(struct qedi_conn *qedi_conn,
                return -ENOMEM;
 
        fw_task_ctx =
-            (struct iscsi_task_context *)qedi_get_task_mem(&qedi->tasks, tid);
-       memset(fw_task_ctx, 0, sizeof(struct iscsi_task_context));
+            (struct e4_iscsi_task_context *)qedi_get_task_mem(&qedi->tasks,
+                                                              tid);
+       memset(fw_task_ctx, 0, sizeof(struct e4_iscsi_task_context));
 
        qedi_cmd->task_id = tid;
 
@@ -2046,7 +2052,7 @@ int qedi_iscsi_send_ioreq(struct iscsi_task *task)
        struct iscsi_task_params task_params;
        struct iscsi_conn_params conn_params;
        struct scsi_initiator_cmd_params cmd_params;
-       struct iscsi_task_context *fw_task_ctx;
+       struct e4_iscsi_task_context *fw_task_ctx;
        struct iscsi_cls_conn *cls_conn;
        struct iscsi_scsi_req *hdr = (struct iscsi_scsi_req *)task->hdr;
        enum iscsi_task_type task_type = MAX_ISCSI_TASK_TYPE;
@@ -2069,8 +2075,9 @@ int qedi_iscsi_send_ioreq(struct iscsi_task *task)
                return -ENOMEM;
 
        fw_task_ctx =
-            (struct iscsi_task_context *)qedi_get_task_mem(&qedi->tasks, tid);
-       memset(fw_task_ctx, 0, sizeof(struct iscsi_task_context));
+            (struct e4_iscsi_task_context *)qedi_get_task_mem(&qedi->tasks,
+                                                              tid);
+       memset(fw_task_ctx, 0, sizeof(struct e4_iscsi_task_context));
 
        cmd->task_id = tid;