#ifndef __QCOM_ESS_EDMA_HW_H__
#define __QCOM_ESS_EDMA_HW_H__
extern int qcom_ess_edma_hw_reset(struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_get_tx_intr_moderation(
struct qcom_ess_edma_softc *sc, uint32_t *usec);
extern int qcom_ess_edma_hw_set_tx_intr_moderation(
struct qcom_ess_edma_softc *sc, uint32_t usec);
extern int qcom_ess_edma_hw_set_rx_intr_moderation(
struct qcom_ess_edma_softc *sc, uint32_t usec);
extern int qcom_ess_edma_hw_intr_disable(struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_intr_rx_intr_set_enable(
struct qcom_ess_edma_softc *sc, int rxq, bool state);
extern int qcom_ess_edma_hw_intr_tx_intr_set_enable(
struct qcom_ess_edma_softc *sc, int txq, bool state);
extern int qcom_ess_edma_hw_intr_enable(struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_intr_status_clear(
struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_intr_rx_ack(struct qcom_ess_edma_softc *sc,
int rx_queue);
extern int qcom_ess_edma_hw_intr_tx_ack(struct qcom_ess_edma_softc *sc,
int tx_queue);
extern int qcom_ess_edma_hw_configure_rss_table(
struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_configure_load_balance_table(
struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_configure_tx_virtual_queue(
struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_configure_default_axi_transaction_size(
struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_stop_txrx_queues(struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_stop(struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_rfd_prod_index_update(
struct qcom_ess_edma_softc *sc, int queue, int idx);
extern int qcom_ess_edma_hw_rfd_get_cons_index(
struct qcom_ess_edma_softc *sc, int queue);
extern int qcom_ess_edma_hw_rfd_sw_cons_index_update(
struct qcom_ess_edma_softc *sc, int queue, int idx);
extern int qcom_ess_edma_hw_setup(struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_setup_tx(struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_setup_rx(struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_setup_txrx_desc_rings(
struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_tx_enable(struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_rx_enable(struct qcom_ess_edma_softc *sc);
extern int qcom_ess_edma_hw_tx_read_tpd_cons_idx(
struct qcom_ess_edma_softc *sc, int queue_id, uint16_t *idx);
extern int qcom_ess_edma_hw_tx_update_tpd_prod_idx(
struct qcom_ess_edma_softc *sc, int queue_id, uint16_t idx);
extern int qcom_ess_edma_hw_tx_update_cons_idx(
struct qcom_ess_edma_softc *sc, int queue_id, uint16_t idx);
#endif