linux/drivers/net/wireless/realtek/rtw88/pci.c

// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright(c) 2018-2019  Realtek Corporation
 */

#include <linux/module.h>
#include <linux/pci.h>
#include "main.h"
#include "pci.h"
#include "reg.h"
#include "tx.h"
#include "rx.h"
#include "fw.h"
#include "ps.h"
#include "debug.h"

static bool rtw_disable_msi;
static bool rtw_pci_disable_aspm;
module_param_named(disable_msi, rtw_disable_msi, bool, 0644);
module_param_named(disable_aspm, rtw_pci_disable_aspm, bool, 0644);
MODULE_PARM_DESC();
MODULE_PARM_DESC();

static u32 rtw_pci_tx_queue_idx_addr[] =;

static u8 rtw_pci_get_tx_qsel(struct sk_buff *skb,
			      enum rtw_tx_queue_type queue)
{
	switch (queue) {
	case RTW_TX_QUEUE_BCN:
		return TX_DESC_QSEL_BEACON;
	case RTW_TX_QUEUE_H2C:
		return TX_DESC_QSEL_H2C;
	case RTW_TX_QUEUE_MGMT:
		return TX_DESC_QSEL_MGMT;
	case RTW_TX_QUEUE_HI0:
		return TX_DESC_QSEL_HIGH;
	default:
		return skb->priority;
	}
};

static u8 rtw_pci_read8(struct rtw_dev *rtwdev, u32 addr)
{}

static u16 rtw_pci_read16(struct rtw_dev *rtwdev, u32 addr)
{}

static u32 rtw_pci_read32(struct rtw_dev *rtwdev, u32 addr)
{}

static void rtw_pci_write8(struct rtw_dev *rtwdev, u32 addr, u8 val)
{}

static void rtw_pci_write16(struct rtw_dev *rtwdev, u32 addr, u16 val)
{}

static void rtw_pci_write32(struct rtw_dev *rtwdev, u32 addr, u32 val)
{}

static void rtw_pci_free_tx_ring_skbs(struct rtw_dev *rtwdev,
				      struct rtw_pci_tx_ring *tx_ring)
{}

static void rtw_pci_free_tx_ring(struct rtw_dev *rtwdev,
				 struct rtw_pci_tx_ring *tx_ring)
{}

static void rtw_pci_free_rx_ring_skbs(struct rtw_dev *rtwdev,
				      struct rtw_pci_rx_ring *rx_ring)
{}

static void rtw_pci_free_rx_ring(struct rtw_dev *rtwdev,
				 struct rtw_pci_rx_ring *rx_ring)
{}

static void rtw_pci_free_trx_ring(struct rtw_dev *rtwdev)
{}

static int rtw_pci_init_tx_ring(struct rtw_dev *rtwdev,
				struct rtw_pci_tx_ring *tx_ring,
				u8 desc_size, u32 len)
{}

static int rtw_pci_reset_rx_desc(struct rtw_dev *rtwdev, struct sk_buff *skb,
				 struct rtw_pci_rx_ring *rx_ring,
				 u32 idx, u32 desc_sz)
{}

static void rtw_pci_sync_rx_desc_device(struct rtw_dev *rtwdev, dma_addr_t dma,
					struct rtw_pci_rx_ring *rx_ring,
					u32 idx, u32 desc_sz)
{}

static int rtw_pci_init_rx_ring(struct rtw_dev *rtwdev,
				struct rtw_pci_rx_ring *rx_ring,
				u8 desc_size, u32 len)
{}

static int rtw_pci_init_trx_ring(struct rtw_dev *rtwdev)
{}

static void rtw_pci_deinit(struct rtw_dev *rtwdev)
{}

static int rtw_pci_init(struct rtw_dev *rtwdev)
{}

static void rtw_pci_reset_buf_desc(struct rtw_dev *rtwdev)
{}

static void rtw_pci_reset_trx_ring(struct rtw_dev *rtwdev)
{}

static void rtw_pci_enable_interrupt(struct rtw_dev *rtwdev,
				     struct rtw_pci *rtwpci, bool exclude_rx)
{}

static void rtw_pci_disable_interrupt(struct rtw_dev *rtwdev,
				      struct rtw_pci *rtwpci)
{}

static void rtw_pci_dma_reset(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci)
{}

static int rtw_pci_setup(struct rtw_dev *rtwdev)
{}

static void rtw_pci_dma_release(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci)
{}

static void rtw_pci_napi_start(struct rtw_dev *rtwdev)
{}

static void rtw_pci_napi_stop(struct rtw_dev *rtwdev)
{}

static int rtw_pci_start(struct rtw_dev *rtwdev)
{}

static void rtw_pci_stop(struct rtw_dev *rtwdev)
{}

static void rtw_pci_deep_ps_enter(struct rtw_dev *rtwdev)
{}

static void rtw_pci_deep_ps_leave(struct rtw_dev *rtwdev)
{}

static void rtw_pci_deep_ps(struct rtw_dev *rtwdev, bool enter)
{}

static void rtw_pci_release_rsvd_page(struct rtw_pci *rtwpci,
				      struct rtw_pci_tx_ring *ring)
{}

