linux/sound/soc/qcom/lpass-platform.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2010-2011,2013-2015 The Linux Foundation. All rights reserved.
 *
 * lpass-platform.c -- ALSA SoC platform driver for QTi LPASS
 */

#include <dt-bindings/sound/qcom,lpass.h>
#include <linux/dma-mapping.h>
#include <linux/export.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <sound/pcm_params.h>
#include <linux/regmap.h>
#include <sound/soc.h>
#include "lpass-lpaif-reg.h"
#include "lpass.h"

#define DRV_NAME

#define LPASS_PLATFORM_BUFFER_SIZE
#define LPASS_PLATFORM_PERIODS
#define LPASS_RXTX_CDC_DMA_LPM_BUFF_SIZE
#define LPASS_VA_CDC_DMA_LPM_BUFF_SIZE
#define LPASS_CDC_DMA_REGISTER_FIELDS_MAX

static const struct snd_pcm_hardware lpass_platform_pcm_hardware =;

static const struct snd_pcm_hardware lpass_platform_rxtx_hardware =;

static const struct snd_pcm_hardware lpass_platform_va_hardware =;

static int lpass_platform_alloc_rxtx_dmactl_fields(struct device *dev,
					 struct regmap *map)
{}

static int lpass_platform_alloc_va_dmactl_fields(struct device *dev,
					 struct regmap *map)
{}


static int lpass_platform_alloc_dmactl_fields(struct device *dev,
					 struct regmap *map)
{}

static int lpass_platform_alloc_hdmidmactl_fields(struct device *dev,
					 struct regmap *map)
{}

static int lpass_platform_pcmops_open(struct snd_soc_component *component,
				      struct snd_pcm_substream *substream)
{}

static int lpass_platform_pcmops_close(struct snd_soc_component *component,
				       struct snd_pcm_substream *substream)
{}

static struct lpaif_dmactl *__lpass_get_dmactl_handle(const struct snd_pcm_substream *substream,
				     struct snd_soc_component *component)
{}

static int __lpass_get_id(const struct snd_pcm_substream *substream,
				     struct snd_soc_component *component)
{}

static struct regmap *__lpass_get_regmap_handle(const struct snd_pcm_substream *substream,
				     struct snd_soc_component *component)
{}

static int lpass_platform_pcmops_hw_params(struct snd_soc_component *component,
					   struct snd_pcm_substream *substream,
					   struct snd_pcm_hw_params *params)
{}

static int lpass_platform_pcmops_hw_free(struct snd_soc_component *component,
					 struct snd_pcm_substream *substream)
{}

static int lpass_platform_pcmops_prepare(struct snd_soc_component *component,
					 struct snd_pcm_substream *substream)
{}

static int lpass_platform_pcmops_trigger(struct snd_soc_component *component,
					 struct snd_pcm_substream *substream,
					 int cmd)
{}

static snd_pcm_uframes_t lpass_platform_pcmops_pointer(
		struct snd_soc_component *component,
		struct snd_pcm_substream *substream)
{}

static int lpass_platform_cdc_dma_mmap(struct snd_pcm_substream *substream,
				       struct vm_area_struct *vma)
{}

static int lpass_platform_pcmops_mmap(struct snd_soc_component *component,
				      struct snd_pcm_substream *substream,
				      struct vm_area_struct *vma)
{}

static irqreturn_t lpass_dma_interrupt_handler(
			struct snd_pcm_substream *substream,
			struct lpass_data *drvdata,
			int chan, u32 interrupts)
{}

static irqreturn_t lpass_platform_lpaif_irq(int irq, void *data)
{}

static irqreturn_t lpass_platform_hdmiif_irq(int irq, void *data)
{}

static irqreturn_t lpass_platform_rxtxif_irq(int irq, void *data)
{}

static irqreturn_t lpass_platform_vaif_irq(int irq, void *data)
{}

static int lpass_platform_prealloc_cdc_dma_buffer(struct snd_soc_component *component,
						  struct snd_pcm *pcm, int dai_id)
{}

static int lpass_platform_pcm_new(struct snd_soc_component *component,
				  struct snd_soc_pcm_runtime *soc_runtime)
{}

static int lpass_platform_pcmops_suspend(struct snd_soc_component *component)
{}

static int lpass_platform_pcmops_resume(struct snd_soc_component *component)
{}

static int lpass_platform_copy(struct snd_soc_component *component,
			       struct snd_pcm_substream *substream, int channel,
			       unsigned long pos, struct iov_iter *buf,
			       unsigned long bytes)
{}

static const struct snd_soc_component_driver lpass_component_driver =;

int asoc_qcom_lpass_platform_register(struct platform_device *pdev)
{}
EXPORT_SYMBOL_GPL();

MODULE_DESCRIPTION();
MODULE_LICENSE();