linux/drivers/net/ethernet/pensando/ionic/ionic_dev.c

// SPDX-License-Identifier: GPL-2.0
/* Copyright(c) 2017 - 2019 Pensando Systems, Inc */

#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <linux/etherdevice.h>
#include "ionic.h"
#include "ionic_dev.h"
#include "ionic_lif.h"

static void ionic_watchdog_cb(struct timer_list *t)
{}

static void ionic_napi_schedule_do_softirq(struct napi_struct *napi)
{}

void ionic_doorbell_napi_work(struct work_struct *work)
{}

static int ionic_get_preferred_cpu(struct ionic *ionic,
				   struct ionic_intr_info *intr)
{}

static void ionic_queue_dbell_napi_work(struct ionic *ionic,
					struct ionic_qcq *qcq)
{}

static void ionic_doorbell_check_dwork(struct work_struct *work)
{}

bool ionic_doorbell_wa(struct ionic *ionic)
{}

static int ionic_watchdog_init(struct ionic *ionic)
{}

void ionic_queue_doorbell_check(struct ionic *ionic, int delay)
{}

void ionic_init_devinfo(struct ionic *ionic)
{}

int ionic_dev_setup(struct ionic *ionic)
{}

void ionic_dev_teardown(struct ionic *ionic)
{}

/* Devcmd Interface */
static bool __ionic_is_fw_running(struct ionic_dev *idev, u8 *status_ptr)
{}

bool ionic_is_fw_running(struct ionic_dev *idev)
{}

int ionic_heartbeat_check(struct ionic *ionic)
{}

u8 ionic_dev_cmd_status(struct ionic_dev *idev)
{}

bool ionic_dev_cmd_done(struct ionic_dev *idev)
{}

void ionic_dev_cmd_comp(struct ionic_dev *idev, union ionic_dev_cmd_comp *comp)
{}

void ionic_dev_cmd_go(struct ionic_dev *idev, union ionic_dev_cmd *cmd)
{}

/* Device commands */
void ionic_dev_cmd_identify(struct ionic_dev *idev, u8 ver)
{}

void ionic_dev_cmd_init(struct ionic_dev *idev)
{}

void ionic_dev_cmd_reset(struct ionic_dev *idev)
{}

/* Port commands */
void ionic_dev_cmd_port_identify(struct ionic_dev *idev)
{}

void ionic_dev_cmd_port_init(struct ionic_dev *idev)
{}

void ionic_dev_cmd_port_reset(struct ionic_dev *idev)
{}

void ionic_dev_cmd_port_state(struct ionic_dev *idev, u8 state)
{}

void ionic_dev_cmd_port_speed(struct ionic_dev *idev, u32 speed)
{}

void ionic_dev_cmd_port_autoneg(struct ionic_dev *idev, u8 an_enable)
{}

void ionic_dev_cmd_port_fec(struct ionic_dev *idev, u8 fec_type)
{}

void ionic_dev_cmd_port_pause(struct ionic_dev *idev, u8 pause_type)
{}

/* VF commands */
int ionic_set_vf_config(struct ionic *ionic, int vf,
			struct ionic_vf_setattr_cmd *vfc)
{}

void ionic_vf_start(struct ionic *ionic)
{}

/* LIF commands */
void ionic_dev_cmd_queue_identify(struct ionic_dev *idev,
				  u16 lif_type, u8 qtype, u8 qver)
{}

void ionic_dev_cmd_lif_identify(struct ionic_dev *idev, u8 type, u8 ver)
{}

void ionic_dev_cmd_lif_init(struct ionic_dev *idev, u16 lif_index,
			    dma_addr_t info_pa)
{}

void ionic_dev_cmd_lif_reset(struct ionic_dev *idev, u16 lif_index)
{}

void ionic_dev_cmd_adminq_init(struct ionic_dev *idev, struct ionic_qcq *qcq,
			       u16 lif_index, u16 intr_index)
{}

int ionic_db_page_num(struct ionic_lif *lif, int pid)
{}

int ionic_get_cmb(struct ionic_lif *lif, u32 *pgid, phys_addr_t *pgaddr, int order)
{}

void ionic_put_cmb(struct ionic_lif *lif, u32 pgid, int order)
{}

int ionic_cq_init(struct ionic_lif *lif, struct ionic_cq *cq,
		  struct ionic_intr_info *intr,
		  unsigned int num_descs, size_t desc_size)
{}

unsigned int ionic_cq_service(struct ionic_cq *cq, unsigned int work_to_do,
			      ionic_cq_cb cb, ionic_cq_done_cb done_cb,
			      void *done_arg)
{}

int ionic_q_init(struct ionic_lif *lif, struct ionic_dev *idev,
		 struct ionic_queue *q, unsigned int index, const char *name,
		 unsigned int num_descs, size_t desc_size,
		 size_t sg_desc_size, unsigned int pid)
{}

void ionic_q_post(struct ionic_queue *q, bool ring_doorbell)
{}

bool ionic_q_is_posted(struct ionic_queue *q, unsigned int pos)
{}