linux/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.c

// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2021-2021 Hisilicon Limited.

#include "hnae3.h"
#include "hclge_comm_cmd.h"

static void hclge_comm_cmd_config_regs(struct hclge_comm_hw *hw,
				       struct hclge_comm_cmq_ring *ring)
{}

void hclge_comm_cmd_init_regs(struct hclge_comm_hw *hw)
{}

void hclge_comm_cmd_reuse_desc(struct hclge_desc *desc, bool is_read)
{}
EXPORT_SYMBOL_GPL();

static void hclge_comm_set_default_capability(struct hnae3_ae_dev *ae_dev,
					      bool is_pf)
{}

void hclge_comm_cmd_setup_basic_desc(struct hclge_desc *desc,
				     enum hclge_opcode_type opcode,
				     bool is_read)
{}
EXPORT_SYMBOL_GPL();

int hclge_comm_firmware_compat_config(struct hnae3_ae_dev *ae_dev,
				      struct hclge_comm_hw *hw, bool en)
{}

void hclge_comm_free_cmd_desc(struct hclge_comm_cmq_ring *ring)
{}

static int hclge_comm_alloc_cmd_desc(struct hclge_comm_cmq_ring *ring)
{}

static __le32 hclge_comm_build_api_caps(void)
{}

static const struct hclge_comm_caps_bit_map hclge_pf_cmd_caps[] =;

static const struct hclge_comm_caps_bit_map hclge_vf_cmd_caps[] =;

static void
hclge_comm_capability_to_bitmap(unsigned long *bitmap, __le32 *caps)
{}

static void
hclge_comm_parse_capability(struct hnae3_ae_dev *ae_dev, bool is_pf,
			    struct hclge_comm_query_version_cmd *cmd)
{}

int hclge_comm_alloc_cmd_queue(struct hclge_comm_hw *hw, int ring_type)
{}

int hclge_comm_cmd_query_version_and_capability(struct hnae3_ae_dev *ae_dev,
						struct hclge_comm_hw *hw,
						u32 *fw_version, bool is_pf)
{}

static const u16 spec_opcode[] =;

static bool hclge_comm_is_special_opcode(u16 opcode)
{}

static int hclge_comm_ring_space(struct hclge_comm_cmq_ring *ring)
{}

static void hclge_comm_cmd_copy_desc(struct hclge_comm_hw *hw,
				     struct hclge_desc *desc, int num)
{}

static int hclge_comm_is_valid_csq_clean_head(struct hclge_comm_cmq_ring *ring,
					      int head)
{}

static int hclge_comm_cmd_csq_clean(struct hclge_comm_hw *hw)
{}

static int hclge_comm_cmd_csq_done(struct hclge_comm_hw *hw)
{}

static u32 hclge_get_cmdq_tx_timeout(u16 opcode, u32 tx_timeout)
{}

static void hclge_comm_wait_for_resp(struct hclge_comm_hw *hw, u16 opcode,
				     bool *is_completed)
{}

static int hclge_comm_cmd_convert_err_code(u16 desc_ret)
{}

static int hclge_comm_cmd_check_retval(struct hclge_comm_hw *hw,
				       struct hclge_desc *desc, int num,
				       int ntc)
{}

static int hclge_comm_cmd_check_result(struct hclge_comm_hw *hw,
				       struct hclge_desc *desc,
				       int num, int ntc)
{}

/**
 * hclge_comm_cmd_send - send command to command queue
 * @hw: pointer to the hw struct
 * @desc: prefilled descriptor for describing the command
 * @num : the number of descriptors to be sent
 *
 * This is the main send command for command queue, it
 * sends the queue, cleans the queue, etc
 **/
int hclge_comm_cmd_send(struct hclge_comm_hw *hw, struct hclge_desc *desc,
			int num)
{}
EXPORT_SYMBOL_GPL();

static void hclge_comm_cmd_uninit_regs(struct hclge_comm_hw *hw)
{}

void hclge_comm_cmd_uninit(struct hnae3_ae_dev *ae_dev,
			   struct hclge_comm_hw *hw)
{}
EXPORT_SYMBOL_GPL();

int hclge_comm_cmd_queue_init(struct pci_dev *pdev, struct hclge_comm_hw *hw)
{}
EXPORT_SYMBOL_GPL();

void hclge_comm_cmd_init_ops(struct hclge_comm_hw *hw,
			     const struct hclge_comm_cmq_ops *ops)
{}
EXPORT_SYMBOL_GPL();

int hclge_comm_cmd_init(struct hnae3_ae_dev *ae_dev, struct hclge_comm_hw *hw,
			u32 *fw_version, bool is_pf,
			unsigned long reset_pending)
{}
EXPORT_SYMBOL_GPL();

MODULE_LICENSE();
MODULE_DESCRIPTION();
MODULE_AUTHOR();