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

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

#include <linux/elf.h>

#include "qmi.h"
#include "core.h"
#include "debug.h"
#include "hif.h"
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/ioport.h>
#include <linux/firmware.h>
#include <linux/of_irq.h>

#define SLEEP_CLOCK_SELECT_INTERNAL_BIT
#define HOST_CSTATE_BIT
#define PLATFORM_CAP_PCIE_GLOBAL_RESET
#define PLATFORM_CAP_PCIE_PME_D3COLD

#define FW_BUILD_ID_MASK

bool ath11k_cold_boot_cal =;
EXPORT_SYMBOL();
module_param_named(cold_boot_cal, ath11k_cold_boot_cal, bool, 0644);
MODULE_PARM_DESC();

static const struct qmi_elem_info qmi_wlanfw_host_cap_req_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_host_cap_resp_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_ind_register_req_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_ind_register_resp_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_mem_cfg_s_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_mem_seg_s_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_request_mem_ind_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_mem_seg_resp_s_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_respond_mem_req_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_respond_mem_resp_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_cap_req_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_device_info_req_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlfw_device_info_resp_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_rf_chip_info_s_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_rf_board_info_s_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_soc_info_s_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_fw_version_info_s_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_cap_resp_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_bdf_download_req_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_bdf_download_resp_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_m3_info_req_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_m3_info_resp_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_ce_tgt_pipe_cfg_s_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_ce_svc_pipe_cfg_s_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_shadow_reg_cfg_s_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_shadow_reg_v2_cfg_s_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_wlan_mode_req_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_wlan_mode_resp_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_wlan_cfg_req_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_wlan_cfg_resp_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_mem_ready_ind_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_fw_ready_ind_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_cold_boot_cal_done_ind_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_wlan_ini_req_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlanfw_wlan_ini_resp_msg_v01_ei[] =;

static const struct qmi_elem_info qmi_wlfw_fw_init_done_ind_msg_v01_ei[] =;

static int ath11k_qmi_host_cap_send(struct ath11k_base *ab)
{}

static int ath11k_qmi_fw_ind_register_send(struct ath11k_base *ab)
{}

static int ath11k_qmi_respond_fw_mem_request(struct ath11k_base *ab)
{}

static void ath11k_qmi_free_target_mem_chunk(struct ath11k_base *ab)
{}

static int ath11k_qmi_alloc_target_mem_chunk(struct ath11k_base *ab)
{}

static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
{}

static int ath11k_qmi_request_device_info(struct ath11k_base *ab)
{}

static int ath11k_qmi_request_target_cap(struct ath11k_base *ab)
{}

static int ath11k_qmi_load_file_target_mem(struct ath11k_base *ab,
					   const u8 *data, u32 len, u8 type)
{}

static int ath11k_qmi_load_bdf_qmi(struct ath11k_base *ab,
				   bool regdb)
{}

static int ath11k_qmi_m3_load(struct ath11k_base *ab)
{}

static void ath11k_qmi_m3_free(struct ath11k_base *ab)
{}

static int ath11k_qmi_wlanfw_m3_info_send(struct ath11k_base *ab)
{}

static int ath11k_qmi_wlanfw_mode_send(struct ath11k_base *ab,
				       u32 mode)
{}

static int ath11k_qmi_wlanfw_wlan_cfg_send(struct ath11k_base *ab)
{}

static int ath11k_qmi_wlanfw_wlan_ini_send(struct ath11k_base *ab, bool enable)
{}

void ath11k_qmi_firmware_stop(struct ath11k_base *ab)
{}

int ath11k_qmi_firmware_start(struct ath11k_base *ab,
			      u32 mode)
{}

int ath11k_qmi_fwreset_from_cold_boot(struct ath11k_base *ab)
{}
EXPORT_SYMBOL();

static int ath11k_qmi_process_coldboot_calibration(struct ath11k_base *ab)
{}

static int
ath11k_qmi_driver_event_post(struct ath11k_qmi *qmi,
			     enum ath11k_qmi_event_type type,
			     void *data)
{}

static int ath11k_qmi_event_mem_request(struct ath11k_qmi *qmi)
{}

static int ath11k_qmi_event_load_bdf(struct ath11k_qmi *qmi)
{}

static int ath11k_qmi_event_server_arrive(struct ath11k_qmi *qmi)
{}

static void ath11k_qmi_msg_mem_request_cb(struct qmi_handle *qmi_hdl,
					  struct sockaddr_qrtr *sq,
					  struct qmi_txn *txn,
					  const void *data)
{}

static void ath11k_qmi_msg_mem_ready_cb(struct qmi_handle *qmi_hdl,
					struct sockaddr_qrtr *sq,
					struct qmi_txn *txn,
					const void *decoded)
{}

static void ath11k_qmi_msg_fw_ready_cb(struct qmi_handle *qmi_hdl,
				       struct sockaddr_qrtr *sq,
				       struct qmi_txn *txn,
				       const void *decoded)
{}

static void ath11k_qmi_msg_cold_boot_cal_done_cb(struct qmi_handle *qmi_hdl,
						 struct sockaddr_qrtr *sq,
						 struct qmi_txn *txn,
						 const void *decoded)
{}

static void ath11k_qmi_msg_fw_init_done_cb(struct qmi_handle *qmi_hdl,
					   struct sockaddr_qrtr *sq,
					   struct qmi_txn *txn,
					   const void *decoded)
{}

static const struct qmi_msg_handler ath11k_qmi_msg_handlers[] =;

static int ath11k_qmi_ops_new_server(struct qmi_handle *qmi_hdl,
				     struct qmi_service *service)
{}

static void ath11k_qmi_ops_del_server(struct qmi_handle *qmi_hdl,
				      struct qmi_service *service)
{}

static const struct qmi_ops ath11k_qmi_ops =;

static void ath11k_qmi_driver_event_work(struct work_struct *work)
{}

int ath11k_qmi_init_service(struct ath11k_base *ab)
{}

void ath11k_qmi_deinit_service(struct ath11k_base *ab)
{}
EXPORT_SYMBOL();

void ath11k_qmi_free_resource(struct ath11k_base *ab)
{}