linux/drivers/net/wireless/ath/ath11k/mhi.c

// SPDX-License-Identifier: BSD-3-Clause-Clear
/*
 * Copyright (c) 2020 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#include <linux/msi.h>
#include <linux/pci.h>
#include <linux/firmware.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/ioport.h>

#include "core.h"
#include "debug.h"
#include "mhi.h"
#include "pci.h"
#include "pcic.h"

#define MHI_TIMEOUT_DEFAULT_MS
#define RDDM_DUMP_SIZE
#define MHI_CB_INVALID

static const struct mhi_channel_config ath11k_mhi_channels_qca6390[] =;

static struct mhi_event_config ath11k_mhi_events_qca6390[] =;

static const struct mhi_controller_config ath11k_mhi_config_qca6390 =;

static const struct mhi_channel_config ath11k_mhi_channels_qcn9074[] =;

static struct mhi_event_config ath11k_mhi_events_qcn9074[] =;

static const struct mhi_controller_config ath11k_mhi_config_qcn9074 =;

void ath11k_mhi_set_mhictrl_reset(struct ath11k_base *ab)
{}

static void ath11k_mhi_reset_txvecdb(struct ath11k_base *ab)
{}

static void ath11k_mhi_reset_txvecstatus(struct ath11k_base *ab)
{}

static void ath11k_mhi_reset_rxvecdb(struct ath11k_base *ab)
{}

static void ath11k_mhi_reset_rxvecstatus(struct ath11k_base *ab)
{}

void ath11k_mhi_clear_vector(struct ath11k_base *ab)
{}

static int ath11k_mhi_get_msi(struct ath11k_pci *ab_pci)
{}

static int ath11k_mhi_op_runtime_get(struct mhi_controller *mhi_cntrl)
{}

static void ath11k_mhi_op_runtime_put(struct mhi_controller *mhi_cntrl)
{}

static char *ath11k_mhi_op_callback_to_str(enum mhi_callback reason)
{
	switch (reason) {
	case MHI_CB_IDLE:
		return "MHI_CB_IDLE";
	case MHI_CB_PENDING_DATA:
		return "MHI_CB_PENDING_DATA";
	case MHI_CB_LPM_ENTER:
		return "MHI_CB_LPM_ENTER";
	case MHI_CB_LPM_EXIT:
		return "MHI_CB_LPM_EXIT";
	case MHI_CB_EE_RDDM:
		return "MHI_CB_EE_RDDM";
	case MHI_CB_EE_MISSION_MODE:
		return "MHI_CB_EE_MISSION_MODE";
	case MHI_CB_SYS_ERROR:
		return "MHI_CB_SYS_ERROR";
	case MHI_CB_FATAL_ERROR:
		return "MHI_CB_FATAL_ERROR";
	case MHI_CB_BW_REQ:
		return "MHI_CB_BW_REQ";
	default:
		return "UNKNOWN";
	}
};

static void ath11k_mhi_op_status_cb(struct mhi_controller *mhi_cntrl,
				    enum mhi_callback cb)
{}

static int ath11k_mhi_op_read_reg(struct mhi_controller *mhi_cntrl,
				  void __iomem *addr,
				  u32 *out)
{}

static void ath11k_mhi_op_write_reg(struct mhi_controller *mhi_cntrl,
				    void __iomem *addr,
				    u32 val)
{}

static int ath11k_mhi_read_addr_from_dt(struct mhi_controller *mhi_ctrl)
{}

int ath11k_mhi_register(struct ath11k_pci *ab_pci)
{}

void ath11k_mhi_unregister(struct ath11k_pci *ab_pci)
{}

int ath11k_mhi_start(struct ath11k_pci *ab_pci)
{}

void ath11k_mhi_stop(struct ath11k_pci *ab_pci, bool is_suspend)
{}

int ath11k_mhi_suspend(struct ath11k_pci *ab_pci)
{}

int ath11k_mhi_resume(struct ath11k_pci *ab_pci)
{}