linux/drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.h

/* SPDX-License-Identifier: GPL-2.0-only
 *
 * Copyright (c) 2021, MediaTek Inc.
 * Copyright (c) 2021-2022, Intel Corporation.
 *
 * Authors:
 *  Haijun Liu <[email protected]>
 *  Eliot Lee <[email protected]>
 *  Ricardo Martinez <[email protected]>
 *
 * Contributors:
 *  Amir Hanania <[email protected]>
 *  Chiranjeevi Rapolu <[email protected]>
 *  Moises Veleta <[email protected]>
 *  Sreehari Kancharla <[email protected]>
 */

#ifndef __T7XX_HIF_DPMA_TX_H__
#define __T7XX_HIF_DPMA_TX_H__

#include <linux/bits.h>
#include <linux/skbuff.h>
#include <linux/types.h>

#include "t7xx_hif_dpmaif.h"

#define DPMAIF_TX_DEFAULT_QUEUE

struct dpmaif_drb {};

/* Header fields */
#define DRB_HDR_DATA_LEN
#define DRB_HDR_RESERVED
#define DRB_HDR_CONT
#define DRB_HDR_DTYP

#define DRB_MSG_DW2_RES
#define DRB_MSG_L4_CHK
#define DRB_MSG_IP_CHK
#define DRB_MSG_RESERVED
#define DRB_MSG_NETWORK_TYPE
#define DRB_MSG_CHANNEL_ID
#define DRB_MSG_COUNT_L

struct dpmaif_drb_skb {};

int t7xx_dpmaif_tx_send_skb(struct dpmaif_ctrl *dpmaif_ctrl, unsigned int txq_number,
			    struct sk_buff *skb);
void t7xx_dpmaif_tx_thread_rel(struct dpmaif_ctrl *dpmaif_ctrl);
int t7xx_dpmaif_tx_thread_init(struct dpmaif_ctrl *dpmaif_ctrl);
void t7xx_dpmaif_txq_free(struct dpmaif_tx_queue *txq);
void t7xx_dpmaif_irq_tx_done(struct dpmaif_ctrl *dpmaif_ctrl, unsigned int que_mask);
int t7xx_dpmaif_txq_init(struct dpmaif_tx_queue *txq);
void t7xx_dpmaif_tx_stop(struct dpmaif_ctrl *dpmaif_ctrl);
void t7xx_dpmaif_tx_clear(struct dpmaif_ctrl *dpmaif_ctrl);

#endif /* __T7XX_HIF_DPMA_TX_H__ */