aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-05-02ASoC: hdmi-codec: fix spelling mistake "plalform" -> "platform"Colin Ian King1-1/+1
There is a spelling mistake in a dev_err message. Fix it. Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: Intel: select relevant machine drivers for SOFPierre-Louis Bossart1-7/+15
SOF can only support specific machine drivers, handle dependencies Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: Intel: Make sure BDW based machine drivers build for SOFLiam Girdwood2-0/+8
BDW uses hard coded IPC calls to set SSP, not needed in SOF as SSP is configured via topology. Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add Build support for SOF core and Intel driversLiam Girdwood6-0/+410
Build SOF core and Intel-specific drivers. Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: Intel: Kconfig: expose common option between SST and SOF driversPierre-Louis Bossart1-1/+6
Both drivers rely on the same module, expose it for both configurations Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add platform differentiation for APL and CNLLiam Girdwood2-0/+358
Add platform differentiation operations for different Intel HDA DSP platforms. Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: add SKL+ platform DAIsKeyon Jie1-0/+351
Add declarations for DAIs and utilities for link DMA management Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add support for HDAudio codecsPierre-Louis Bossart1-0/+171
Add probe, init and cleanup routines for HDaudio. Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add Intel specific HDA trace operationsLiam Girdwood1-0/+94
Add trace operations for Intel based HDA DSPs Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add Intel specific HDA stream operationsLiam Girdwood1-0/+692
Add support or HDA DSP stream operations for Intel HDA DSPs. Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add hda-bus support and initializationKeyon Jie1-0/+108
Use hdac_io_ops and configure all required spin_locks/mutex to use hdac_hda_ext library. Keep the code conditional so that the HDA link and audio codec support can be removed. Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add Intel specific HDA PCM operationsLiam Girdwood1-0/+240
Add PCM operations for Intel HDA based DSPs. Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add Intel specific HDA firmware loaderLiam Girdwood1-0/+371
Add support for loading DSP firmware on Intel HDA based platforms. Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add PCI device supportLiam Girdwood1-0/+373
Add support for PCI based DSP devices. Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add ACPI device supportLiam Girdwood1-0/+312
Add support ACPI based SOF DSP devices. Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add Intel specific HDA IPC mechanisms.Liam Girdwood1-0/+458
Add HDA specific IPC mechanism for Intel DSP HW. Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add Intel specific HDA DSP HW operationsLiam Girdwood1-0/+455
Add support for various PM and core reset/run state transitions. Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add HDA controller for Intel DSPLiam Girdwood1-0/+181
Support HDA controller operations for DSP and provide space for future DSP HDA FW integration. Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add APL/CNL HW DSP supportLiam Girdwood2-0/+1231
Add SOF hardware DSP support for Intel Apollolake and Cannonlake based devices. Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add legacy IPC supportGuennadi Liakhovetski1-0/+92
Add IPC support required for devices introduced before Skylake (Merrifield, baytrail, CherryTrail, Haswell, Broadwell) Signed-off-by: Guennadi Liakhovetski <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add BDW HW DSP supportLiam Girdwood1-0/+713
Add SOF support for Intel Broadwell based devices. Signed-off-by: Rander Wang <[email protected]> Signed-off-by: Pan Xiuli <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Intel: Add BYT, CHT and BSW DSP HW support.Liam Girdwood2-0/+1057
Add support for the audio DSP hardware found on Intel Baytrail, Cherrytrail and Braswell based devices. Signed-off-by: Rander Wang <[email protected]> Signed-off-by: Pan Xiuli <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add utilsPierre-Louis Bossart1-0/+112
Helpers to set-up back-ends, create platform devices and common IO/block read/write operations Signed-off-by: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add xtensa supportPierre-Louis Bossart4-0/+189
Add common directory for xtensa architecture Signed-off-by: Pan Xiuli <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add Nocodec machine driver supportLiam Girdwood2-0/+115
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: Keyon Jie <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add PM supportLiam Girdwood1-0/+385
Add support for saving and restoring DSP context in D3 to host DDR. The suspend callback includes: suspend all pcm's stream that are running, send CTX_SAVE ipc, drop all ipc's, release trace dma and then power off the DSP. And the resume callback performs the following steps: load FW, run FW, re-initialize trace, restore pipeline, restore the kcontrol values and finally send the ctx restore ipc to the dsp. The streams that are suspended are resumed by the ALSA resume trigger. If the streams are paused during system suspend, they are marked explicitly so they can be restored during PAUSE_RELEASE. Signed-off-by: Ranjani Sridharan <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add userspace ABI supportLiam Girdwood8-0/+721
Add userspace ABI for audio userspace application IO outside of regular ALSA PCM and kcontrols. This is intended to be used to format coefficients and data for custom processing components. Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add firmware loader supportLiam Girdwood1-0/+400
The firmware loader exports APIs that can be called by core to load and process multiple different file formats. Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add DSP HW abstraction operationsLiam Girdwood2-0/+562
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 <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add DSP firmware logger supportLiam Girdwood1-0/+297
This patch adds support for real-time DSP logging (timestamped events and bespoke binary data) for firmware debug. The current solution relies on DMA transfers to system memory that is then accessed by userspace tools such as sof-logger. For Intel platforms, two types of DMAs are currently used (GP-DMA for Baytrail/CherryTrail and HDaudio DMA for SKL+) Due to historical reasons, the driver code follows the DSP firmware conventions and refers to 'traces', but it is currently unrelated to the Linux trace subsystem. Future solutions will include support for more advanced hardware (e.g. MIPI Sys-T), additional formats and the ability to enable/disable specific traces dynamically. Signed-off-by: Pan Xiuli <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add support for loading topologiesLiam Girdwood2-0/+3420
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: Ranjani Sridharan <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add PCM operations supportLiam Girdwood1-0/+719
Add support for exposing PCMs to userspace. PCMs are defined by topology and the operations in this patch map to SOF IPC calls. The .get_module_upon_open field is set to allow for module load/unload tests. There is no risk of the sof-pci/acpi-dev module being removed while the platform components are in use. This may need to be revisited when DT platforms are supported. Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add support for IPC IO between DSP and HostLiam Girdwood9-0/+1782
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: Guennadi Liakhovetski <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add driver debug support.Liam Girdwood1-0/+232
Add debugFS files that can be used to expose DSP memories and and peripherals to userspace to assist with firmware debugging. Since we cannot rely on debugFS, errors are logged but don't stop execution. When a resource cannot be read in D3, it is optionally cached on suspend. Copying memories from IO will increase the suspend latency, this should only used in engineering builds w/ debug options. This part will have to be enhanced when support for D0ix states is provided, currently only D0 and D3 are supported. Signed-off-by: Pan Xiuli <[email protected]> Signed-off-by: Ranjani Sridharan <[email protected]> Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add Sound Open Firmware KControl supportLiam Girdwood1-0/+552
SOF exposes regular ALSA Kcontrols that are defined by topology. This patch converts the Kcontrol IO to DSP IPC. The current implementation is aligned with previous Intel solutions, but is not optimal and can be improved: a) for every get/put the host wakes up the DSP and generates an IPC. The kernel should cache the values and generate an IPC only when strictly necessary. b) the firmware can be implemented to only instantiate the pipelines and related control-related parts that are needed at a given time, and power-gate the relevant SRAM blocks. The development tasks for these two improvements has started, once validated they will be provided in an update. Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-28ASoC: SOF: Add Sound Open Firmware driver coreLiam Girdwood3-0/+1232
The Sound Open Firmware driver core is a generic architecture independent layer that allows SOF to be used on many 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 <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-26ASoC: stm32: sai: simplify dai driver initialisationArnaud Pouliquen1-34/+9
Suppress the useless dynamic allocation of the dai driver structure. Signed-off-by: Arnaud Pouliquen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-26Merge branch 'asoc-5.1' into asoc-5.2Mark Brown14-19/+74
2019-04-26ASoC: simple-card: Read pin switches conf from devicetreePaul Cercueil1-0/+4
When the routing path between a widget (e.g. "Speaker") and the codec goes through an external amplifier, having a pin switch for this widget allows the amplifier to be disabled when the widget is not to be used (e.g. when using headphones). Signed-off-by: Paul Cercueil <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-26ASoC: fsl_sai: Add missing return 0 in remove()Nicolin Chen1-0/+2
Build warning being reported: sound/soc/fsl/fsl_sai.c: In function 'fsl_sai_remove': sound/soc/fsl/fsl_sai.c:921:1: warning: no return statement in function returning non-void [-Wreturn-type] So this patch just adds a "return 0" to fix it. Fixes: 812ad463e089 ("ASoC: fsl_sai: Add support for runtime pm") Reported-by: Stephen Rothwell <[email protected]> Signed-off-by: Nicolin Chen <[email protected]> Reviewed-by: Daniel Baluta <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-26ASoC: simple-card-utils: add asoc_simple_parse_pin_switches()Paul Cercueil2-0/+59
This function is a helper that permits to create pin switch controls for a list of widgets whose names are listed in the PREFIX "pin-switches" devicetree property. Signed-off-by: Paul Cercueil <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-26ASoC: mediatek: btcvsd fix irq maskKaiChieh Chuang1-2/+2
disable = 1 enable = 0 prevent AP wake up, when not AP BTSCO scenario Signed-off-by: KaiChieh Chuang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-25ASoC: Intel: bytcr_rt5651: align quirk override handlingPierre-Louis Bossart1-3/+3
As discussed on alsa-devel, a zero value is useful to get rid of all quirks. Set default to -1 and align types as done in other machine drivers. Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-25ASoC: Intel: bytcr_rt5640: align quirk override handlingPierre-Louis Bossart1-3/+3
As discussed on alsa-devel, a zero value is useful to get rid of all quirks. Set default to -1 and align types as done in other machine drivers. Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-25ASoC: Intel: bytcht_es8316: fix compilation warningPierre-Louis Bossart1-3/+4
Remove warning below, align with other machine drivers. bytcht_es8316.c:508:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] quirk = (int)dmi_id->driver_data; ^ Fixes: a8d218f4fe811 ('ASoC: Intel: bytcht_es8316: Add quirk for the Teclast X98+ II') Signed-off-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-25ASoC: fsl_sai: Add support for runtime pmDaniel Baluta1-5/+17
Basically the same actions as for system PM, so make use of pm_runtime_force_suspend/pm_runtime_force_resume. Signed-off-by: Shengjiu Wang <[email protected]> Signed-off-by: Daniel Baluta <[email protected]> Acked-by: Nicolin Chen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-25ASoC: fsl_sai: Update is_slave_mode with correct valueDaniel Baluta1-0/+2
is_slave_mode defaults to false because sai structure that contains it is kzalloc'ed. Anyhow, if we decide to set the following configuration SAI slave -> SAI master, is_slave_mode will remain set on true although SAI being master it should be set to false. Fix this by updating is_slave_mode for each call of fsl_sai_set_dai_fmt. Signed-off-by: Daniel Baluta <[email protected]> Acked-by: Nicolin Chen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-25ASoC: doc: simple-card: Add pin-switches propertyPaul Cercueil1-0/+2
The simple-audio-card,pin-switches property can contain the list of widget names for which pin switches must be created. Signed-off-by: Paul Cercueil <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-25ASoC: sprd: Add Spreadtrum multi-channel data transfer supportBaolin Wang4-0/+1128
On Spreadtrum platform, the audio subsystem will use the multi-channel data transfer controller to transfer sound stream between audio subsystem and other AP/CP subsystem. It can support 10 DAC channel and 10 ADC channel, and each channel has 512 bytes depth data fifo. Moreover each channel can be used DMA mode or interrupt mode to transfer data. Signed-off-by: Baolin Wang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-25dt-bindings: ASoC: Add Spreadtrum multi-channel data transfer supportBaolin Wang1-0/+19
On Spreadtrum platform, the audio subsystem will use the multi-channel data transfer controller to transfer sound stream between audio subsystem and other AP/CP subsystem. It can support 10 DAC channel and 10 ADC channel, and each channel has 512 bytes depth data fifo. Moreover each channel can be used DMA mode or interrupt mode to transfer data. Signed-off-by: Baolin Wang <[email protected]> Signed-off-by: Mark Brown <[email protected]>