On 6/12/2024 5:52 AM, Soumyadeep Hore wrote:
Removes NVME dependency on memory allocations and
uses a prepared buffer instead.

The changes do not affect other components.

Signed-off-by: Soumyadeep Hore <soumyadeep.h...@intel.com>
---

<snip>

        return status;
  }
@@ -232,8 +244,13 @@ void idpf_ctlq_remove(struct idpf_hw *hw,
   * destroyed. This must be called prior to using the individual add/remove
   * APIs.
   */
+#ifdef NVME_CPF
+int idpf_ctlq_init(struct idpf_hw *hw, u8 num_q,
+                       struct idpf_ctlq_create_info *q_info, struct 
idpf_ctlq_info **ctlq)
+#else
  int idpf_ctlq_init(struct idpf_hw *hw, u8 num_q,
                   struct idpf_ctlq_create_info *q_info)
+#endif

Nitpicking, but the added function's indentation seems different from the rest of the functions in this file file. Is this how it is in base code?

  {
        struct idpf_ctlq_info *cq = NULL, *tmp = NULL;
        int ret_code = 0;
@@ -244,6 +261,10 @@ int idpf_ctlq_init(struct idpf_hw *hw, u8 num_q,
        for (i = 0; i < num_q; i++) {
                struct idpf_ctlq_create_info *qinfo = q_info + i;
+#ifdef NVME_CPF
+               cq = *(ctlq + i);
+#endif
+
                ret_code = idpf_ctlq_add(hw, qinfo, &cq);
                if (ret_code)
                        goto init_destroy_qs;
diff --git a/drivers/common/idpf/base/idpf_controlq_api.h 
b/drivers/common/idpf/base/idpf_controlq_api.h
index 38f5d2df3c..6b6f3e84c2 100644
--- a/drivers/common/idpf/base/idpf_controlq_api.h
+++ b/drivers/common/idpf/base/idpf_controlq_api.h
@@ -1,5 +1,5 @@
  /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2001-2023 Intel Corporation
+ * Copyright(c) 2001-2024 Intel Corporation
   */
#ifndef _IDPF_CONTROLQ_API_H_
@@ -158,8 +158,13 @@ enum idpf_mbx_opc {
  /* Will init all required q including default mb.  "q_info" is an array of
   * create_info structs equal to the number of control queues to be created.
   */
+#ifdef NVME_CPF
+int idpf_ctlq_init(struct idpf_hw *hw, u8 num_q,
+                       struct idpf_ctlq_create_info *q_info, struct 
idpf_ctlq_info **ctlq);
+#else

Same question as above.

Also, a more general question on #ifdef - is it expected to be enabled somehow?

  int idpf_ctlq_init(struct idpf_hw *hw, u8 num_q,
                   struct idpf_ctlq_create_info *q_info);
+#endif
/* Allocate and initialize a single control queue, which will be added to the
   * control queue list; returns a handle to the created control queue

--
Thanks,
Anatoly

Reply via email to