linux/drivers/net/wwan/t7xx/t7xx_hif_dpmaif.c

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

#include <linux/device.h>
#include <linux/gfp.h>
#include <linux/irqreturn.h>
#include <linux/kernel.h>
#include <linux/list.h>
#include <linux/string.h>
#include <linux/wait.h>
#include <linux/workqueue.h>

#include "t7xx_dpmaif.h"
#include "t7xx_hif_dpmaif.h"
#include "t7xx_hif_dpmaif_rx.h"
#include "t7xx_hif_dpmaif_tx.h"
#include "t7xx_pci.h"
#include "t7xx_pcie_mac.h"
#include "t7xx_state_monitor.h"

unsigned int t7xx_ring_buf_get_next_wr_idx(unsigned int buf_len, unsigned int buf_idx)
{}

unsigned int t7xx_ring_buf_rd_wr_count(unsigned int total_cnt, unsigned int rd_idx,
				       unsigned int wr_idx, enum dpmaif_rdwr rd_wr)
{}

static void t7xx_dpmaif_enable_irq(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static void t7xx_dpmaif_disable_irq(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static void t7xx_dpmaif_irq_cb(struct dpmaif_isr_para *isr_para)
{}

static irqreturn_t t7xx_dpmaif_isr_handler(int irq, void *data)
{}

static irqreturn_t t7xx_dpmaif_isr_thread(int irq, void *data)
{}

static void t7xx_dpmaif_isr_parameter_init(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static void t7xx_dpmaif_register_pcie_irq(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static int t7xx_dpmaif_rxtx_sw_allocs(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static void t7xx_dpmaif_sw_release(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static int t7xx_dpmaif_start(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static void t7xx_dpmaif_stop_sw(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static void t7xx_dpmaif_stop_hw(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static int t7xx_dpmaif_stop(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static int t7xx_dpmaif_suspend(struct t7xx_pci_dev *t7xx_dev, void *param)
{}

static void t7xx_dpmaif_unmask_dlq_intr(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static void t7xx_dpmaif_start_txrx_qs(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static int t7xx_dpmaif_resume(struct t7xx_pci_dev *t7xx_dev, void *param)
{}

static int t7xx_dpmaif_pm_entity_init(struct dpmaif_ctrl *dpmaif_ctrl)
{}

static int t7xx_dpmaif_pm_entity_release(struct dpmaif_ctrl *dpmaif_ctrl)
{}

int t7xx_dpmaif_md_state_callback(struct dpmaif_ctrl *dpmaif_ctrl, enum md_state state)
{}

/**
 * t7xx_dpmaif_hif_init() - Initialize data path.
 * @t7xx_dev: MTK context structure.
 * @callbacks: Callbacks implemented by the network layer to handle RX skb and
 *	       event notifications.
 *
 * Allocate and initialize datapath control block.
 * Register datapath ISR, TX and RX resources.
 *
 * Return:
 * * dpmaif_ctrl pointer - Pointer to DPMAIF context structure.
 * * NULL		 - In case of error.
 */
struct dpmaif_ctrl *t7xx_dpmaif_hif_init(struct t7xx_pci_dev *t7xx_dev,
					 struct dpmaif_callbacks *callbacks)
{}

void t7xx_dpmaif_hif_exit(struct dpmaif_ctrl *dpmaif_ctrl)
{}