static void rtw_pci_dma_check(struct rtw_dev *rtwdev,
			      struct rtw_pci_rx_ring *rx_ring,
			      u32 idx)
{}

static u32 __pci_get_hw_tx_ring_rp(struct rtw_dev *rtwdev, u8 pci_q)
{}

static void __pci_flush_queue(struct rtw_dev *rtwdev, u8 pci_q, bool drop)
{}

static void __rtw_pci_flush_queues(struct rtw_dev *rtwdev, u32 pci_queues,
				   bool drop)
{}

static void rtw_pci_flush_queues(struct rtw_dev *rtwdev, u32 queues, bool drop)
{}

static void rtw_pci_tx_kick_off_queue(struct rtw_dev *rtwdev,
				      enum rtw_tx_queue_type queue)
{}

static void rtw_pci_tx_kick_off(struct rtw_dev *rtwdev)
{}

static int rtw_pci_tx_write_data(struct rtw_dev *rtwdev,
				 struct rtw_tx_pkt_info *pkt_info,
				 struct sk_buff *skb,
				 enum rtw_tx_queue_type queue)
{}

static int rtw_pci_write_data_rsvd_page(struct rtw_dev *rtwdev, u8 *buf,
					u32 size)
{}

static int rtw_pci_write_data_h2c(struct rtw_dev *rtwdev, u8 *buf, u32 size)
{}

static int rtw_pci_tx_write(struct rtw_dev *rtwdev,
			    struct rtw_tx_pkt_info *pkt_info,
			    struct sk_buff *skb)
{}

static void rtw_pci_tx_isr(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci,
			   u8 hw_queue)
{}

static void rtw_pci_rx_isr(struct rtw_dev *rtwdev)
{}

static int rtw_pci_get_hw_rx_ring_nr(struct rtw_dev *rtwdev,
				     struct rtw_pci *rtwpci)
{}

static u32 rtw_pci_rx_napi(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci,
			   u8 hw_queue, u32 limit)
{}

static void rtw_pci_irq_recognized(struct rtw_dev *rtwdev,
				   struct rtw_pci *rtwpci, u32 *irq_status)
{}

static irqreturn_t rtw_pci_interrupt_handler(int irq, void *dev)
{}

static irqreturn_t rtw_pci_interrupt_threadfn(int irq, void *dev)
{}

static int rtw_pci_io_mapping(struct rtw_dev *rtwdev,
			      struct pci_dev *pdev)
{}

static void rtw_pci_io_unmapping(struct rtw_dev *rtwdev,
				 struct pci_dev *pdev)
{}

static void rtw_dbi_write8(struct rtw_dev *rtwdev, u16 addr, u8 data)
{}

static int rtw_dbi_read8(struct rtw_dev *rtwdev, u16 addr, u8 *value)
{}

static void rtw_mdio_write(struct rtw_dev *rtwdev, u8 addr, u16 data, bool g1)
{}

static void rtw_pci_clkreq_set(struct rtw_dev *rtwdev, bool enable)
{}

static void rtw_pci_clkreq_pad_low(struct rtw_dev *rtwdev, bool enable)
{}

static void rtw_pci_aspm_set(struct rtw_dev *rtwdev, bool enable)
{}

static void rtw_pci_link_ps(struct rtw_dev *rtwdev, bool enter)
{}

static void rtw_pci_link_cfg(struct rtw_dev *rtwdev)
{}

static void rtw_pci_interface_cfg(struct rtw_dev *rtwdev)
{}

static void rtw_pci_phy_cfg(struct rtw_dev *rtwdev)
{}

static int __maybe_unused rtw_pci_suspend(struct device *dev)
{}

static int __maybe_unused rtw_pci_resume(struct device *dev)
{}

SIMPLE_DEV_PM_OPS(rtw_pm_ops, rtw_pci_suspend, rtw_pci_resume);
EXPORT_SYMBOL();

static int rtw_pci_claim(struct rtw_dev *rtwdev, struct pci_dev *pdev)
{}

static void rtw_pci_declaim(struct rtw_dev *rtwdev, struct pci_dev *pdev)
{}

static int rtw_pci_setup_resource(struct rtw_dev *rtwdev, struct pci_dev *pdev)
{}

static void rtw_pci_destroy(struct rtw_dev *rtwdev, struct pci_dev *pdev)
{}

static struct rtw_hci_ops rtw_pci_ops =;

static int rtw_pci_request_irq(struct rtw_dev *rtwdev, struct pci_dev *pdev)
{}

static void rtw_pci_free_irq(struct rtw_dev *rtwdev, struct pci_dev *pdev)
{}

static int rtw_pci_napi_poll(struct napi_struct *napi, int budget)
{}

static int rtw_pci_napi_init(struct rtw_dev *rtwdev)
{}

static void rtw_pci_napi_deinit(struct rtw_dev *rtwdev)
{}

int rtw_pci_probe(struct pci_dev *pdev,
		  const struct pci_device_id *id)
{}
EXPORT_SYMBOL();

void rtw_pci_remove(struct pci_dev *pdev)
{}
EXPORT_SYMBOL();

void rtw_pci_shutdown(struct pci_dev *pdev)
{}
EXPORT_SYMBOL();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();