linux/drivers/net/ethernet/qlogic/qed/qed_iscsi.c

// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
/* QLogic qed NIC Driver
 * Copyright (c) 2015-2017  QLogic Corporation
 * Copyright (c) 2019-2020 Marvell International Ltd.
 */

#include <linux/types.h>
#include <asm/byteorder.h>
#include <asm/param.h>
#include <linux/delay.h>
#include <linux/dma-mapping.h>
#include <linux/etherdevice.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/log2.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/stddef.h>
#include <linux/string.h>
#include <linux/workqueue.h>
#include <linux/errno.h>
#include <linux/list.h>
#include <linux/spinlock.h>
#include <linux/qed/qed_iscsi_if.h>
#include "qed.h"
#include "qed_cxt.h"
#include "qed_dev_api.h"
#include "qed_hsi.h"
#include "qed_hw.h"
#include "qed_int.h"
#include "qed_iro_hsi.h"
#include "qed_iscsi.h"
#include "qed_ll2.h"
#include "qed_mcp.h"
#include "qed_sp.h"
#include "qed_sriov.h"
#include "qed_reg_addr.h"

struct qed_iscsi_conn {};

static int qed_iscsi_async_event(struct qed_hwfn *p_hwfn, u8 fw_event_code,
				 __le16 echo, union event_ring_data *data,
				 u8 fw_return_code)
{}

static int
qed_sp_iscsi_func_start(struct qed_hwfn *p_hwfn,
			enum spq_mode comp_mode,
			struct qed_spq_comp_cb *p_comp_addr,
			void *event_context, iscsi_event_cb_t async_event_cb)
{}

static int qed_sp_iscsi_conn_offload(struct qed_hwfn *p_hwfn,
				     struct qed_iscsi_conn *p_conn,
				     enum spq_mode comp_mode,
				     struct qed_spq_comp_cb *p_comp_addr)
{}

static int qed_sp_iscsi_conn_update(struct qed_hwfn *p_hwfn,
				    struct qed_iscsi_conn *p_conn,
				    enum spq_mode comp_mode,
				    struct qed_spq_comp_cb *p_comp_addr)
{}

static int
qed_sp_iscsi_mac_update(struct qed_hwfn *p_hwfn,
			struct qed_iscsi_conn *p_conn,
			enum spq_mode comp_mode,
			struct qed_spq_comp_cb *p_comp_addr)
{}

static int qed_sp_iscsi_conn_terminate(struct qed_hwfn *p_hwfn,
				       struct qed_iscsi_conn *p_conn,
				       enum spq_mode comp_mode,
				       struct qed_spq_comp_cb *p_comp_addr)
{}

static int qed_sp_iscsi_conn_clear_sq(struct qed_hwfn *p_hwfn,
				      struct qed_iscsi_conn *p_conn,
				      enum spq_mode comp_mode,
				      struct qed_spq_comp_cb *p_comp_addr)
{}

static int qed_sp_iscsi_func_stop(struct qed_hwfn *p_hwfn,
				  enum spq_mode comp_mode,
				  struct qed_spq_comp_cb *p_comp_addr)
{}

static void __iomem *qed_iscsi_get_db_addr(struct qed_hwfn *p_hwfn, u32 cid)
{}

static void __iomem *qed_iscsi_get_primary_bdq_prod(struct qed_hwfn *p_hwfn,
						    u8 bdq_id)
{}

static void __iomem *qed_iscsi_get_secondary_bdq_prod(struct qed_hwfn *p_hwfn,
						      u8 bdq_id)
{}

static int qed_iscsi_setup_connection(struct qed_iscsi_conn *p_conn)
{}

static int qed_iscsi_allocate_connection(struct qed_hwfn *p_hwfn,
					 struct qed_iscsi_conn **p_out_conn)
{}

static int qed_iscsi_acquire_connection(struct qed_hwfn *p_hwfn,
					struct qed_iscsi_conn *p_in_conn,
					struct qed_iscsi_conn **p_out_conn)
{}

static void qed_iscsi_release_connection(struct qed_hwfn *p_hwfn,
					 struct qed_iscsi_conn *p_conn)
{}

