20.02.2020 09:34, Sameer Pujar пишет:
ADMAIF is the interface between ADMA and AHUB. Each ADMA channel that sends/receives data to/from AHUB must intreface through an ADMAIF channel. ADMA channel sending data to AHUB pairs with an ADMAIF Tx channel and similarly ADMA channel receiving data from AHUB pairs with an ADMAIF Rx channel. Buffer size is configuranle for each ADMAIF channel, but currently SW uses default values.
This patch registers ADMAIF driver with ASoC framework. The component driver exposes DAPM widgets, routes and kcontrols for the device. The DAI driver exposes ADMAIF interfaces, which can be used to connect different components in the ASoC layer. Makefile and Kconfig support is added to allow to build the driver. The ADMAIF device can be enabled in the DT via "nvidia,tegra210-admaif" compatible binding.
Tegra PCM driver is updated to expose required PCM interfaces and snd_pcm_ops callbacks.
Signed-off-by: Sameer Pujar spujar@nvidia.com
...
+int tegra_pcm_construct(struct snd_soc_component *component,
struct snd_soc_pcm_runtime *rtd);
+void tegra_pcm_destruct(struct snd_soc_component *component,
struct snd_pcm *pcm);
+int tegra_pcm_open(struct snd_soc_component *component,
struct snd_pcm_substream *substream);
+int tegra_pcm_close(struct snd_soc_component *component,
struct snd_pcm_substream *substream);
+int tegra_pcm_hw_params(struct snd_soc_component *component,
struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params);
+int tegra_pcm_hw_free(struct snd_soc_component *component,
struct snd_pcm_substream *substream);
+int tegra_pcm_mmap(struct snd_soc_component *component,
struct snd_pcm_substream *substream,
struct vm_area_struct *vma);
+int tegra_pcm_trigger(struct snd_soc_component *component,
struct snd_pcm_substream *substream, int cmd);
Looks like this function doesn't exist.