Loading sound/hda/ext/hdac_ext_controller.c +6 −3 Original line number Diff line number Diff line Loading @@ -254,6 +254,7 @@ EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_link_power_down_all); int snd_hdac_ext_bus_link_get(struct hdac_bus *bus, struct hdac_ext_link *link) { unsigned long codec_mask; int ret = 0; mutex_lock(&bus->lock); Loading @@ -280,9 +281,11 @@ int snd_hdac_ext_bus_link_get(struct hdac_bus *bus, * HDA spec section 4.3 - Codec Discovery */ udelay(521); bus->codec_mask = snd_hdac_chip_readw(bus, STATESTS); dev_dbg(bus->dev, "codec_mask = 0x%lx\n", bus->codec_mask); snd_hdac_chip_writew(bus, STATESTS, bus->codec_mask); codec_mask = snd_hdac_chip_readw(bus, STATESTS); dev_dbg(bus->dev, "codec_mask = 0x%lx\n", codec_mask); snd_hdac_chip_writew(bus, STATESTS, codec_mask); if (!bus->codec_mask) bus->codec_mask = codec_mask; } mutex_unlock(&bus->lock); Loading sound/soc/atmel/Kconfig +2 −2 Original line number Diff line number Diff line Loading @@ -10,11 +10,11 @@ config SND_ATMEL_SOC if SND_ATMEL_SOC config SND_ATMEL_SOC_PDC tristate bool depends on HAS_DMA config SND_ATMEL_SOC_DMA tristate bool select SND_SOC_GENERIC_DMAENGINE_PCM config SND_ATMEL_SOC_SSC Loading sound/soc/atmel/Makefile +8 −2 Original line number Diff line number Diff line Loading @@ -6,8 +6,14 @@ snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o snd-soc-atmel-i2s-objs := atmel-i2s.o snd-soc-mchp-i2s-mcc-objs := mchp-i2s-mcc.o obj-$(CONFIG_SND_ATMEL_SOC_PDC) += snd-soc-atmel-pcm-pdc.o obj-$(CONFIG_SND_ATMEL_SOC_DMA) += snd-soc-atmel-pcm-dma.o # pdc and dma need to both be built-in if any user of # ssc is built-in. ifdef CONFIG_SND_ATMEL_SOC_PDC obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel-pcm-pdc.o endif ifdef CONFIG_SND_ATMEL_SOC_DMA obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel-pcm-dma.o endif obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel_ssc_dai.o obj-$(CONFIG_SND_ATMEL_SOC_I2S) += snd-soc-atmel-i2s.o obj-$(CONFIG_SND_MCHP_SOC_I2S_MCC) += snd-soc-mchp-i2s-mcc.o Loading sound/soc/fsl/fsl_sai.c +17 −5 Original line number Diff line number Diff line Loading @@ -1020,12 +1020,24 @@ static int fsl_sai_probe(struct platform_device *pdev) ret = devm_snd_soc_register_component(&pdev->dev, &fsl_component, &fsl_sai_dai, 1); if (ret) goto err_pm_disable; if (sai->soc_data->use_imx_pcm) { ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE); if (ret) goto err_pm_disable; } else { ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); if (ret) goto err_pm_disable; } return ret; if (sai->soc_data->use_imx_pcm) return imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE); else return devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); err_pm_disable: pm_runtime_disable(&pdev->dev); return ret; } static int fsl_sai_remove(struct platform_device *pdev) Loading sound/soc/sof/intel/hda-codec.c +8 −4 Original line number Diff line number Diff line Loading @@ -174,9 +174,11 @@ void hda_codec_i915_display_power(struct snd_sof_dev *sdev, bool enable) { struct hdac_bus *bus = sof_to_bus(sdev); if (HDA_IDISP_CODEC(bus->codec_mask)) { dev_dbg(bus->dev, "Turning i915 HDAC power %d\n", enable); snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, enable); } } EXPORT_SYMBOL_NS(hda_codec_i915_display_power, SND_SOC_SOF_HDA_AUDIO_CODEC_I915); int hda_codec_i915_init(struct snd_sof_dev *sdev) Loading @@ -189,7 +191,8 @@ int hda_codec_i915_init(struct snd_sof_dev *sdev) if (ret < 0) return ret; hda_codec_i915_display_power(sdev, true); /* codec_mask not yet known, power up for probe */ snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, true); return 0; } Loading @@ -200,7 +203,8 @@ int hda_codec_i915_exit(struct snd_sof_dev *sdev) struct hdac_bus *bus = sof_to_bus(sdev); int ret; hda_codec_i915_display_power(sdev, false); /* power down unconditionally */ snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false); ret = snd_hdac_i915_exit(bus); Loading Loading
sound/hda/ext/hdac_ext_controller.c +6 −3 Original line number Diff line number Diff line Loading @@ -254,6 +254,7 @@ EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_link_power_down_all); int snd_hdac_ext_bus_link_get(struct hdac_bus *bus, struct hdac_ext_link *link) { unsigned long codec_mask; int ret = 0; mutex_lock(&bus->lock); Loading @@ -280,9 +281,11 @@ int snd_hdac_ext_bus_link_get(struct hdac_bus *bus, * HDA spec section 4.3 - Codec Discovery */ udelay(521); bus->codec_mask = snd_hdac_chip_readw(bus, STATESTS); dev_dbg(bus->dev, "codec_mask = 0x%lx\n", bus->codec_mask); snd_hdac_chip_writew(bus, STATESTS, bus->codec_mask); codec_mask = snd_hdac_chip_readw(bus, STATESTS); dev_dbg(bus->dev, "codec_mask = 0x%lx\n", codec_mask); snd_hdac_chip_writew(bus, STATESTS, codec_mask); if (!bus->codec_mask) bus->codec_mask = codec_mask; } mutex_unlock(&bus->lock); Loading
sound/soc/atmel/Kconfig +2 −2 Original line number Diff line number Diff line Loading @@ -10,11 +10,11 @@ config SND_ATMEL_SOC if SND_ATMEL_SOC config SND_ATMEL_SOC_PDC tristate bool depends on HAS_DMA config SND_ATMEL_SOC_DMA tristate bool select SND_SOC_GENERIC_DMAENGINE_PCM config SND_ATMEL_SOC_SSC Loading
sound/soc/atmel/Makefile +8 −2 Original line number Diff line number Diff line Loading @@ -6,8 +6,14 @@ snd-soc-atmel_ssc_dai-objs := atmel_ssc_dai.o snd-soc-atmel-i2s-objs := atmel-i2s.o snd-soc-mchp-i2s-mcc-objs := mchp-i2s-mcc.o obj-$(CONFIG_SND_ATMEL_SOC_PDC) += snd-soc-atmel-pcm-pdc.o obj-$(CONFIG_SND_ATMEL_SOC_DMA) += snd-soc-atmel-pcm-dma.o # pdc and dma need to both be built-in if any user of # ssc is built-in. ifdef CONFIG_SND_ATMEL_SOC_PDC obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel-pcm-pdc.o endif ifdef CONFIG_SND_ATMEL_SOC_DMA obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel-pcm-dma.o endif obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel_ssc_dai.o obj-$(CONFIG_SND_ATMEL_SOC_I2S) += snd-soc-atmel-i2s.o obj-$(CONFIG_SND_MCHP_SOC_I2S_MCC) += snd-soc-mchp-i2s-mcc.o Loading
sound/soc/fsl/fsl_sai.c +17 −5 Original line number Diff line number Diff line Loading @@ -1020,12 +1020,24 @@ static int fsl_sai_probe(struct platform_device *pdev) ret = devm_snd_soc_register_component(&pdev->dev, &fsl_component, &fsl_sai_dai, 1); if (ret) goto err_pm_disable; if (sai->soc_data->use_imx_pcm) { ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE); if (ret) goto err_pm_disable; } else { ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); if (ret) goto err_pm_disable; } return ret; if (sai->soc_data->use_imx_pcm) return imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE); else return devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); err_pm_disable: pm_runtime_disable(&pdev->dev); return ret; } static int fsl_sai_remove(struct platform_device *pdev) Loading
sound/soc/sof/intel/hda-codec.c +8 −4 Original line number Diff line number Diff line Loading @@ -174,9 +174,11 @@ void hda_codec_i915_display_power(struct snd_sof_dev *sdev, bool enable) { struct hdac_bus *bus = sof_to_bus(sdev); if (HDA_IDISP_CODEC(bus->codec_mask)) { dev_dbg(bus->dev, "Turning i915 HDAC power %d\n", enable); snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, enable); } } EXPORT_SYMBOL_NS(hda_codec_i915_display_power, SND_SOC_SOF_HDA_AUDIO_CODEC_I915); int hda_codec_i915_init(struct snd_sof_dev *sdev) Loading @@ -189,7 +191,8 @@ int hda_codec_i915_init(struct snd_sof_dev *sdev) if (ret < 0) return ret; hda_codec_i915_display_power(sdev, true); /* codec_mask not yet known, power up for probe */ snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, true); return 0; } Loading @@ -200,7 +203,8 @@ int hda_codec_i915_exit(struct snd_sof_dev *sdev) struct hdac_bus *bus = sof_to_bus(sdev); int ret; hda_codec_i915_display_power(sdev, false); /* power down unconditionally */ snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false); ret = snd_hdac_i915_exit(bus); Loading