aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-08-31ASoC: simple-card: support snd_soc_dai_link_component style for codecKuninori Morimoto1-4/+19
Current ASoC is supporting snd_soc_dai_link_component for binding, it is more useful than current legacy style. Currently only codec is supporting it as multicodec (= codecs). CPU will support multi style in the future. We want to have it on Platform too in the future. If all Codec/CPU/Platform are replaced into snd_soc_dai_link_component style, we can remove legacy complex style. This patch supports snd_soc_dai_link_component style for simple-card for codec. [current] struct snd_soc_dai_link { ... *cpu_name; *cpu_of_node; *cpu_dai_name; *codec_name; *codec_of_node; *codec_dai_name; *codecs; num_codecs; *platform_name; *platform_of_node; ... } [in the future] struct snd_soc_dai_link { ... *cpus num_cpus; *codecs; num_codecs; *platform; ... } Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-31ASoC: simple_card_utils: support snd_soc_dai_link_component style for codecKuninori Morimoto2-11/+58
Current ASoC is supporting snd_soc_dai_link_component for binding, it is more useful than current legacy style. Currently only codec is supporting it as multicodec (= codecs). CPU will support multi style in the future. We want to have it on Platform too in the future. If all Codec/CPU/Platform are replaced into snd_soc_dai_link_component style, we can remove legacy complex style. This patch supports snd_soc_dai_link_component style for simple_card_utils for codec. [current] struct snd_soc_dai_link { ... *cpu_name; *cpu_of_node; *cpu_dai_name; *codec_name; *codec_of_node; *codec_dai_name; *codecs; num_codecs; *platform_name; *platform_of_node; ... } [in the future] struct snd_soc_dai_link { ... *cpus num_cpus; *codecs; num_codecs; *platform; ... } Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-31ASoC: cs4265: Add a S/PDIF enable switchMatt Flax1-0/+1
This patch adds a S/PDIF enable switch as a SOC_SINGLE. Signed-off-by: Matt Flax <[email protected]> Reviewed-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-31ASoC: cs4265: Add native 32bit I2S transportMatt Flax1-1/+2
The cs4265 uses 32 bit transport on the I2S bus. This patch enables native 32 bit mode for machine drivers which use this sound card driver. Signed-off-by: Matt Flax <[email protected]> Reviewed-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-31ASoC: cs4265: SOC_SINGLE register value error fixMatt Flax1-2/+1
The cs4265 driver declares the "MMTLR Data Switch" register setting with a 0 register value rather then the 0x12 register (CS4265_SPDIF_CTL2). This incorrect value causes alsamixer to fault with the output : cannot load mixer controls: Input/output error This patch corrects the register value. alsamixer now runs. Signed-off-by: Matt Flax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-31ASoC: codecs: tas5720: add TAS5722 TDM slot width setting supportAndreas Dannenberg1-0/+15
Unlike the TAS5720, the TAS5722 can be configured to utilize 16-bit wide slots in TDM mode. This can help easing audio clocking/frequency requirements. Signed-off-by: Andreas Dannenberg <[email protected]> Signed-off-by: Andrew F. Davis <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-31ASoC: codecs: tas5720: add TAS5722 specific volume controlAndreas Dannenberg1-8/+80
The TAS5722 supports modifying volume in 0.25dB steps (as opposed to 0.5dB steps on the TAS5720). Introduce a custom mixer control that allows taking advantage of this finer output volume granularity. Also add custom getters/setters for access as the TAS5722 digital volume controls are split over two registers. Signed-off-by: Andreas Dannenberg <[email protected]> Signed-off-by: Andrew F. Davis <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-31ASoC: davinci-mcasp: Add support for FIFO usage caused delay reportingPeter Ujfalusi1-0/+37
McASP have write and read FIFO, each 64 words deep. From the WFIFOS/RFIFOS registers we can read the amount of data currently in the FIFO which can be directly reported as delay. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-30Merge tag 'hda-codec-h-move' into asoc-4.20Mark Brown0-0/+0
ALSA: Move hda_codec.h to include/sound For easier sharing with ASoC.
2018-08-30ALSA: hda: move hda_codec.h to include/soundPierre-Louis Bossart25-24/+24
As suggested by Takashi, move this header file to make it easier to include from e.g. the Intel Skylake driver in follow-up patches Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-29ASoC: meson: add axg pdm inputJerome Brunet3-0/+665
Add pdm input driver for the device found on the amlogic AXG SoC family Signed-off-by: Jerome Brunet <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-29ASoC: meson: add axg pdm input DT binding documentationJerome Brunet1-0/+24
Add the DT binding documentation for axg's PDM input Signed-off-by: Jerome Brunet <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-29ASoC: dmic: add DT module aliasJerome Brunet1-0/+1
Before this patch the only alias provided by the dmic module is: alias: platform:dmic-codec Device instantiated from DT will not probe automatically with this After this patch, here is the new alias list: alias: platform:dmic-codec alias: of:N*T*Cdmic-codecC* alias: of:N*T*Cdmic-codec Now the dmic codec probes automatically when instantiated from DT. Signed-off-by: Jerome Brunet <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-29ASoC: dmic: add Kconfig prompt for the generic dmic codec.Jerome Brunet1-1/+5
Add Kconfig prompt for the generic digital mic to make it configurable through menuconfig Signed-off-by: Jerome Brunet <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-29ASoC: adau17x1: Unused exported functions changed to internalRobert Rosengren2-8/+5
adau17x1_setup_firmware and adau17x1_has_dsp is only used internally, so making them static instead of exported. Signed-off-by: Robert Rosengren <[email protected]> Acked-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-29ASoC: pcm3060: Improve legibility of if-statementsKirill Marinushkin1-2/+8
Modified some if-statements to make them more clear Signed-off-by: Kirill Marinushkin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-29ASoC: pcm3060: Improve stylistics of file commentsKirill Marinushkin3-15/+12
Modified the complete file comments in C++ style, to make them look more intentional Signed-off-by: Kirill Marinushkin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: atmel: tse850: switch to SPDX license identifierPeter Rosin1-42/+36
Convert to // comments in the leading comment, drop the boilerplate license text and use the correct MODULE_LICENSE. Signed-off-by: Peter Rosin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: AMD: Change MCLK to 48MhzAkshu Agrawal1-1/+1
25Mhz MCLK which was earlier used was of spread type. Thus, we were not getting accurate rate. The 48Mhz system clk is of non-spread type and we are changing to it to get accurate rate. Signed-off-by: Akshu Agrawal <[email protected]> Reviewed-by: Daniel Kurtz <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: AMD: Set constraints for DMIC and MAX98357a codecAkshu Agrawal1-0/+33
We support dual channel, 48Khz. This constraint was set only for da7219. It is being extended to DMIC and MAX98357a. Signed-off-by: Akshu Agrawal <[email protected]> Reviewed-by: Daniel Kurtz <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: pcm3060: Add codec driverKirill Marinushkin8-0/+546
This commit adds support for TI PCM3060 CODEC. The technical documentation is available at [1]. [1] http://ti.com/product/pcm3060 Signed-off-by: Kirill Marinushkin <[email protected]> Cc: Mark Brown <[email protected]> Cc: Liam Girdwood <[email protected]> Cc: Jaroslav Kysela <[email protected]> Cc: Takashi Iwai <[email protected]> Cc: M R Swami Reddy <[email protected]> Cc: Vishwas A Deshpande <[email protected]> Cc: Kevin Cernekee <[email protected]> Cc: Peter Ujfalusi <[email protected]> Cc: [email protected] Cc: [email protected] Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: rsnd: Add r8a774a1 supportFabrizio Castro1-1/+2
Document RZ/G2M (R8A774A1) SoC bindings. Signed-off-by: Fabrizio Castro <[email protected]> Reviewed-by: Biju Das <[email protected]> Acked-by: Kuninori Morimoto <[email protected]> Reviewed-by: Simon Horman <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: Intel: cht-bsw-rt5672: Add key-mappings for the headset buttonsHans de Goede1-0/+5
Having the headset buttons send BTN_0, BTN_1 and BTN_2 events is not really useful. Add mappings to PLAYPAUSE VOLUME_UP and VOLUME_DOWN like we do in other Intel machine drivers. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: Intel: common: Add quirk for Thinkpad 8 tabletHans de Goede1-0/+7
The Thinkpad 8 tablet uses 10EC5640 as ACPI HID, but it has a rt5670 codec add a quirk for this. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: rt5670: Add quirk for Thinkpad 8 tabletHans de Goede1-0/+12
The Thinkpad 8 needs a quirk for jack-detect and the internal mic to work correctly. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: adau17x1: Implemented safeload supportDanny Smith1-2/+75
Safeload support has been implemented which is used when updating for instance filter parameters using alsa controls. Without safeload support audio can become distorted during update. Signed-off-by: Danny Smith <[email protected]> Signed-off-by: Robert Rosengren <[email protected]> Acked-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: sigmadsp: safeload should not have lower byte limitDanny Smith1-2/+1
Fixed range in safeload conditional to allow safeload to up to 20 bytes, without a lower limit. Signed-off-by: Danny Smith <[email protected]> Acked-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: hdac_hda: add asoc extension for legacy HDA codec driversRakesh Ughreja10-5/+634
This patch adds a kernel module which is used by the legacy HDA codec drivers as library. This implements hdac_ext_bus_ops to enable the reuse of legacy HDA codec drivers with ASoC platform drivers. Signed-off-by: Rakesh Ughreja <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: Intel: Skylake: use hda_bus instead of hdac_busRakesh Ughreja2-5/+16
Use hda_bus instead of hdac_bus in the SKL ASoC platform driver to enable reuse of legacy HDA codec drivers. Signed-off-by: Rakesh Ughreja <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: Intel: Skylake: add HDA BE DAIsRakesh Ughreja1-12/+58
Add support for HDA BE DAIs in SKL platform driver. Signed-off-by: Rakesh Ughreja <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: Intel: Skylake: use HDAudio if ACPI enumeration failsRakesh Ughreja1-5/+33
When no I2S based codec entries are found in the BIOS, check if there are any HDA codecs detected on the bus. Based on the number of codecs found take appropriate action in machine driver. If there are two HDA codecs i.e. iDisp + HDA found on the bus, register DAIs and DAI links for both. If only one codec i.e. iDisp is found then load only iDisp machine driver. Signed-off-by: Rakesh Ughreja <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: Intel: Boards: Machine driver for SKL+ w/ HDAudio codecsRakesh Ughreja6-0/+297
Add machine driver for Intel platforms (SKL/KBL/BXT/APL) with HDA and iDisp codecs. This patch adds support for only iDisp (HDMI/DP) codec. In the following patches support for HDA codecs will be added. This should work for other Intel platforms as well e.g. GLK,CNL however this series is not tested on all the platforms. Signed-off-by: Rakesh Ughreja <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: Intel: common: add table for HDA-based platformsPierre-Louis Bossart3-1/+48
Expose a table containing machine driver information for HDAudio-based platforms handled by ASoC on Intel hardware. We only set constant values that are valid across multiple platforms. The firmware name used by the DSP will be set dynamically for each platform. The table is made of a single entry for now, if we need more complicated set-up where HDAudio is mixed with ACPI-enumerated devices (I2C, SoundWire) then we'd expect the differentiation to be handled through information provided by the BIOS (as done for KBL Chromebooks). Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ALSA: hda: move hda_codec.h to include/soundPierre-Louis Bossart25-24/+24
As suggested by Takashi, move this header file to make it easier to include from e.g. the Intel Skylake driver in follow-up patches Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: wm8804: Add ACPI supportPierre-Louis Bossart1-1/+14
HID made of either Wolfson/CirrusLogic PCI ID + 8804 identifier. This helps enumerate the HifiBerry Digi+ HAT boards on the Up2 platform. The scripts at https://github.com/thesofproject/acpi-scripts can be used to add the ACPI initrd overlays. Signed-off-by: Pierre-Louis Bossart <[email protected]> Acked-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: rt5682: Update calibration functionShuming Fan1-17/+5
New calibration sequence allows rt5682 do calibration without MCLK. Signed-off-by: Shuming Fan <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: rt5682: Change DAC/ADC volume scaleShuming Fan1-4/+4
The step of DAC/ADC volume scale changes from 0.375dB to 0.75dB Signed-off-by: Shuming Fan <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2018-08-28ASoC: max98373: Added 10ms sleep after amp software resetRyan Lee1-0/+2
Signed-off-by: Ryan Lee <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: meson: axg-tdm: restrict formats depending on slot widthJerome Brunet1-21/+29
Restrict the formats possible on the TDM interface depending on the width of the TDM slot and let dpcm merging do the rest. Fixes: d60e4f1e4be5 ("ASoC: meson: add tdm interface driver") Signed-off-by: Jerome Brunet <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: meson: axg-fifo: report interrupt request failureJerome Brunet1-0/+2
Return value of request_irq() was irgnored. Fix this and report the failure if any Fixes: 6dc4fa179fb8 ("ASoC: meson: add axg fifo base driver") Signed-off-by: Jerome Brunet <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: meson: imply clock and reset controllersJerome Brunet1-0/+4
Add audio clock controller and ARB reset controller module implication for the device using them Signed-off-by: Jerome Brunet <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: dpcm: Properly initialise hw->rate_maxCharles Keepax1-1/+1
If the CPU DAI does not initialise rate_max, say if using using KNOT or CONTINUOUS, then the rate_max field will be initialised to 0. A value of zero in the rate_max field of the hardware runtime will cause the sound card to support no sample rates at all. Obviously this is not desired, just a different mechanism is being used to apply the constraints. As such update the setting of rate_max in dpcm_init_runtime_hw to be consistent with the non-DPCM cases and set rate_max to UINT_MAX if nothing is defined on the CPU DAI. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: dapm: Don't fail creating new DAPM control on NULL pinctrlCharles Keepax1-1/+1
devm_pinctrl_get will only return NULL in the case that pinctrl is not built into the kernel and all the pinctrl functions used by the DAPM core are appropriately stubbed for that case. There is no need to error out of snd_soc_dapm_new_control_unlocked if pinctrl isn't built into the kernel, so change the IS_ERR_OR_NULL to just an IS_ERR. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: dapm: Remove clock framework ifdefsCharles Keepax1-6/+1
The clock code now has stub functions defined in its header files so the ifdefs around clocking code should no longer be necessary. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28ASoC: Convert to using %pOFn instead of device_node.nameRob Herring5-9/+8
In preparation to remove the node name pointer from struct device_node, convert printf users to use the %pOFn format specifier. Signed-off-by: Rob Herring <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-08-28Merge tag 'v4.19-rc1' into asoc-4.19Mark Brown11389-213270/+511543
Linux 4.19-rc1
2018-08-26Linux 4.19-rc1Linus Torvalds1-2/+2
2018-08-26Merge branch 'timers-urgent-for-linus' of ↵Linus Torvalds1-0/+15
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer update from Thomas Gleixner: "New defines for the compat time* types so they can be shared between 32bit and 64bit builds. Not used yet, but merging them now allows the actual conversions to be merged through different maintainer trees without dependencies We still have compat interfaces for 32bit on 64bit even with the new 2038 safe timespec/val variants because pointer size is different. And for the old style timespec/val interfaces we need yet another 'compat' interface for both 32bit native and 32bit on 64bit" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: y2038: Provide aliases for compat helpers
2018-08-26Merge branch 'ida-4.19' of git://git.infradead.org/users/willy/linux-daxLinus Torvalds28-679/+485
Pull IDA updates from Matthew Wilcox: "A better IDA API: id = ida_alloc(ida, GFP_xxx); ida_free(ida, id); rather than the cumbersome ida_simple_get(), ida_simple_remove(). The new IDA API is similar to ida_simple_get() but better named. The internal restructuring of the IDA code removes the bitmap preallocation nonsense. I hope the net -200 lines of code is convincing" * 'ida-4.19' of git://git.infradead.org/users/willy/linux-dax: (29 commits) ida: Change ida_get_new_above to return the id ida: Remove old API test_ida: check_ida_destroy and check_ida_alloc test_ida: Convert check_ida_conv to new API test_ida: Move ida_check_max test_ida: Move ida_check_leaf idr-test: Convert ida_check_nomem to new API ida: Start new test_ida module target/iscsi: Allocate session IDs from an IDA iscsi target: fix session creation failure handling drm/vmwgfx: Convert to new IDA API dmaengine: Convert to new IDA API ppc: Convert vas ID allocation to new IDA API media: Convert entity ID allocation to new IDA API ppc: Convert mmu context allocation to new IDA API Convert net_namespace to new IDA API cb710: Convert to new IDA API rsxx: Convert to new IDA API osd: Convert to new IDA API sd: Convert to new IDA API ...
2018-08-26Merge tag 'gcc-plugins-v4.19-rc1-fix' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux Pull gcc plugin fix from Kees Cook: "Lift gcc test into Kconfig. This is for better behavior when the kernel is built with Clang, reported by Stefan Agner" * tag 'gcc-plugins-v4.19-rc1-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: gcc-plugins: Disable when building under Clang