linux/sound/soc
Kai Vehmanen 71cc8abb6e
ASoC: SOF: Intel: hda: allow operation without i915 gfx
Add support to configure the HDA controller with an external HDA
codec even if iDisp codec in i915 is not available.

This can happen for multiple reasons:
 - internal graphics is disabled on the system
 - i915 driver is not enabled in kernel or it fails to init
 - i915 codec reports error in HDA codec probe
 - HDA codec driver probe fails

Address all these scenarios, but keep using the existing topology.
In case failures occur, HDMI PCM nodes are created, but they will
report error if application tries to use them. No ALSA mixer controls
are created. If the external HDA codec init fails as well, SOF probe
will return error as before.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206085
BugLink: https://bugzilla.opensuse.org/show_bug.cgi?id=1163677
BugLink: https://github.com/thesofproject/linux/issues/1658
Link: https://lore.kernel.org/r/20200220171028.22023-3-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-02-20 20:28:45 +00:00
..
adi treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 2019-05-30 11:29:19 -07:00
amd ASoC: amd: Fix simultaneous playback and capture 2020-01-29 17:48:47 +00:00
atmel ASoC: atmel: fix atmel_ssc_set_audio link failure 2020-02-10 11:59:09 +00:00
au1x sound updates for 5.6-rc1 2020-01-28 16:26:57 -08:00
bcm ASoC: bcm: cygnus-ssp: move .suspend/.resume to component 2020-01-21 17:02:56 +00:00
cirrus ASoC: soc-core: remove bus_control 2020-01-21 17:07:08 +00:00
codecs ASoC: rockchip: Make RK3328 GPIO_MUTE control explicit 2020-02-19 17:43:21 +00:00
dwc ASoC: dwc: dwc-i2s: use for_each_pcm_streams() macro 2020-02-18 23:37:09 +00:00
fsl ASoC: fsl: fsl_asrc_dma: use for_each_pcm_streams() macro 2020-02-18 23:37:10 +00:00
generic ASoC: simple-card: Don't create separate link when platform is present 2019-12-10 13:10:40 +00:00
hisilicon treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 2019-06-05 17:37:07 +02:00
img treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
intel ASoC: intel/skl/hda - add no-HDMI cases to generic HDA driver 2020-02-20 20:28:44 +00:00
jz4740 ASoC: jz4740: jz4740-i2s: move .suspend/.resume to component 2020-01-21 17:03:32 +00:00
kirkwood ASoC: kirkwood: Drop superfluous ioctl PCM ops 2019-12-11 15:57:19 +00:00
mediatek ASoC: mediatek: mt8183-da7219-max98357: use for_each_rtd_codec_dai() macro 2020-02-19 17:12:18 +00:00
meson ASoC: meson: add t9015 internal DAC driver 2020-02-19 20:20:07 +00:00
mxs ASoC: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:12:31 +01:00
pxa ASoC: soc-core: remove bus_control 2020-01-21 17:07:08 +00:00
qcom ASoC: qcom: apq8016_sbc: use for_each_rtd_codec_dai() macro 2020-02-19 17:12:16 +00:00
rockchip ASoC: Fixes for v5.4 2019-11-07 13:52:17 +01:00
samsung ASoC: samsung: Update dependencies for Arizona machine drivers 2020-02-20 13:53:46 +00:00
sh ASoC: sh: fsi: Restore devm_ioremap() alignment 2020-02-12 18:42:47 +00:00
sirf ASoC: sirf: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:05:39 +01:00
sof ASoC: SOF: Intel: hda: allow operation without i915 gfx 2020-02-20 20:28:45 +00:00
spear ASoC: spear: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:06:18 +01:00
sprd ASoC: sprd: Drop superfluous ioctl PCM ops 2019-12-11 15:59:40 +00:00
sti ASoC: sti: sti_uniperif: move .suspend/.resume to component 2020-01-21 17:04:37 +00:00
stm ASoC: stm32: i2s: improve error management on probe deferral 2020-02-11 11:24:43 +00:00
sunxi treewide: remove redundant IS_ERR() before error code check 2020-02-04 03:05:27 +00:00
tegra ASoC: tegra: Revert 24 and 32 bit support 2020-02-02 12:07:47 +00:00
ti ASoC: ti: davinci-mcasp: remove redundant assignment to variable ret 2020-02-11 11:47:59 +00:00
txx9 ASoC: soc-core: remove bus_control 2020-01-21 17:07:08 +00:00
uniphier ASoC: uniphier: move .suspend/.resume to component 2020-01-21 17:05:16 +00:00
ux500 ASoC: ux500: ux500_msp_dai: remove unused DAI .suspend/.resume 2020-01-21 17:06:13 +00:00
xilinx ASoC: xilinx: Use managed buffer allocation 2019-12-11 16:43:25 +00:00
xtensa ASoC: xtensa: Use managed buffer allocation 2019-12-11 16:43:26 +00:00
zte sound: Fix Kconfig indentation 2019-10-07 03:53:03 +02:00
Kconfig ASoC: remove w90x900/nuc900 platform drivers 2019-08-12 14:00:29 +01:00
Makefile ASoC: remove w90x900/nuc900 platform drivers 2019-08-12 14:00:29 +01:00
soc-ac97.c
soc-acpi.c
soc-component.c ASoC: soc-pcm: call snd_soc_component_open/close() once 2020-02-12 23:51:36 +00:00
soc-compress.c ASoC: soc-pcm/soc-compress: use snd_soc_dapm_stream_stop() for SND_SOC_DAPM_STREAM_STOP 2020-01-10 13:34:19 +00:00
soc-core.c ASoC: fix card registration regression. 2020-02-19 14:35:15 +00:00
soc-dai.c ASoC: soc-pcm: call snd_soc_dai_startup()/shutdown() once 2020-02-11 15:42:03 +00:00
soc-dapm.c ASoC: dapm: select sleep_state when initializing PINCTRL widget 2020-02-19 16:02:43 +00:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: soc-generic-dmaengine-pcm: use for_each_pcm_streams() macro 2020-02-18 23:37:08 +00:00
soc-io.c
soc-jack.c ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report 2019-11-12 17:12:56 +00:00
soc-ops.c ASoC: soc-ops: use snd_soc_card_get_kcontrol() at snd_soc_limit_volume() 2019-10-03 14:37:20 +01:00
soc-pcm.c ASoC: dpcm: remove confusing trace in dpcm_get_be() 2020-02-20 12:51:20 +00:00
soc-topology.c Merge branch 'asoc-5.6' into asoc-next 2020-01-23 12:36:45 +00:00
soc-utils.c ASoC: utils: Drop superfluous ioctl PCM ops 2019-12-11 16:00:48 +00:00