linux/include/linux/qed/qed_if.h

/* 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.
 */

#ifndef _QED_IF_H
#define _QED_IF_H

#include <linux/ethtool.h>
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/netdevice.h>
#include <linux/pci.h>
#include <linux/skbuff.h>
#include <asm/byteorder.h>
#include <linux/io.h>
#include <linux/compiler.h>
#include <linux/kernel.h>
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/qed/common_hsi.h>
#include <linux/qed/qed_chain.h>
#include <linux/io-64-nonatomic-lo-hi.h>
#include <net/devlink.h>

#define QED_TX_SWS_TIMER_DFLT
#define QED_TWO_MSL_TIMER_DFLT

enum dcbx_protocol_type {};

#define QED_ROCE_PROTOCOL_INDEX

#define QED_LLDP_CHASSIS_ID_STAT_LEN
#define QED_LLDP_PORT_ID_STAT_LEN
#define QED_DCBX_MAX_APP_PROTOCOL
#define QED_MAX_PFC_PRIORITIES
#define QED_DCBX_DSCP_SIZE

struct qed_dcbx_lldp_remote {};

struct qed_dcbx_lldp_local {};

struct qed_dcbx_app_prio {};

struct qed_dbcx_pfc_params {};

enum qed_dcbx_sf_ieee_type {};

struct qed_app_entry {};

struct qed_dcbx_params {};

struct qed_dcbx_admin_params {};

struct qed_dcbx_remote_params {};

struct qed_dcbx_operational_params {};

struct qed_dcbx_get {};

enum qed_nvm_images {};

struct qed_link_eee_params {};

enum qed_led_mode {};

struct qed_mfw_tlv_eth {};

#define QED_MFW_TLV_TIME_SIZE
struct qed_mfw_tlv_time {};

struct qed_mfw_tlv_fcoe {};

struct qed_mfw_tlv_iscsi {};

enum qed_db_rec_width {};

enum qed_db_rec_space {};

#define DIRECT_REG_WR(reg_addr, val)

#define DIRECT_REG_RD(reg_addr)

#define DIRECT_REG_WR64(reg_addr, val)

#define QED_COALESCE_MAX
#define QED_DEFAULT_RX_USECS
#define QED_DEFAULT_TX_USECS

/* forward */
struct qed_dev;

struct qed_eth_pf_params {};

struct qed_fcoe_pf_params {};

/* Most of the parameters below are described in the FW iSCSI / TCP HSI */
struct qed_iscsi_pf_params {};

struct qed_nvmetcp_pf_params {};

struct qed_rdma_pf_params {};

struct qed_pf_params {};

enum qed_int_mode {};

struct qed_sb_info {};

enum qed_hw_err_type {};

enum qed_dev_type {};

struct qed_dev_info {};

enum qed_sb_type {};

enum qed_protocol {};

enum qed_fec_mode {};

struct qed_link_params {};

struct qed_link_output {};

struct qed_probe_params {};

#define QED_DRV_VER_STR_SIZE
struct qed_slowpath_params {};

#define ILT_PAGE_SIZE_TCFC

struct qed_int_info {};

struct qed_generic_tlvs {};

#define QED_I2C_DEV_ADDR_A0
#define QED_I2C_DEV_ADDR_A2

#define QED_NVM_SIGNATURE

enum qed_nvm_flash_cmd {};

struct qed_devlink {};

struct qed_sb_info_dbg {};

struct qed_common_cb_ops {};

struct qed_selftest_ops {};

struct qed_common_ops {};

#define MASK_FIELD(_name, _value)

#define FIELD_VALUE(_name, _value)

#define SET_FIELD(value, name, flag)

#define GET_FIELD(value, name)

#define GET_MFW_FIELD(name, field)

#define SET_MFW_FIELD(name, field, value)

#define DB_ADDR_SHIFT(addr)

/* Debug print definitions */
#define DP_ERR(cdev, fmt, ...)

#define DP_NOTICE(cdev, fmt, ...)

#define DP_INFO(cdev, fmt, ...)

#define DP_VERBOSE(cdev, module, fmt, ...)

enum DP_LEVEL {};

#define QED_LOG_LEVEL_SHIFT
#define QED_LOG_VERBOSE_MASK
#define QED_LOG_INFO_MASK
#define QED_LOG_NOTICE_MASK

enum DP_MODULE {};

enum qed_mf_mode {};

struct qed_eth_stats_common {};

struct qed_eth_stats_bb {};

struct qed_eth_stats_ah {};

struct qed_eth_stats {};

#define QED_SB_IDX

#define RX_PI
#define TX_PI(tc)

struct qed_sb_cnt_info {};

static inline u16 qed_sb_update_sb_idx(struct qed_sb_info *sb_info)
{}

/**
 * qed_sb_ack(): This function creates an update command for interrupts
 *               that is  written to the IGU.
 *
 * @sb_info: This is the structure allocated and
 *           initialized per status block. Assumption is
 *           that it was initialized using qed_sb_init
 * @int_cmd: Enable/Disable/Nop
 * @upd_flg: Whether igu consumer should be updated.
 *
 * Return: inline void.
 */
static inline void qed_sb_ack(struct qed_sb_info *sb_info,
			      enum igu_int_cmd int_cmd,
			      u8 upd_flg)
{}

static inline void __internal_ram_wr(void *p_hwfn,
				     void __iomem *addr,
				     int size,
				     u32 *data)

{}

static inline void internal_ram_wr(void __iomem *addr,
				   int size,
				   u32 *data)
{}

enum qed_rss_caps {};

#define QED_RSS_IND_TABLE_SIZE
#define QED_RSS_KEY_SIZE
#endif