linux/drivers/net/ethernet/intel/ice/ice_flex_pipe.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/* Copyright (c) 2019, Intel Corporation. */
   3
   4#ifndef _ICE_FLEX_PIPE_H_
   5#define _ICE_FLEX_PIPE_H_
   6
   7#include "ice_type.h"
   8
   9/* Package minimal version supported */
  10#define ICE_PKG_SUPP_VER_MAJ    1
  11#define ICE_PKG_SUPP_VER_MNR    3
  12
  13/* Package format version */
  14#define ICE_PKG_FMT_VER_MAJ     1
  15#define ICE_PKG_FMT_VER_MNR     0
  16#define ICE_PKG_FMT_VER_UPD     0
  17#define ICE_PKG_FMT_VER_DFT     0
  18
  19#define ICE_PKG_CNT 4
  20
  21bool
  22ice_get_open_tunnel_port(struct ice_hw *hw, u16 *port);
  23int ice_udp_tunnel_set_port(struct net_device *netdev, unsigned int table,
  24                            unsigned int idx, struct udp_tunnel_info *ti);
  25int ice_udp_tunnel_unset_port(struct net_device *netdev, unsigned int table,
  26                              unsigned int idx, struct udp_tunnel_info *ti);
  27
  28enum ice_status
  29ice_add_prof(struct ice_hw *hw, enum ice_block blk, u64 id, u8 ptypes[],
  30             const struct ice_ptype_attributes *attr, u16 attr_cnt,
  31             struct ice_fv_word *es, u16 *masks);
  32enum ice_status
  33ice_add_prof_id_flow(struct ice_hw *hw, enum ice_block blk, u16 vsi, u64 hdl);
  34enum ice_status
  35ice_rem_prof_id_flow(struct ice_hw *hw, enum ice_block blk, u16 vsi, u64 hdl);
  36enum ice_status ice_init_pkg(struct ice_hw *hw, u8 *buff, u32 len);
  37enum ice_status
  38ice_copy_and_init_pkg(struct ice_hw *hw, const u8 *buf, u32 len);
  39enum ice_status ice_init_hw_tbls(struct ice_hw *hw);
  40void ice_free_seg(struct ice_hw *hw);
  41void ice_fill_blk_tbls(struct ice_hw *hw);
  42void ice_clear_hw_tbls(struct ice_hw *hw);
  43void ice_free_hw_tbls(struct ice_hw *hw);
  44enum ice_status
  45ice_rem_prof(struct ice_hw *hw, enum ice_block blk, u64 id);
  46#endif /* _ICE_FLEX_PIPE_H_ */
  47