eal: remove sys/queue.h from public headers
[dpdk.git] / drivers / net / bnxt / tf_core / tfp.c
index 3bce3ad..a4b0934 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: BSD-3-Clause
  * see the individual elements.
- * Copyright(c) 2019-2020 Broadcom
+ * Copyright(c) 2019-2021 Broadcom
  * All rights reserved.
  */
 
@@ -28,7 +28,7 @@
  * Returns success or failure code.
  */
 int
-tfp_send_msg_direct(struct tf *tfp,
+tfp_send_msg_direct(struct bnxt *bp,
                    struct tfp_send_msg_parms *parms)
 {
        int      rc = 0;
@@ -40,9 +40,7 @@ tfp_send_msg_direct(struct tf *tfp,
        if (parms->mailbox == TF_CHIMP_MB)
                use_kong_mb = 0;
 
-       rc = bnxt_hwrm_tf_message_direct(container_of(tfp,
-                                              struct bnxt,
-                                              tfp),
+       rc = bnxt_hwrm_tf_message_direct(bp,
                                         use_kong_mb,
                                         parms->tf_type,
                                         parms->req_data,
@@ -53,40 +51,6 @@ tfp_send_msg_direct(struct tf *tfp,
        return rc;
 }
 
-/**
- * Sends preformatted TruFlow msg to the TruFlow Firmware using
- * the Truflow tunnel HWRM message type.
- *
- * Returns success or failure code.
- */
-int
-tfp_send_msg_tunneled(struct tf *tfp,
-                     struct tfp_send_msg_parms *parms)
-{
-       int      rc = 0;
-       uint8_t  use_kong_mb = 1;
-
-       if (parms == NULL)
-               return -EINVAL;
-
-       if (parms->mailbox == TF_CHIMP_MB)
-               use_kong_mb = 0;
-
-       rc = bnxt_hwrm_tf_message_tunneled(container_of(tfp,
-                                                 struct bnxt,
-                                                 tfp),
-                                          use_kong_mb,
-                                          parms->tf_type,
-                                          parms->tf_subtype,
-                                          &parms->tf_resp_code,
-                                          parms->req_data,
-                                          parms->req_size,
-                                          parms->resp_data,
-                                          parms->resp_size);
-
-       return rc;
-}
-
 /**
  * Allocates zero'ed memory from the heap.
  *
@@ -102,13 +66,13 @@ tfp_calloc(struct tfp_calloc_parms *parms)
                                    (parms->nitems * parms->size),
                                    parms->alignment);
        if (parms->mem_va == NULL) {
-               PMD_DRV_LOG(ERR, "Allocate failed mem_va\n");
+               TFP_DRV_LOG(ERR, "Allocate failed mem_va\n");
                return -ENOMEM;
        }
 
        parms->mem_pa = (void *)((uintptr_t)rte_mem_virt2iova(parms->mem_va));
        if (parms->mem_pa == (void *)((uintptr_t)RTE_BAD_IOVA)) {
-               PMD_DRV_LOG(ERR, "Allocate failed mem_pa\n");
+               TFP_DRV_LOG(ERR, "Allocate failed mem_pa\n");
                return -ENOMEM;
        }
 
@@ -161,3 +125,39 @@ tfp_spinlock_unlock(struct tfp_spinlock_parms *parms)
 {
        rte_spinlock_unlock(&parms->slock);
 }
+
+int
+tfp_get_fid(struct tf *tfp, uint16_t *fw_fid)
+{
+       struct bnxt *bp = NULL;
+
+       if (tfp == NULL || fw_fid == NULL)
+               return -EINVAL;
+
+       bp = (struct bnxt *)tfp->bp;
+       if (bp == NULL)
+               return -EINVAL;
+
+       *fw_fid = bp->fw_fid;
+
+       return 0;
+}
+
+int
+tfp_get_pf(struct tf *tfp, uint16_t *pf)
+{
+       struct bnxt *bp = NULL;
+
+       if (tfp == NULL || pf == NULL)
+               return -EINVAL;
+
+       bp = (struct bnxt *)tfp->bp;
+       if (BNXT_VF(bp) && bp->parent) {
+               *pf = bp->parent->fid - 1;
+               return 0;
+       } else if (BNXT_PF(bp)) {
+               *pf = bp->fw_fid - 1;
+               return 0;
+       }
+       return -EINVAL;
+}