- 08 2月, 2022 2 次提交
-
-
由 Sascha Hauer 提交于
The fsl_sai driver calculates the number of pins used and enables multiple channels if necessary. This means the SAI expects data in one FIFO per pin. The SDMA engine only services a single FIFO, so multi pin support doesn't work at all. This patch enables the software combine mode in chips that support it. With this the SAI presents only a single FIFO to the outside and distributes the data into the different FIFOs internally. Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de> Link: https://lore.kernel.org/r/20220111081518.982437-1-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Daniel Baluta 提交于
Implement snd_compress_ops. There are a lot of similarities with PCM implementation. For now we use sof_ipc_pcm_params to transfer compress parameters to SOF firmware. This will be changed in the future once we either add new compress parameters to SOF or enhance existing sof_ipc_pcm_params structure to support all native compress params. Note that get_caps and get_codec_caps are missing and will be added later. This is because we need to find a way to advertise DSP capabilities depending on supported platforms. Signed-off-by: NDaniel Baluta <daniel.baluta@nxp.com> Link: https://lore.kernel.org/r/20220120143741.492634-1-daniel.baluta@oss.nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 03 2月, 2022 7 次提交
-
-
由 Mark Brown 提交于
Merge series from Samuel Holland <samuel@sholland.org>: This series extends the sun4i-i2s binding and driver to support some newer versions of the hardware. Each instance of the hardwar now has multiple input/output pins, and channels can be muxed between them. Since so far the driver only supports a "default" linear channel map, the driver changes are minimal. Samuel Holland (3): ASoC: dt-bindings: sun4i-i2s: Add compatibles for R329 and D1 ASoC: sun4i-i2s: Update registers for more channels ASoC: sun4i-i2s: Add support for the R329/D1 variant .../sound/allwinner,sun4i-a10-i2s.yaml | 5 ++ sound/soc/sunxi/sun4i-i2s.c | 68 +++++++++++++++---- 2 files changed, 59 insertions(+), 14 deletions(-) -- 2.33.1
-
由 Charles Keepax 提交于
The Madera CODECs use regmap_irq functions but nothing ensures that regmap_irq is built into the kernel. Add dependencies on the ASoC symbols for the relevant MFD component. There is no point in building the ASoC driver if the MFD doesn't support it and the MFD part contains the necessary dependencies to ensure everything is built into the kernel. Reported-by: NMark Brown <broonie@kernel.org> Signed-off-by: NCharles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220203115025.16464-1-ckeepax@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Mark Brown 提交于
midas_wm811 uses gpiolib but relies on the header being implicitly included which can lead to build failures in some configurations, explicitly pull the header in to avoid problems. Signed-off-by: NMark Brown <broonie@kernel.org> Reviewed-by: NKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Link: https://lore.kernel.org/r/20220202191322.3650708-1-broonie@kernel.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Charles Keepax 提交于
When the DMIC_ENA bit is set the analogue inputs are disconnected from the digital core of the chip, in favour of the digital microphones. Currently the driver will always enable DMIC_ENA whilst the GPIOs are configured for the DMIC function, this means the user can't currently use both the analog inputs and the digital inputs in one system. Add an additional DAPM mutex that allows switching between analog and digital inputs into the digital core. Reported-by: NMartin Kepplinger <martin.kepplinger@puri.sm> Signed-off-by: NCharles Keepax <ckeepax@opensource.cirrus.com> Reported-and-tested-by: NMartin Kepplinger <martin.kepplinger@puri.sm> Link: https://lore.kernel.org/r/20220202164545.30457-1-ckeepax@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Samuel Holland 提交于
This adds a new set of quirks to set the right RX channel map. Since that is the only change to the register layout, reuse the H6 regmap config by extending its last register. R329 support is added by its compatible string. D1 uses R329 as its fallback compatible, so no additional code change is needed for it. Signed-off-by: NSamuel Holland <samuel@sholland.org> Acked-by: NMaxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20220203020116.12279-4-samuel@sholland.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Samuel Holland 提交于
H6 expands the number of channels in each direction to 16, so the slot number fields need to be expanded from 3 to 4 bits each. R329/D1 expand that further by allowing each of the 16 slots to map to any of 4 data pins. For TX, the configuration of each pin is independent, so there is a copy of the mapping registers for each pin. For RX, each of the 16 slots can map to only one pin, so the registers were changed to add the pin selection inline with the channel mapping. Signed-off-by: NSamuel Holland <samuel@sholland.org> Acked-by: NMaxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20220203020116.12279-3-samuel@sholland.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Samuel Holland 提交于
R329 contains I2S controllers which are similar to, but are incompatible with, the H6 variant, because they change the layout of the RX channel mapping registers. The D1 contains I2S controllers which appear to be identical to those in the R329. Signed-off-by: NSamuel Holland <samuel@sholland.org> Acked-by: NMaxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20220203020116.12279-2-samuel@sholland.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 31 1月, 2022 1 次提交
-
-
由 Randy Dunlap 提交于
Add a header file that provides the missing function prototypes and macro to fix these build errors (seen on arch/alpha/): ../sound/soc/codecs/max98927.c: In function 'max98927_i2c_probe': ../sound/soc/codecs/max98927.c:902:19: error: implicit declaration of function 'devm_gpiod_get_optional'; did you mean 'devm_regulator_get_optional'? [-Werror=implicit-function-declaration] 902 | = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_HIGH); | ^~~~~~~~~~~~~~~~~~~~~~~ ../sound/soc/codecs/max98927.c:902:63: error: 'GPIOD_OUT_HIGH' undeclared (first use in this function); did you mean 'GPIOF_INIT_HIGH'? 902 | = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_HIGH); | ^~~~~~~~~~~~~~ ../sound/soc/codecs/max98927.c:909:17: error: implicit declaration of function 'gpiod_set_value_cansleep'; did you mean 'gpio_set_value_cansleep'? [-Werror=implicit-function-declaration] 909 | gpiod_set_value_cansleep(max98927->reset_gpio, 0); | ^~~~~~~~~~~~~~~~~~~~~~~~ Fixes: 4d67dc19 ("ASoC: max98927: Handle reset gpio when probing i2c") Signed-off-by: NRandy Dunlap <rdunlap@infradead.org> Reported-by: Nkernel test robot <lkp@intel.com> Cc: Alejandro Tafalla <atafalla@dnyon.com> Cc: Mark Brown <broonie@kernel.org> Cc: Liam Girdwood <lgirdwood@gmail.com> Cc: Takashi Iwai <tiwai@suse.com> Cc: alsa-devel@alsa-project.org Link: https://lore.kernel.org/r/20220129080259.19964-1-rdunlap@infradead.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 29 1月, 2022 4 次提交
-
-
由 Mark Brown 提交于
Merge series from Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>: These changes add PDM and PCI drivers for AMD ACP hardware.
-
由 Mark Brown 提交于
Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>: The series will drop the internal use of 'header' parameter which is always set to hdr->cmd. The other simplification is to use the provided message directly as it is guarantied to be valid throughout the message sending and we can save memory by not allocating a temporary buffer, also saving on needles memcpy() operations.
-
由 Mark Brown 提交于
Merge series from Brian Norris <briannorris@chromium.org>: This series fixes DP/HDMI audio for RK3399 Gru systems. First, there was a regression with the switch to SPDIF. Patch 1 can be taken separately as a regression fix if desired. But it's not quite so useful (at least on Chrome OS systems) without the second part. Second, jack detection was never upstreamed, because the hdmi-codec dependencies were still being worked out when this platform was first supported. base-commit: e783362e
-
由 Uwe Kleine-König 提交于
When disabling a regulator fails while the device goes away, there is little we can do and the machine is probably in enough trouble that any action we'd want to take fails anyhow. The return value used to be passed on in cs42l51_i2c_remove() (i.e. the i2c device remove callback). But the i2c core ignores the error code (apart from emitting a generic warning) and removes the device anyhow. So return 0 unconditionally in cs42l51_i2c_remove(), and instead of returning the error code to the upper layer emit a more helpful warning message. After that nobody is interested any more in the actual error code, so let cs42l51_remove() return void. Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.kernel.org/r/20220110071832.306185-1-u.kleine-koenig@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 28 1月, 2022 17 次提交
-
-
由 Peter Ujfalusi 提交于
The sof_ipc_tx_message does not have support for async operations. There is no need to allocate a buffer and copy each message to it to be sent to the DSP, we can use the passed message data pointer directly. Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: NKai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: NBard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: NDaniel Baluta <daniel.baluta@nxp.com> Reviewed-by: NRander Wang <rander.wang@intel.com> Reviewed-by: NRanjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20220128133620.9411-4-peter.ujfalusi@linux.intel.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Peter Ujfalusi 提交于
The snd_sof_ipc_msg.header is not used by platform code, there is no need to update it and the 'header' parameter for sof_ipc_tx_message_unlocked() can be dropped at the same time. Instead of using the header parameter passed by the caller (which does by setting it to the hdr->cmd) use the hdr->cmd directly when logging. At the same time make sure that there is a message passed to the tx_message function. All instances of the tx_message passes an IPC message, this check is placed to make sure the future users can not introduce bugs. Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: NKai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: NBard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: NDaniel Baluta <daniel.baluta@nxp.com> Reviewed-by: NRander Wang <rander.wang@intel.com> Reviewed-by: NRanjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20220128133620.9411-3-peter.ujfalusi@linux.intel.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Peter Ujfalusi 提交于
Instead of first checking the msg->header (which is the hdr.cmd), use directly the cmd from the message itself. Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: NKai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: NBard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: NDaniel Baluta <daniel.baluta@nxp.com> Reviewed-by: NRander Wang <rander.wang@intel.com> Reviewed-by: NRanjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20220128133620.9411-2-peter.ujfalusi@linux.intel.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Ajit Kumar Pandey 提交于
We have SOF and generic ACP support enabled for Renoir platforms on some machines. Since we have same PCI id used for probing, add check for machine configuration flag to avoid conflict with newer pci drivers. Such machine flag has been initialized via dmi match on few Chrome machines. If no flag is specified probe and register older platform device. Signed-off-by: NAjit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220117115854.455995-7-AjitKumar.Pandey@amd.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Ajit Kumar Pandey 提交于
Add DMIC related dai link for pdm-dmic dai on Renoir platform with generic dmic codec dai. Signed-off-by: NAjit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220117115854.455995-6-AjitKumar.Pandey@amd.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Ajit Kumar Pandey 提交于
ACP hardware has PGFSM control registers that can be configured to power On/Off the ACP IP block. Add acp init()/de_init() callbacks in renoir platform driver probe()/remove() respectively to power on and off ACP IP block on ACP3X device. Signed-off-by: NAjit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220117115854.455995-5-AjitKumar.Pandey@amd.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Ajit Kumar Pandey 提交于
Audio Co-processor or ACP IP block on AMD's SOC is connected via PCI bus interface, hence needs to be register as a PCI device. We have same PCI device ID across multiple SOC's but with different revision id for PCI hw. Add a generic PCI driver module for ACP that registers ACP as a PCI device and also register a platform device based on pci revision id. Any SOC's specific configuration for ACP block will be done in platform driver probe. We have added an initial support for ACP revision id 3 or ACP3X device. Signed-off-by: NAjit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220117115854.455995-4-AjitKumar.Pandey@amd.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Ajit Kumar Pandey 提交于
Renoir ACP IP has a PDM controller block. Add DMIC dai instance in dai_driver struct to enable dmic capture support on Renoir platform. Signed-off-by: NAjit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220117115854.455995-3-AjitKumar.Pandey@amd.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Ajit Kumar Pandey 提交于
Add driver module for PDM controller on ACP IP block. Expose dai ops to configure ACP_WOV_PDM_BLOCK registers on ACP. Such dai ops will be used by platform specific driver module to register dmic related dai with ASoC. Signed-off-by: NAjit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220117115854.455995-2-AjitKumar.Pandey@amd.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Brian Norris 提交于
Now that the cdn-dp driver supports plug-change callbacks, let's wire it up. Signed-off-by: NBrian Norris <briannorris@chromium.org> Reviewed-by: NChen-Yu Tsai <wenst@chromium.org> Link: https://lore.kernel.org/r/20220114150129.v2.3.I3c79b1466c14b02980071221e5b99283cd26ec77@changeidSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Brian Norris 提交于
Some audio servers like to monitor a jack device (perhaps combined with EDID, for audio-presence info) to determine DP/HDMI audio presence. Signed-off-by: NBrian Norris <briannorris@chromium.org> Reviewed-by: NChen-Yu Tsai <wenst@chromium.org> Link: https://lore.kernel.org/r/20220114150129.v2.2.I20d754a1228aa5c51a18c8eb15a2c60dec25b639@changeidSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Mark Brown 提交于
Merge series from Sameer Pujar <spujar@nvidia.com>: This adds APE support on Tegra234 and enables sound card on Jetson AGX Orin platform.
-
由 Peter Ujfalusi 提交于
The first count check and fixup against "buffer - lpos" can be removed as we will do the adjustment later against the "avail" in sof_dfsentry_trace_read() Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: NRanjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20220128120627.18443-1-peter.ujfalusi@linux.intel.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Rob Herring 提交于
There's no need to complicate examples with a platform specific macro. It also complicates example parsing to figure out the number of interrupt cells in examples (based on bracketing). Signed-off-by: NRob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220126231358.1637174-1-robh@kernel.orgSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Ranjani Sridharan 提交于
The limitation to assign a link DMA channel for a BE iff the corresponding host DMA channel is assigned to a connected FE is only applicable if the PROCEN_FMT_QUIRK is set. So, remove it for platforms that do not enable the quirk. Complements: a792bfc1 ("ASoC: SOF: Intel: hda-stream: limit PROCEN workaround") Signed-off-by: NRanjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: NRander Wang <rander.wang@intel.com> Reviewed-by: NKai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: NPeter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20220128130017.28508-1-peter.ujfalusi@linux.intel.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sameer Pujar 提交于
Update binding docs for devices which are part of APE subsystem on Tegra234 chip. Signed-off-by: NSameer Pujar <spujar@nvidia.com> Link: https://lore.kernel.org/r/1643373476-8538-4-git-send-email-spujar@nvidia.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Mohan Kumar 提交于
The register offsets of switches connecting various AHUB internal modules have changed from previous chip. Address this variation by making use of Tegra234 based compatible. Signed-off-by: NMohan Kumar <mkumard@nvidia.com> Signed-off-by: NSameer Pujar <spujar@nvidia.com> Link: https://lore.kernel.org/r/1643373476-8538-2-git-send-email-spujar@nvidia.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 25 1月, 2022 9 次提交
-
-
由 Lad Prabhakar 提交于
Remove SSICR_MST and SSICR_CKDV macros which are defined more than once. Signed-off-by: NLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: NBiju Das <biju.das.jz@bp.renesas.com> Link: https://lore.kernel.org/r/20220125132457.14984-4-prabhakar.mahadev-lad.rj@bp.renesas.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Lad Prabhakar 提交于
A copy of substream pointer is stored in priv structure during rz_ssi_dai_trigger() callback ie in SNDRV_PCM_TRIGGER_START case and the pointer is assigned to NULL in case of SNDRV_PCM_TRIGGER_STOP. The driver used the locks only in rz_ssi_stream_is_valid() and assigned the local substream pointer to NULL in rz_ssi_dai_trigger() callback but never locked it while making a local copy. This patch adds the rz_ssi_set_substream() helper function to set the substream pointer with locks acquired and replaces the instances of setting the local substream pointer with the rz_ssi_set_substream() function. Reported-by: NPavel Machek <pavel@denx.de> Signed-off-by: NLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: NBiju Das <biju.das.jz@bp.renesas.com> Link: https://lore.kernel.org/r/20220125132457.14984-3-prabhakar.mahadev-lad.rj@bp.renesas.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Lad Prabhakar 提交于
Use a do-while loop while reading the samples from RX FIFO. The "done" flag was only changed as an outcome of the last if-statement (last step) in this entire procedure. This patch moves the condition from if statement to while and drops the "done" variable for readability. While at it, also drop the unneeded parentheses around runtime->dma_area. Signed-off-by: NLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Link: https://lore.kernel.org/r/20220125132457.14984-2-prabhakar.mahadev-lad.rj@bp.renesas.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Mark Brown 提交于
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: Add support for platforms without amplifier (headset codec only) and without Intel graphics.
-
由 Mark Brown 提交于
Merge series from Daniel Beer <daniel.beer@igorinstitute.com>: This pair of patches implements support for the TAS5805M class D audio amplifier. This driver, and the example configuration in the device-tree file, were originally based on a 4.19 series kernel and have been modified slightly from the tested version.
-
由 Mark Brown 提交于
Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>: Add system suspend and resume handlers so that the cs42l42 is cleanly put into power-off state during system suspend and the registers are restored in resume.
-
由 Mark Brown 提交于
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: Make sure the device version is taken into account when selecting a machine driver, in addition to device manufacturer and part_id, and simplify code with a macro.
-
由 Mark Brown 提交于
Merge series from Ariel D'Alessandro <ariel.dalessandro@collabora.com>: Sound cards may allow using different main clock inputs. In the generic fsl-asoc-card driver, these values are hardcoded for each specific card configuration. Let's make it more flexible, allowing setting mclk-id from the device-tree node.
-
由 Mark Brown 提交于
Merge series from Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>: Hi All, This patch series does code cleanup and fixes to the rz-ssi driver. Cheers, Prabhakar Lad Prabhakar (5): ASoC: sh: rz-ssi: Drop calling rz_ssi_pio_recv() recursively ASoC: sh: rz-ssi: Make the data structures available before registering the handlers ASoC: sh: rz-ssi: Drop ssi parameter from rz_ssi_stream_init() ASoC: sh: rz-ssi: Make return type of rz_ssi_stream_is_valid() to bool ASoC: sh: rz-ssi: Add functions to get/set substream pointer sound/soc/sh/rz-ssi.c | 147 ++++++++++++++++++++++++------------------ 1 file changed, 86 insertions(+), 61 deletions(-) -- 2.17.1
-