linux/sound/soc/qcom/qdsp6/q6prm.c

// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2021, Linaro Limited

#include <linux/slab.h>
#include <linux/wait.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/delay.h>
#include <linux/of_platform.h>
#include <linux/jiffies.h>
#include <linux/soc/qcom/apr.h>
#include <dt-bindings/soc/qcom,gpr.h>
#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
#include "q6apm.h"
#include "q6prm.h"
#include "audioreach.h"

struct q6prm {};

#define PRM_CMD_REQUEST_HW_RSC
#define PRM_CMD_RSP_REQUEST_HW_RSC
#define PRM_CMD_RELEASE_HW_RSC
#define PRM_CMD_RSP_RELEASE_HW_RSC
#define PARAM_ID_RSC_HW_CORE
#define PARAM_ID_RSC_LPASS_CORE
#define PARAM_ID_RSC_AUDIO_HW_CLK

struct prm_cmd_request_hw_core {} __packed;

struct prm_cmd_request_rsc {} __packed;

struct prm_cmd_release_rsc {} __packed;

static int q6prm_send_cmd_sync(struct q6prm *prm, struct gpr_pkt *pkt, uint32_t rsp_opcode)
{}

static int q6prm_set_hw_core_req(struct device *dev, uint32_t hw_block_id, bool enable)
{}

int q6prm_vote_lpass_core_hw(struct device *dev, uint32_t hw_block_id,
			     const char *client_name, uint32_t *client_handle)
{}
EXPORT_SYMBOL_GPL();

int q6prm_unvote_lpass_core_hw(struct device *dev, uint32_t hw_block_id, uint32_t client_handle)
{}
EXPORT_SYMBOL_GPL();

static int q6prm_request_lpass_clock(struct device *dev, int clk_id, int clk_attr, int clk_root,
				     unsigned int freq)
{}

static int q6prm_release_lpass_clock(struct device *dev, int clk_id, int clk_attr, int clk_root,
			  unsigned int freq)
{}

int q6prm_set_lpass_clock(struct device *dev, int clk_id, int clk_attr, int clk_root,
			  unsigned int freq)
{}
EXPORT_SYMBOL_GPL();

static int prm_callback(struct gpr_resp_pkt *data, void *priv, int op)
{}

static int prm_probe(gpr_device_t *gdev)
{}

#ifdef CONFIG_OF
static const struct of_device_id prm_device_id[]  =;
MODULE_DEVICE_TABLE(of, prm_device_id);
#endif

static gpr_driver_t prm_driver =;

module_gpr_driver();
MODULE_DESCRIPTION();
MODULE_LICENSE();