162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/* Copyright (c) 2019, Intel Corporation. */
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#ifndef _ICE_BASE_H_
562306a36Sopenharmony_ci#define _ICE_BASE_H_
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include "ice.h"
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciint ice_vsi_cfg_rxq(struct ice_rx_ring *ring);
1062306a36Sopenharmony_ciint __ice_vsi_get_qs(struct ice_qs_cfg *qs_cfg);
1162306a36Sopenharmony_ciint
1262306a36Sopenharmony_ciice_vsi_ctrl_one_rx_ring(struct ice_vsi *vsi, bool ena, u16 rxq_idx, bool wait);
1362306a36Sopenharmony_ciint ice_vsi_wait_one_rx_ring(struct ice_vsi *vsi, bool ena, u16 rxq_idx);
1462306a36Sopenharmony_ciint ice_vsi_alloc_q_vectors(struct ice_vsi *vsi);
1562306a36Sopenharmony_civoid ice_vsi_map_rings_to_vectors(struct ice_vsi *vsi);
1662306a36Sopenharmony_civoid ice_vsi_free_q_vectors(struct ice_vsi *vsi);
1762306a36Sopenharmony_ciint
1862306a36Sopenharmony_ciice_vsi_cfg_txq(struct ice_vsi *vsi, struct ice_tx_ring *ring,
1962306a36Sopenharmony_ci		struct ice_aqc_add_tx_qgrp *qg_buf);
2062306a36Sopenharmony_civoid ice_cfg_itr(struct ice_hw *hw, struct ice_q_vector *q_vector);
2162306a36Sopenharmony_civoid
2262306a36Sopenharmony_ciice_cfg_txq_interrupt(struct ice_vsi *vsi, u16 txq, u16 msix_idx, u16 itr_idx);
2362306a36Sopenharmony_civoid
2462306a36Sopenharmony_ciice_cfg_rxq_interrupt(struct ice_vsi *vsi, u16 rxq, u16 msix_idx, u16 itr_idx);
2562306a36Sopenharmony_civoid ice_trigger_sw_intr(struct ice_hw *hw, struct ice_q_vector *q_vector);
2662306a36Sopenharmony_ciint
2762306a36Sopenharmony_ciice_vsi_stop_tx_ring(struct ice_vsi *vsi, enum ice_disq_rst_src rst_src,
2862306a36Sopenharmony_ci		     u16 rel_vmvf_num, struct ice_tx_ring *ring,
2962306a36Sopenharmony_ci		     struct ice_txq_meta *txq_meta);
3062306a36Sopenharmony_civoid
3162306a36Sopenharmony_ciice_fill_txq_meta(struct ice_vsi *vsi, struct ice_tx_ring *ring,
3262306a36Sopenharmony_ci		  struct ice_txq_meta *txq_meta);
3362306a36Sopenharmony_ci#endif /* _ICE_BASE_H_ */
34