Skip to content

Commit

Permalink
qed: Add NVMeTCP Offload IO Level FW Initializations
Browse files Browse the repository at this point in the history
This patch introduces the NVMeTCP FW initializations which is used
to initialize the IO level configuration into a per IO HW
resource ("task") as part of the IO path flow.

This includes:
- Write IO FW initialization
- Read IO FW initialization.
- IC-Req and IC-Resp FW exchange.
- FW Cleanup flow (Flush IO).

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: Shai Malin <smalin@marvell.com>
Signed-off-by: Michal Kalderon <mkalderon@marvell.com>
Signed-off-by: Ariel Elior <aelior@marvell.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Shai Malin authored and David S. Miller committed Jun 3, 2021
1 parent ab47bdf commit 826da48
Show file tree
Hide file tree
Showing 6 changed files with 447 additions and 2 deletions.
5 changes: 4 additions & 1 deletion drivers/net/ethernet/qlogic/qed/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,10 @@ qed-$(CONFIG_QED_ISCSI) += qed_iscsi.o
qed-$(CONFIG_QED_LL2) += qed_ll2.o
qed-$(CONFIG_QED_OOO) += qed_ooo.o

qed-$(CONFIG_QED_NVMETCP) += qed_nvmetcp.o
qed-$(CONFIG_QED_NVMETCP) += \
qed_nvmetcp.o \
qed_nvmetcp_fw_funcs.o \
qed_nvmetcp_ip_services.o

qed-$(CONFIG_QED_RDMA) += \
qed_iwarp.o \
Expand Down
7 changes: 6 additions & 1 deletion drivers/net/ethernet/qlogic/qed/qed_nvmetcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#include "qed_mcp.h"
#include "qed_sp.h"
#include "qed_reg_addr.h"
#include "qed_nvmetcp_fw_funcs.h"

static int qed_nvmetcp_async_event(struct qed_hwfn *p_hwfn, u8 fw_event_code,
u16 echo, union event_ring_data *data,
Expand Down Expand Up @@ -809,7 +810,11 @@ static const struct qed_nvmetcp_ops qed_nvmetcp_ops_pass = {
.remove_src_tcp_port_filter = &qed_llh_remove_src_tcp_port_filter,
.add_dst_tcp_port_filter = &qed_llh_add_dst_tcp_port_filter,
.remove_dst_tcp_port_filter = &qed_llh_remove_dst_tcp_port_filter,
.clear_all_filters = &qed_llh_clear_all_filters
.clear_all_filters = &qed_llh_clear_all_filters,
.init_read_io = &init_nvmetcp_host_read_task,
.init_write_io = &init_nvmetcp_host_write_task,
.init_icreq_exchange = &init_nvmetcp_init_conn_req_task,
.init_task_cleanup = &init_cleanup_task_nvmetcp
};

const struct qed_nvmetcp_ops *qed_get_nvmetcp_ops(void)
Expand Down
Loading

0 comments on commit 826da48

Please sign in to comment.