static void qed_iscsi_free_connection(struct qed_hwfn *p_hwfn,
				      struct qed_iscsi_conn *p_conn)
{}

int qed_iscsi_alloc(struct qed_hwfn *p_hwfn)
{}

void qed_iscsi_setup(struct qed_hwfn *p_hwfn)
{}

void qed_iscsi_free(struct qed_hwfn *p_hwfn)
{}

static void _qed_iscsi_get_tstats(struct qed_hwfn *p_hwfn,
				  struct qed_ptt *p_ptt,
				  struct qed_iscsi_stats *p_stats)
{}

static void _qed_iscsi_get_mstats(struct qed_hwfn *p_hwfn,
				  struct qed_ptt *p_ptt,
				  struct qed_iscsi_stats *p_stats)
{}

static void _qed_iscsi_get_ustats(struct qed_hwfn *p_hwfn,
				  struct qed_ptt *p_ptt,
				  struct qed_iscsi_stats *p_stats)
{}

static void _qed_iscsi_get_xstats(struct qed_hwfn *p_hwfn,
				  struct qed_ptt *p_ptt,
				  struct qed_iscsi_stats *p_stats)
{}

static void _qed_iscsi_get_ystats(struct qed_hwfn *p_hwfn,
				  struct qed_ptt *p_ptt,
				  struct qed_iscsi_stats *p_stats)
{}

static void _qed_iscsi_get_pstats(struct qed_hwfn *p_hwfn,
				  struct qed_ptt *p_ptt,
				  struct qed_iscsi_stats *p_stats)
{}

static int qed_iscsi_get_stats(struct qed_hwfn *p_hwfn,
			       struct qed_iscsi_stats *stats,
			       bool is_atomic)
{}

struct qed_hash_iscsi_con {};

static int qed_fill_iscsi_dev_info(struct qed_dev *cdev,
				   struct qed_dev_iscsi_info *info)
{}

static void qed_register_iscsi_ops(struct qed_dev *cdev,
				   struct qed_iscsi_cb_ops *ops, void *cookie)
{}

static struct qed_hash_iscsi_con *qed_iscsi_get_hash(struct qed_dev *cdev,
						     u32 handle)
{}

static int qed_iscsi_stop(struct qed_dev *cdev)
{}

static int qed_iscsi_start(struct qed_dev *cdev,
			   struct qed_iscsi_tid *tasks,
			   void *event_context,
			   iscsi_event_cb_t async_event_cb)
{}

static int qed_iscsi_acquire_conn(struct qed_dev *cdev,
				  u32 *handle,
				  u32 *fw_cid, void __iomem **p_doorbell)
{}

static int qed_iscsi_release_conn(struct qed_dev *cdev, u32 handle)
{}

static int qed_iscsi_offload_conn(struct qed_dev *cdev,
				  u32 handle,
				  struct qed_iscsi_params_offload *conn_info)
{}

static int qed_iscsi_update_conn(struct qed_dev *cdev,
				 u32 handle,
				 struct qed_iscsi_params_update *conn_info)
{}

static int qed_iscsi_clear_conn_sq(struct qed_dev *cdev, u32 handle)
{}

static int qed_iscsi_destroy_conn(struct qed_dev *cdev,
				  u32 handle, u8 abrt_conn)
{}

static int qed_iscsi_stats_context(struct qed_dev *cdev,
				   struct qed_iscsi_stats *stats,
				   bool is_atomic)
{}

static int qed_iscsi_stats(struct qed_dev *cdev, struct qed_iscsi_stats *stats)
{}

static int qed_iscsi_change_mac(struct qed_dev *cdev,
				u32 handle, const u8 *mac)
{}

void qed_get_protocol_stats_iscsi(struct qed_dev *cdev,
				  struct qed_mcp_iscsi_stats *stats,
				  bool is_atomic)
{}

static const struct qed_iscsi_ops qed_iscsi_ops_pass =;

const struct qed_iscsi_ops *qed_get_iscsi_ops(void)
{}
EXPORT_SYMBOL();

void qed_put_iscsi_ops(void)
{}
EXPORT_SYMBOL();