Skip to content

update#9

Closed
RanderWang wants to merge 75 commits into
thesofproject:topic/sof-devfrom
RanderWang:topic/sof-dev
Closed

update#9
RanderWang wants to merge 75 commits into
thesofproject:topic/sof-devfrom
RanderWang:topic/sof-dev

Conversation

@RanderWang

Copy link
Copy Markdown

No description provided.

lrgirdwo and others added 30 commits June 4, 2018 10:58
…fig.

Machine drivers statically define a number of DAI links that currently
cannot be changed or removed by topology. This means PCMs and platform
components cannot be changed by topology at runtime AND machine drivers
are tightly coupled to topology.

This patch allows topology to override the machine driver DAI link config
in order to reuse machine drivers with different topologies and platform
components. The patch supports :-

1) create new FE PCMs with a topology defined PCM ID.
2) destroy existing static FE PCMs
3) change the platform component driver.
4) assign any new HW params fixups.

The patch requires no changes to the machine drivers, but does add some
platform component flags that the platform component driver can assign
before loading topologies.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
…writes

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Give topology clients more access to the topology data by passing index,
pcm, link_config and dai_driver to clients. This allows clients to fully
instantiate and track topology objects.

The SOF driver is the first user of these new APIs and needs them to build
component topology driver and FW objects.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add a callback fro clients for notification about DAPM route loading and
unloading.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Currently ALSA core blocks userspace for about 10 seconds for PCM R/W IO.
This needs to be configurable for modern hardware like DSPs where no
pointer update in milliseconds can indicate terminal DSP errors.

Add a substream variable to set the wait time in ms. This allows userspace
and drivers to recover more quickly from terminal DSP errors.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Might not be needed.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Align with firmware tools, no functionality change

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
There is no need to deal with DMICs if the DSP is not present and
there is no ACPI machine ID found.

Simplify before moving these ACPI tables to sound/soc/intel/common

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
No functionality change, just move to common tables to make it easier
to deal with SOF and share the same machine drivers - as done
previously for BYT/CHT/HSW/BDW.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
No functionality change for Skylake driver, add relevant names needed
by SOF.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
The Sound Open Firmware driver core is a generic architecture
independent layer that allows SOF to be used on many different different
architectures and platforms. It abstracts DSP operations and IO methods
so that the target DSP can be an internal memory mapped or external SPI
or I2C based device. This abstraction also allows SOF to be run on
many different VMs on the same physical HW.

SOF also requires some data in ASoC PCM runtime data for looking up
SOF data during ASoC PCM operations.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
SOF exposes regular ALSA Kcontrols that are defined by topology. This
patch converts the Kcontrol IO to DSP IPC.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add debugFS files that can be used to expose DSP memories and
and peripherals to userspace to assist with firmware debugging.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Define an IPC ABI for all host <--> DSP communication. This ABI should
be transport agnostic. i.e. it should work on MMIO and SPI/I2C style
interfaces.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add support for exposing PCMs to userspace. PCMs are defined by topology
and the operations in this patch map to SOF IPC calls.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
SOF uses topology to define the DAPM graphs and widgets, DAIs, PCMs and set
parameters for init and run time usage. This patch loads topology and
maps it to IPC commands that are build the topology on the DSP.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add a trace event buffer that can be used by userspace to read DSP runtime
trace events alongside bespoke trace data in realtime for firmware debug.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add operation pointers that can be called by core to control a wide
variety of DSP targets. The DSP HW drivers will fill in these
operations.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
The firmware loader exports APIs that can be called by core to load and
process multiple different file formats.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add support for compressed audio playback/capture in SOF.

TODO: to be completed.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add support for saving and restoring DSP context in D3 to host DDR.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add a simple "fallback" machine driver that can be used to enable SOF
on boards with no codec device. This machine driver can also be forced
for debug/development.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add support for the audio DSP hardware found on Intel Baytrail,
Cherrytrail and Braswell based devices.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add DSP hardware support for Intel Haswell based devices.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add SOF support for Intel Broadwell based devices.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add SOF hardware DSP support for Intel Apollolake and Cannonlake based
devices.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Support HDA controller operations for DSP and provide space for future
DSP HDA FW integration.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add support for various PM and core reset/run state transitions.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add HDA specific IPC mechanism for Intel DSP HW.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add support for loading DSP firmware on Intel HDA based platforms.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants