#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/of_device.h>
#include <linux/of.h>
#include <linux/dma-mapping.h>
#include <linux/of_address.h>
#include <linux/iommu.h>
#include "ahb.h"
#include "debug.h"
#include "hif.h"
#include "qmi.h"
#include <linux/remoteproc.h>
#include "pcic.h"
#include <linux/soc/qcom/smem.h>
#include <linux/soc/qcom/smem_state.h>
static const struct of_device_id ath11k_ahb_of_match[] = …;
MODULE_DEVICE_TABLE(of, ath11k_ahb_of_match);
#define ATH11K_IRQ_CE0_OFFSET …
static const char *irq_name[ATH11K_IRQ_NUM_MAX] = …;
enum ext_irq_num { … };
static int
ath11k_ahb_get_msi_irq_wcn6750(struct ath11k_base *ab, unsigned int vector)
{ … }
static inline u32
ath11k_ahb_get_window_start_wcn6750(struct ath11k_base *ab, u32 offset)
{ … }
static void
ath11k_ahb_window_write32_wcn6750(struct ath11k_base *ab, u32 offset, u32 value)
{ … }
static u32 ath11k_ahb_window_read32_wcn6750(struct ath11k_base *ab, u32 offset)
{ … }
static const struct ath11k_pci_ops ath11k_ahb_pci_ops_wcn6750 = …;
static inline u32 ath11k_ahb_read32(struct ath11k_base *ab, u32 offset)
{ … }
static inline void ath11k_ahb_write32(struct ath11k_base *ab, u32 offset, u32 value)
{ … }
static void ath11k_ahb_kill_tasklets(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_ext_grp_disable(struct ath11k_ext_irq_grp *irq_grp)
{ … }
static void __ath11k_ahb_ext_irq_disable(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_ext_grp_enable(struct ath11k_ext_irq_grp *irq_grp)
{ … }
static void ath11k_ahb_setbit32(struct ath11k_base *ab, u8 bit, u32 offset)
{ … }
static void ath11k_ahb_clearbit32(struct ath11k_base *ab, u8 bit, u32 offset)
{ … }
static void ath11k_ahb_ce_irq_enable(struct ath11k_base *ab, u16 ce_id)
{ … }
static void ath11k_ahb_ce_irq_disable(struct ath11k_base *ab, u16 ce_id)
{ … }
static void ath11k_ahb_sync_ce_irqs(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_sync_ext_irqs(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_ce_irqs_enable(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_ce_irqs_disable(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_start(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_ext_irq_enable(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_ext_irq_disable(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_stop(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_power_up(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_power_down(struct ath11k_base *ab, bool is_suspend)
{ … }
static void ath11k_ahb_init_qmi_ce_config(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_free_ext_irq(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_free_irq(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_ce_tasklet(struct tasklet_struct *t)
{ … }
static irqreturn_t ath11k_ahb_ce_interrupt_handler(int irq, void *arg)
{ … }
static int ath11k_ahb_ext_grp_napi_poll(struct napi_struct *napi, int budget)
{ … }
static irqreturn_t ath11k_ahb_ext_interrupt_handler(int irq, void *arg)
{ … }
static int ath11k_ahb_config_ext_irq(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_config_irq(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_map_service_to_pipe(struct ath11k_base *ab, u16 service_id,
u8 *ul_pipe, u8 *dl_pipe)
{ … }
static int ath11k_ahb_hif_suspend(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_hif_resume(struct ath11k_base *ab)
{ … }
static const struct ath11k_hif_ops ath11k_ahb_hif_ops_ipq8074 = …;
static const struct ath11k_hif_ops ath11k_ahb_hif_ops_wcn6750 = …;
static int ath11k_core_get_rproc(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_setup_msi_resources(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_setup_smp2p_handle(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_release_smp2p_handle(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_setup_resources(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_setup_msa_resources(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_ce_remap(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_ce_unmap(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_fw_resources_init(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_fw_resource_deinit(struct ath11k_base *ab)
{ … }
static int ath11k_ahb_probe(struct platform_device *pdev)
{ … }
static void ath11k_ahb_remove_prepare(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_free_resources(struct ath11k_base *ab)
{ … }
static void ath11k_ahb_remove(struct platform_device *pdev)
{ … }
static void ath11k_ahb_shutdown(struct platform_device *pdev)
{ … }
static struct platform_driver ath11k_ahb_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;