OSDN Git Service

qed: Add TCP_ULP FW resource layout
authorOmkar Kulkarni <okulkarni@marvell.com>
Wed, 2 Jun 2021 17:16:49 +0000 (20:16 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 3 Jun 2021 21:04:17 +0000 (14:04 -0700)
Add TCP_ULP as a storage common TCP offload FW resource layout.
This will be used by the core driver (QED) for both the NVMeTCP and iSCSI.

Acked-by: Igor Russkikh <irusskikh@marvell.com>
Signed-off-by: Prabhakar Kushwaha <pkushwaha@marvell.com>
Signed-off-by: Omkar Kulkarni <okulkarni@marvell.com>
Signed-off-by: Michal Kalderon <mkalderon@marvell.com>
Signed-off-by: Ariel Elior <aelior@marvell.com>
Signed-off-by: Shai Malin <smalin@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qed/qed_cxt.c
drivers/net/ethernet/qlogic/qed/qed_cxt.h
drivers/net/ethernet/qlogic/qed/qed_dev.c
drivers/net/ethernet/qlogic/qed/qed_hsi.h
drivers/net/ethernet/qlogic/qed/qed_iscsi.c
drivers/net/ethernet/qlogic/qed/qed_ll2.c
drivers/net/ethernet/qlogic/qed/qed_ooo.c
drivers/net/ethernet/qlogic/qed/qed_sp_commands.c
include/linux/qed/common_hsi.h
include/linux/qed/qed_ll2_if.h

index 0a22f8c..fcabbaa 100644 (file)
@@ -94,14 +94,14 @@ struct src_ent {
 
 static bool src_proto(enum protocol_type type)
 {
-       return type == PROTOCOLID_ISCSI ||
+       return type == PROTOCOLID_TCP_ULP ||
               type == PROTOCOLID_FCOE ||
               type == PROTOCOLID_IWARP;
 }
 
 static bool tm_cid_proto(enum protocol_type type)
 {
-       return type == PROTOCOLID_ISCSI ||
+       return type == PROTOCOLID_TCP_ULP ||
               type == PROTOCOLID_FCOE ||
               type == PROTOCOLID_ROCE ||
               type == PROTOCOLID_IWARP;
@@ -2090,13 +2090,13 @@ int qed_cxt_set_pf_params(struct qed_hwfn *p_hwfn, u32 rdma_tasks)
 
                if (p_params->num_cons && p_params->num_tasks) {
                        qed_cxt_set_proto_cid_count(p_hwfn,
-                                                   PROTOCOLID_ISCSI,
+                                                   PROTOCOLID_TCP_ULP,
                                                    p_params->num_cons,
                                                    0);
 
                        qed_cxt_set_proto_tid_count(p_hwfn,
-                                                   PROTOCOLID_ISCSI,
-                                                   QED_CXT_ISCSI_TID_SEG,
+                                                   PROTOCOLID_TCP_ULP,
+                                                   QED_CXT_TCP_ULP_TID_SEG,
                                                    0,
                                                    p_params->num_tasks,
                                                    true);
@@ -2129,8 +2129,8 @@ int qed_cxt_get_tid_mem_info(struct qed_hwfn *p_hwfn,
                seg = QED_CXT_FCOE_TID_SEG;
                break;
        case QED_PCI_ISCSI:
-               proto = PROTOCOLID_ISCSI;
-               seg = QED_CXT_ISCSI_TID_SEG;
+               proto = PROTOCOLID_TCP_ULP;
+               seg = QED_CXT_TCP_ULP_TID_SEG;
                break;
        default:
                return -EINVAL;
@@ -2455,8 +2455,8 @@ int qed_cxt_get_task_ctx(struct qed_hwfn *p_hwfn,
                seg = QED_CXT_FCOE_TID_SEG;
                break;
        case QED_PCI_ISCSI:
-               proto = PROTOCOLID_ISCSI;
-               seg = QED_CXT_ISCSI_TID_SEG;
+               proto = PROTOCOLID_TCP_ULP;
+               seg = QED_CXT_TCP_ULP_TID_SEG;
                break;
        default:
                return -EINVAL;
index 056e796..8adb7ed 100644 (file)
@@ -50,7 +50,7 @@ int qed_cxt_get_cid_info(struct qed_hwfn *p_hwfn,
 int qed_cxt_get_tid_mem_info(struct qed_hwfn *p_hwfn,
                             struct qed_tid_mem *p_info);
 
-#define QED_CXT_ISCSI_TID_SEG  PROTOCOLID_ISCSI
+#define QED_CXT_TCP_ULP_TID_SEG        PROTOCOLID_TCP_ULP
 #define QED_CXT_ROCE_TID_SEG   PROTOCOLID_ROCE
 #define QED_CXT_FCOE_TID_SEG   PROTOCOLID_FCOE
 enum qed_cxt_elem_type {
index d2f5855..c231d0e 100644 (file)
@@ -2266,7 +2266,7 @@ int qed_resc_alloc(struct qed_dev *cdev)
                } else if (p_hwfn->hw_info.personality == QED_PCI_ISCSI) {
                        num_cons =
                            qed_cxt_get_proto_cid_count(p_hwfn,
-                                                       PROTOCOLID_ISCSI,
+                                                       PROTOCOLID_TCP_ULP,
                                                        NULL);
                        n_eqes += 2 * num_cons;
                }
index 559df9f..9dbeb2e 100644 (file)
@@ -1118,7 +1118,7 @@ struct outer_tag_config_struct {
 /* personality per PF */
 enum personality_type {
        BAD_PERSONALITY_TYP,
-       PERSONALITY_ISCSI,
+       PERSONALITY_TCP_ULP,
        PERSONALITY_FCOE,
        PERSONALITY_RDMA_AND_ETH,
        PERSONALITY_RDMA,
index 448567a..db926d8 100644 (file)
@@ -158,7 +158,7 @@ qed_sp_iscsi_func_start(struct qed_hwfn *p_hwfn,
 
        rc = qed_sp_init_request(p_hwfn, &p_ent,
                                 ISCSI_RAMROD_CMD_ID_INIT_FUNC,
-                                PROTOCOLID_ISCSI, &init_data);
+                                PROTOCOLID_TCP_ULP, &init_data);
        if (rc)
                return rc;
 
@@ -250,7 +250,7 @@ qed_sp_iscsi_func_start(struct qed_hwfn *p_hwfn,
        p_hwfn->p_iscsi_info->event_context = event_context;
        p_hwfn->p_iscsi_info->event_cb = async_event_cb;
 
-       qed_spq_register_async_cb(p_hwfn, PROTOCOLID_ISCSI,
+       qed_spq_register_async_cb(p_hwfn, PROTOCOLID_TCP_ULP,
                                  qed_iscsi_async_event);
 
        return qed_spq_post(p_hwfn, p_ent, NULL);
@@ -286,7 +286,7 @@ static int qed_sp_iscsi_conn_offload(struct qed_hwfn *p_hwfn,
 
        rc = qed_sp_init_request(p_hwfn, &p_ent,
                                 ISCSI_RAMROD_CMD_ID_OFFLOAD_CONN,
-                                PROTOCOLID_ISCSI, &init_data);
+                                PROTOCOLID_TCP_ULP, &init_data);
        if (rc)
                return rc;
 
@@ -465,7 +465,7 @@ static int qed_sp_iscsi_conn_update(struct qed_hwfn *p_hwfn,
 
        rc = qed_sp_init_request(p_hwfn, &p_ent,
                                 ISCSI_RAMROD_CMD_ID_UPDATE_CONN,
-                                PROTOCOLID_ISCSI, &init_data);
+                                PROTOCOLID_TCP_ULP, &init_data);
        if (rc)
                return rc;
 
@@ -506,7 +506,7 @@ qed_sp_iscsi_mac_update(struct qed_hwfn *p_hwfn,
 
        rc = qed_sp_init_request(p_hwfn, &p_ent,
                                 ISCSI_RAMROD_CMD_ID_MAC_UPDATE,
-                                PROTOCOLID_ISCSI, &init_data);
+                                PROTOCOLID_TCP_ULP, &init_data);
        if (rc)
                return rc;
 
@@ -548,7 +548,7 @@ static int qed_sp_iscsi_conn_terminate(struct qed_hwfn *p_hwfn,
 
        rc = qed_sp_init_request(p_hwfn, &p_ent,
                                 ISCSI_RAMROD_CMD_ID_TERMINATION_CONN,
-                                PROTOCOLID_ISCSI, &init_data);
+                                PROTOCOLID_TCP_ULP, &init_data);
        if (rc)
                return rc;
 
@@ -582,7 +582,7 @@ static int qed_sp_iscsi_conn_clear_sq(struct qed_hwfn *p_hwfn,
 
        rc = qed_sp_init_request(p_hwfn, &p_ent,
                                 ISCSI_RAMROD_CMD_ID_CLEAR_SQ,
-                                PROTOCOLID_ISCSI, &init_data);
+                                PROTOCOLID_TCP_ULP, &init_data);
        if (rc)
                return rc;
 
@@ -606,13 +606,13 @@ static int qed_sp_iscsi_func_stop(struct qed_hwfn *p_hwfn,
 
        rc = qed_sp_init_request(p_hwfn, &p_ent,
                                 ISCSI_RAMROD_CMD_ID_DESTROY_FUNC,
-                                PROTOCOLID_ISCSI, &init_data);
+                                PROTOCOLID_TCP_ULP, &init_data);
        if (rc)
                return rc;
 
        rc = qed_spq_post(p_hwfn, p_ent, NULL);
 
-       qed_spq_unregister_async_cb(p_hwfn, PROTOCOLID_ISCSI);
+       qed_spq_unregister_async_cb(p_hwfn, PROTOCOLID_TCP_ULP);
        return rc;
 }
 
@@ -786,7 +786,7 @@ static int qed_iscsi_acquire_connection(struct qed_hwfn *p_hwfn,
        u32 icid;
 
        spin_lock_bh(&p_hwfn->p_iscsi_info->lock);
-       rc = qed_cxt_acquire_cid(p_hwfn, PROTOCOLID_ISCSI, &icid);
+       rc = qed_cxt_acquire_cid(p_hwfn, PROTOCOLID_TCP_ULP, &icid);
        spin_unlock_bh(&p_hwfn->p_iscsi_info->lock);
        if (rc)
                return rc;
index 49783f3..286e539 100644 (file)
@@ -1037,8 +1037,8 @@ static int qed_sp_ll2_tx_queue_start(struct qed_hwfn *p_hwfn,
        case QED_LL2_TYPE_FCOE:
                p_ramrod->conn_type = PROTOCOLID_FCOE;
                break;
-       case QED_LL2_TYPE_ISCSI:
-               p_ramrod->conn_type = PROTOCOLID_ISCSI;
+       case QED_LL2_TYPE_TCP_ULP:
+               p_ramrod->conn_type = PROTOCOLID_TCP_ULP;
                break;
        case QED_LL2_TYPE_ROCE:
                p_ramrod->conn_type = PROTOCOLID_ROCE;
@@ -1048,7 +1048,7 @@ static int qed_sp_ll2_tx_queue_start(struct qed_hwfn *p_hwfn,
                break;
        case QED_LL2_TYPE_OOO:
                if (p_hwfn->hw_info.personality == QED_PCI_ISCSI)
-                       p_ramrod->conn_type = PROTOCOLID_ISCSI;
+                       p_ramrod->conn_type = PROTOCOLID_TCP_ULP;
                else
                        p_ramrod->conn_type = PROTOCOLID_IWARP;
                break;
@@ -2442,7 +2442,7 @@ static int __qed_ll2_start(struct qed_hwfn *p_hwfn,
                conn_type = QED_LL2_TYPE_FCOE;
                break;
        case QED_PCI_ISCSI:
-               conn_type = QED_LL2_TYPE_ISCSI;
+               conn_type = QED_LL2_TYPE_TCP_ULP;
                break;
        case QED_PCI_ETH_ROCE:
                conn_type = QED_LL2_TYPE_ROCE;
index 88353aa..599da0d 100644 (file)
@@ -83,7 +83,7 @@ int qed_ooo_alloc(struct qed_hwfn *p_hwfn)
 
        switch (p_hwfn->hw_info.personality) {
        case QED_PCI_ISCSI:
-               proto = PROTOCOLID_ISCSI;
+               proto = PROTOCOLID_TCP_ULP;
                break;
        case QED_PCI_ETH_RDMA:
        case QED_PCI_ETH_IWARP:
index aa71adc..ee7dc0a 100644 (file)
@@ -385,7 +385,7 @@ int qed_sp_pf_start(struct qed_hwfn *p_hwfn,
                p_ramrod->personality = PERSONALITY_FCOE;
                break;
        case QED_PCI_ISCSI:
-               p_ramrod->personality = PERSONALITY_ISCSI;
+               p_ramrod->personality = PERSONALITY_TCP_ULP;
                break;
        case QED_PCI_ETH_ROCE:
        case QED_PCI_ETH_IWARP:
index 977807e..0a3807e 100644 (file)
@@ -702,7 +702,7 @@ enum mf_mode {
 
 /* Per-protocol connection types */
 enum protocol_type {
-       PROTOCOLID_ISCSI,
+       PROTOCOLID_TCP_ULP,
        PROTOCOLID_FCOE,
        PROTOCOLID_ROCE,
        PROTOCOLID_CORE,
index ea273ba..ff808d2 100644 (file)
@@ -18,7 +18,7 @@
 
 enum qed_ll2_conn_type {
        QED_LL2_TYPE_FCOE,
-       QED_LL2_TYPE_ISCSI,
+       QED_LL2_TYPE_TCP_ULP,
        QED_LL2_TYPE_TEST,
        QED_LL2_TYPE_OOO,
        QED_LL2_TYPE_RESERVED2,