forked from Minki/linux
01f50d69be
For certain platforms, it is required to start the clocks (mclk/sclk/fs) before the stream start. Example: for few chrome systems, codec needs the mclk/sclk to be enabled early for a successful clock synchronization and for few IVI platforms, clock need to be enabled at boot and should be ON always. Add the required structures and create set_dma_control ipc to enable or disable the clock. To enable sclk without fs, mclk ipc structure is used, else sclkfs ipc structure is used. Clock prepare/unprepare are used to enable/disable the clock as the IPC will be sent in non-atomic context. The clk set_dma_control IPC structures are populated during the set_rate callback and IPC is sent to enable the clock during prepare callback. This patch creates virtual clock driver, which allows the machine driver to use the clock interface to send IPCs to DSP to enable/disable the clocks. Signed-off-by: Sriram Periyasamy <sriramx.periyasamy@intel.com> Signed-off-by: Jaikrishna Nemallapudi <jaikrishnax.nemallapudi@intel.com> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Mark Brown <broonie@kernel.org>
22 lines
591 B
Makefile
22 lines
591 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
snd-soc-skl-objs := skl.o skl-pcm.o skl-nhlt.o skl-messages.o \
|
|
skl-topology.o
|
|
|
|
ifdef CONFIG_DEBUG_FS
|
|
snd-soc-skl-objs += skl-debug.o
|
|
endif
|
|
|
|
obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE) += snd-soc-skl.o
|
|
|
|
# Skylake IPC Support
|
|
snd-soc-skl-ipc-objs := skl-sst-ipc.o skl-sst-dsp.o cnl-sst-dsp.o \
|
|
skl-sst-cldma.o skl-sst.o bxt-sst.o cnl-sst.o \
|
|
skl-sst-utils.o
|
|
|
|
obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE) += snd-soc-skl-ipc.o
|
|
|
|
#Skylake Clock device support
|
|
snd-soc-skl-ssp-clk-objs := skl-ssp-clk.o
|
|
|
|
obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK) += snd-soc-skl-ssp-clk.o
|