linux/drivers/scsi/snic/snic_io.c

// SPDX-License-Identifier: GPL-2.0-only
// Copyright 2014 Cisco Systems, Inc.  All rights reserved.

#include <linux/errno.h>
#include <linux/pci.h>
#include <linux/slab.h>

#include <linux/interrupt.h>
#include <linux/workqueue.h>
#include <linux/spinlock.h>
#include <linux/mempool.h>
#include <scsi/scsi_tcq.h>

#include "snic_io.h"
#include "snic.h"
#include "cq_enet_desc.h"
#include "snic_fwint.h"

static void
snic_wq_cmpl_frame_send(struct vnic_wq *wq,
			    struct cq_desc *cq_desc,
			    struct vnic_wq_buf *buf,
			    void *opaque)
{}

static int
snic_wq_cmpl_handler_cont(struct vnic_dev *vdev,
			  struct cq_desc *cq_desc,
			  u8 type,
			  u16 q_num,
			  u16 cmpl_idx,
			  void *opaque)
{} /* end of snic_cmpl_handler_cont */

int
snic_wq_cmpl_handler(struct snic *snic, int work_to_do)
{} /* end of snic_wq_cmpl_handler */

void
snic_free_wq_buf(struct vnic_wq *wq, struct vnic_wq_buf *buf)
{}

/* Criteria to select work queue in multi queue mode */
static int
snic_select_wq(struct snic *snic)
{}

static int
snic_wqdesc_avail(struct snic *snic, int q_num, int req_type)
{}

int
snic_queue_wq_desc(struct snic *snic, void *os_buf, u16 len)
{} /* end of snic_queue_wq_desc() */

/*
 * snic_handle_untagged_req: Adds snic specific requests to spl_cmd_list.
 * Purpose : Used during driver unload to clean up the requests.
 */
void
snic_handle_untagged_req(struct snic *snic, struct snic_req_info *rqi)
{}

/*
 * snic_req_init:
 * Allocates snic_req_info + snic_host_req + sgl data, and initializes.
 */
struct snic_req_info *
snic_req_init(struct snic *snic, int sg_cnt)
{} /* end of snic_req_init */

/*
 * snic_abort_req_init : Inits abort request.
 */
struct snic_host_req *
snic_abort_req_init(struct snic *snic, struct snic_req_info *rqi)
{} /* end of snic_abort_req_init */

/*
 * snic_dr_req_init : Inits device reset req
 */
struct snic_host_req *
snic_dr_req_init(struct snic *snic, struct snic_req_info *rqi)
{} /* end of snic_dr_req_init */

/* frees snic_req_info and snic_host_req */
void
snic_req_free(struct snic *snic, struct snic_req_info *rqi)
{}

void
snic_pci_unmap_rsp_buf(struct snic *snic, struct snic_req_info *rqi)
{}

/*
 * snic_free_all_untagged_reqs: Walks through untagged reqs and frees them.
 */
void
snic_free_all_untagged_reqs(struct snic *snic)
{}

/*
 * snic_release_untagged_req : Unlinks the untagged req and frees it.
 */
void
snic_release_untagged_req(struct snic *snic, struct snic_req_info *rqi)
{}

/* dump buf in hex fmt */
void
snic_hex_dump(char *pfx, char *data, int len)
{}

#define LINE_BUFSZ
static void
snic_dump_desc(const char *fn, char *os_buf, int len)
{} /* end of __snic_print_desc */

void
snic_print_desc(const char *fn, char *os_buf, int len)
{}

void
snic_calc_io_process_time(struct snic *snic, struct snic_req_info *rqi)
{}