[alsa-devel] [PATCH v2 0/7] ASoC: Intel: Skylake: Add a clk driver to enable ssp clks early
Vinod Koul
vinod.koul at intel.com
Mon Oct 9 11:13:42 CEST 2017
On Mon, Sep 18, 2017 at 10:26:43AM +0530, Subhransu S. Prusty wrote:
> For certain platforms clocks (mclk/sclk/fs) are required to be up before
> the stream start. Example: some codecs needs the mclk/sclk/fs to be
> enabled early for a successful clock synchronization. Some patforms
> require clock to be enabled at boot and be always ON
>
> By sending set_dma_control IPC (with the i2s blobs queried from NHLT),
> these clocks can be enabled early after the firmware is downloaded.
>
> With this series, a virtual clock driver is created which provides
> interface to send the required IPCs from machine driver to enable the
> clocks. NHLT is parsed during probe and the clock information is populated.
> The pointer to blob is cached and sent along with the set_dma_control IPC
> structure during the clk prepare/unprepare callback. Clocks are created for
> a ssp if the nhlt table has endpoint configuration for that particular ssp.
> Skylake driver creates a platform driver with the clock information and
> register the clk ops callback.
>
> kabylake machine driver uses the clock interface to enable the clocks early
> as it is required by the rt5663 driver for clock synchronization.
>
> set_dma_control API can be used with different payload configuration.
> Modify the arguments to take configurable parameters.
All:
Acked-By: Vinod Koul <vinod.koul at intel.com>
>
> v1 -> v2
> - Register parent clocks with skylake device.
> With the patch "clk: Add support for runtime PM" soon to be merged
> will help DSP to stay active on call to clock enable.
> Reference: (https://patchwork.kernel.org/patch/9911741/)
>
> - Fix the machine driver to enable clocks early for headphone
> playback path as well to fix a pop noise issue
>
> - Include the eve machine driver changes as well
>
> Harsha Priya (1):
> ASoC: Intel: kbl: Enable mclk and ssp sclk early
>
> Jaikrishna Nemallapudi (5):
> ASoC: Intel: Skylake: Modify skl_dsp_set_dma_control API arguments
> ASoC: Intel: Skylake: Parse nhlt to populate clock information
> ASoC: Intel: Skylake: Prepare DMA control IPC to enable/disable clock
> ASoC: Intel: Skylake: Register clock device and ops
> ASoC: Intel: Skylake: Add ssp clock driver
>
> Naveen M (1):
> ASoC: Intel: eve: Enable mclk and ssp sclk early
>
> sound/soc/intel/Kconfig | 9 +
> sound/soc/intel/boards/kbl_rt5663_max98927.c | 98 ++++++-
> .../soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 97 +++++++
> sound/soc/intel/skylake/Makefile | 5 +
> sound/soc/intel/skylake/skl-i2s.h | 56 ++++
> sound/soc/intel/skylake/skl-messages.c | 109 +++++++-
> sound/soc/intel/skylake/skl-nhlt.c | 148 +++++++++++
> sound/soc/intel/skylake/skl-ssp-clk.c | 288 +++++++++++++++++++++
> sound/soc/intel/skylake/skl-ssp-clk.h | 124 +++++++++
> sound/soc/intel/skylake/skl-topology.h | 4 +-
> sound/soc/intel/skylake/skl.c | 235 +++++++++++++++++
> sound/soc/intel/skylake/skl.h | 12 +
> 12 files changed, 1173 insertions(+), 12 deletions(-)
> create mode 100644 sound/soc/intel/skylake/skl-i2s.h
> create mode 100644 sound/soc/intel/skylake/skl-ssp-clk.c
> create mode 100644 sound/soc/intel/skylake/skl-ssp-clk.h
>
> --
> 1.9.1
>
--
~Vinod
More information about the Alsa-devel
mailing list