File Index
Files and directories
Sign in
FILE

ixgbe_e610.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h C
  1/* SPDX-License-Identifier: GPL-2.0 */
  2/* Copyright(c) 2024 Intel Corporation. */
  3
  4#ifndef _IXGBE_E610_H_
  5#define _IXGBE_E610_H_
  6
  7#include "ixgbe_type.h"
  8
  9int ixgbe_aci_send_cmd(struct ixgbe_hw *hw, struct libie_aq_desc *desc,
 10		       void *buf, u16 buf_size);
 11bool ixgbe_aci_check_event_pending(struct ixgbe_hw *hw);
 12int ixgbe_aci_get_event(struct ixgbe_hw *hw, struct ixgbe_aci_event *e,
 13			bool *pending);
 14void ixgbe_fill_dflt_direct_cmd_desc(struct libie_aq_desc *desc, u16 opcode);
 15int ixgbe_acquire_res(struct ixgbe_hw *hw, enum libie_aq_res_id res,
 16		      enum libie_aq_res_access_type access, u32 timeout);
 17void ixgbe_release_res(struct ixgbe_hw *hw, enum libie_aq_res_id res);
 18int ixgbe_aci_list_caps(struct ixgbe_hw *hw, void *buf, u16 buf_size,
 19			u32 *cap_count, enum ixgbe_aci_opc opc);
 20int ixgbe_discover_dev_caps(struct ixgbe_hw *hw,
 21			    struct ixgbe_hw_dev_caps *dev_caps);
 22int ixgbe_discover_func_caps(struct ixgbe_hw *hw,
 23			     struct ixgbe_hw_func_caps *func_caps);
 24int ixgbe_get_caps(struct ixgbe_hw *hw);
 25int ixgbe_aci_disable_rxen(struct ixgbe_hw *hw);
 26int ixgbe_aci_get_phy_caps(struct ixgbe_hw *hw, bool qual_mods, u8 report_mode,
 27			   struct ixgbe_aci_cmd_get_phy_caps_data *pcaps);
 28void ixgbe_copy_phy_caps_to_cfg(struct ixgbe_aci_cmd_get_phy_caps_data *caps,
 29				struct ixgbe_aci_cmd_set_phy_cfg_data *cfg);
 30int ixgbe_aci_set_phy_cfg(struct ixgbe_hw *hw,
 31			  struct ixgbe_aci_cmd_set_phy_cfg_data *cfg);
 32int ixgbe_aci_set_link_restart_an(struct ixgbe_hw *hw, bool ena_link);
 33int ixgbe_update_link_info(struct ixgbe_hw *hw);
 34int ixgbe_get_link_status(struct ixgbe_hw *hw, bool *link_up);
 35int ixgbe_aci_get_link_info(struct ixgbe_hw *hw, bool ena_lse,
 36			    struct ixgbe_link_status *link);
 37int ixgbe_aci_set_event_mask(struct ixgbe_hw *hw, u8 port_num, u16 mask);
 38int ixgbe_configure_lse(struct ixgbe_hw *hw, bool activate, u16 mask);
 39int ixgbe_aci_set_port_id_led(struct ixgbe_hw *hw, bool orig_mode);
 40enum ixgbe_media_type ixgbe_get_media_type_e610(struct ixgbe_hw *hw);
 41int ixgbe_setup_link_e610(struct ixgbe_hw *hw, ixgbe_link_speed speed,
 42			  bool autoneg_wait);
 43int ixgbe_check_link_e610(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
 44			  bool *link_up, bool link_up_wait_to_complete);
 45int ixgbe_get_link_capabilities_e610(struct ixgbe_hw *hw,
 46				     ixgbe_link_speed *speed,
 47				     bool *autoneg);
 48int ixgbe_cfg_phy_fc(struct ixgbe_hw *hw,
 49		     struct ixgbe_aci_cmd_set_phy_cfg_data *cfg,
 50		     enum ixgbe_fc_mode req_mode);
 51int ixgbe_setup_fc_e610(struct ixgbe_hw *hw);
 52void ixgbe_fc_autoneg_e610(struct ixgbe_hw *hw);
 53void ixgbe_disable_rx_e610(struct ixgbe_hw *hw);
 54int ixgbe_init_phy_ops_e610(struct ixgbe_hw *hw);
 55int ixgbe_identify_phy_e610(struct ixgbe_hw *hw);
 56int ixgbe_identify_module_e610(struct ixgbe_hw *hw);
 57int ixgbe_setup_phy_link_e610(struct ixgbe_hw *hw);
 58int ixgbe_set_phy_power_e610(struct ixgbe_hw *hw, bool on);
 59int ixgbe_enter_lplu_e610(struct ixgbe_hw *hw);
 60int ixgbe_init_eeprom_params_e610(struct ixgbe_hw *hw);
 61int ixgbe_aci_get_netlist_node(struct ixgbe_hw *hw,
 62			       struct ixgbe_aci_cmd_get_link_topo *cmd,
 63			       u8 *node_part_number, u16 *node_handle);
 64int ixgbe_acquire_nvm(struct ixgbe_hw *hw,
 65		      enum libie_aq_res_access_type access);
 66void ixgbe_release_nvm(struct ixgbe_hw *hw);
 67int ixgbe_aci_read_nvm(struct ixgbe_hw *hw, u16 module_typeid, u32 offset,
 68		       u16 length, void *data, bool last_command,
 69		       bool read_shadow_ram);
 70int ixgbe_nvm_validate_checksum(struct ixgbe_hw *hw);
 71int ixgbe_get_inactive_orom_ver(struct ixgbe_hw *hw,
 72				struct ixgbe_orom_info *orom);
 73int ixgbe_get_inactive_nvm_ver(struct ixgbe_hw *hw, struct ixgbe_nvm_info *nvm);
 74int ixgbe_get_inactive_netlist_ver(struct ixgbe_hw *hw,
 75				   struct ixgbe_netlist_info *netlist);
 76int ixgbe_read_sr_word_aci(struct ixgbe_hw  *hw, u16 offset, u16 *data);
 77int ixgbe_read_flat_nvm(struct ixgbe_hw  *hw, u32 offset, u32 *length,
 78			u8 *data, bool read_shadow_ram);
 79int ixgbe_read_sr_buf_aci(struct ixgbe_hw *hw, u16 offset, u16 *words,
 80			  u16 *data);
 81int ixgbe_read_ee_aci_e610(struct ixgbe_hw *hw, u16 offset, u16 *data);
 82int ixgbe_read_ee_aci_buffer_e610(struct ixgbe_hw *hw, u16 offset,
 83				  u16 words, u16 *data);
 84int ixgbe_validate_eeprom_checksum_e610(struct ixgbe_hw *hw, u16 *checksum_val);
 85int ixgbe_reset_hw_e610(struct ixgbe_hw *hw);
 86int ixgbe_get_flash_data(struct ixgbe_hw *hw);
 87int ixgbe_aci_nvm_update_empr(struct ixgbe_hw *hw);
 88int ixgbe_nvm_set_pkg_data(struct ixgbe_hw *hw, bool del_pkg_data_flag,
 89			   u8 *data, u16 length);
 90int ixgbe_nvm_pass_component_tbl(struct ixgbe_hw *hw, u8 *data, u16 length,
 91				 u8 transfer_flag, u8 *comp_response,
 92				 u8 *comp_response_code);
 93int ixgbe_aci_erase_nvm(struct ixgbe_hw *hw, u16 module_typeid);
 94int ixgbe_aci_update_nvm(struct ixgbe_hw *hw, u16 module_typeid,
 95			 u32 offset, u16 length, void *data,
 96			 bool last_command, u8 command_flags);
 97int ixgbe_nvm_write_activate(struct ixgbe_hw *hw, u16 cmd_flags,
 98			     u8 *response_flags);
 99int ixgbe_fwlog_init(struct ixgbe_hw *hw);
100void ixgbe_fwlog_deinit(struct ixgbe_hw *hw);
101
102#endif /* _IXGBE_E610_H_ */
~/ Read-only file preview.