linux/drivers/net/ethernet/mediatek/mtk_wed_wo.c

// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (C) 2022 MediaTek Inc.
 *
 * Author: Lorenzo Bianconi <[email protected]>
 *	   Sujuan Chen <[email protected]>
 */

#include <linux/kernel.h>
#include <linux/dma-mapping.h>
#include <linux/interrupt.h>
#include <linux/mfd/syscon.h>
#include <linux/of.h>
#include <linux/of_irq.h>
#include <linux/bitfield.h>

#include "mtk_wed.h"
#include "mtk_wed_regs.h"
#include "mtk_wed_wo.h"

static u32
mtk_wed_mmio_r32(struct mtk_wed_wo *wo, u32 reg)
{}

static void
mtk_wed_mmio_w32(struct mtk_wed_wo *wo, u32 reg, u32 val)
{}

static u32
mtk_wed_wo_get_isr(struct mtk_wed_wo *wo)
{}

static void
mtk_wed_wo_set_isr(struct mtk_wed_wo *wo, u32 mask)
{}

static void
mtk_wed_wo_set_ack(struct mtk_wed_wo *wo, u32 mask)
{}

static void
mtk_wed_wo_set_isr_mask(struct mtk_wed_wo *wo, u32 mask, u32 val, bool set)
{}

static void
mtk_wed_wo_irq_enable(struct mtk_wed_wo *wo, u32 mask)
{}

static void
mtk_wed_wo_irq_disable(struct mtk_wed_wo *wo, u32 mask)
{}

static void
mtk_wed_wo_kickout(struct mtk_wed_wo *wo)
{}

static void
mtk_wed_wo_queue_kick(struct mtk_wed_wo *wo, struct mtk_wed_wo_queue *q,
		      u32 val)
{}

static void *
mtk_wed_wo_dequeue(struct mtk_wed_wo *wo, struct mtk_wed_wo_queue *q, u32 *len,
		   bool flush)
{}

static int
mtk_wed_wo_queue_refill(struct mtk_wed_wo *wo, struct mtk_wed_wo_queue *q,
			bool rx)
{}

static void
mtk_wed_wo_rx_complete(struct mtk_wed_wo *wo)
{}

static void
mtk_wed_wo_rx_run_queue(struct mtk_wed_wo *wo, struct mtk_wed_wo_queue *q)
{}

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

static void mtk_wed_wo_irq_tasklet(struct tasklet_struct *t)
{}

/* mtk wed wo hw queues */

static int
mtk_wed_wo_queue_alloc(struct mtk_wed_wo *wo, struct mtk_wed_wo_queue *q,
		       int n_desc, int buf_size, int index,
		       struct mtk_wed_wo_queue_regs *regs)
{}

static void
mtk_wed_wo_queue_free(struct mtk_wed_wo *wo, struct mtk_wed_wo_queue *q)
{}

static void
mtk_wed_wo_queue_tx_clean(struct mtk_wed_wo *wo, struct mtk_wed_wo_queue *q)
{}

static void
mtk_wed_wo_queue_rx_clean(struct mtk_wed_wo *wo, struct mtk_wed_wo_queue *q)
{}

static void
mtk_wed_wo_queue_reset(struct mtk_wed_wo *wo, struct mtk_wed_wo_queue *q)
{}

int mtk_wed_wo_queue_tx_skb(struct mtk_wed_wo *wo, struct mtk_wed_wo_queue *q,
			    struct sk_buff *skb)
{}

static int
mtk_wed_wo_exception_init(struct mtk_wed_wo *wo)
{}

static int
mtk_wed_wo_hardware_init(struct mtk_wed_wo *wo)
{}

static void
mtk_wed_wo_hw_deinit(struct mtk_wed_wo *wo)
{}

int mtk_wed_wo_init(struct mtk_wed_hw *hw)
{}

void mtk_wed_wo_deinit(struct mtk_wed_hw *hw)
{}