Commit Graph

50672 Commits

Author SHA1 Message Date
Shengjiu Wang
eb9012764a ASoC: dmic: Add DSD big endian format support
Add DSD big endian format support in this generic dmic driver:
DSD_U16_BE and DSD_U32_BE.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://patch.msgid.link/20250205062444.1694810-1-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-02-12 09:58:31 +08:00
Shengjiu Wang
561c52ef15 ASoC: fsl_micfil: Add decimation filter bypass mode support
When decimation filter bypass mode is enabled, PDM data can be
written into FIFO directly without any processing.

The interface of this mode is DSD big endian format, when
user needs this format, then this mode is enabled.

This mode is only for the i.MX943 platform currently.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://patch.msgid.link/20250206030306.2618620-1-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-02-12 09:58:31 +08:00
Shengjiu Wang
a84338bfbf ASoC: fsl_micfil: Add i.MX943 platform support
On i.MX943, the FIFO data address is changed to 0x20~0x3c,
compared to previous version, there is a minus 4 offset,
so add a new regmap configuration for it.
And the bit width of CICOSR is changed to 5 bits, from bit
16th to 20th in REG_MICFIL_CTRL2 register, so update its
definition header file.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://patch.msgid.link/20250114102720.3664667-2-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-02-11 20:06:55 +08:00
Mark Brown
63b8184019 ASoC: fsl: Use maple tree register cache
Several of the NXP drivers use regmaps with a rbtree register cache. Since
the maple tree cache is using a generally more modern data structure which
makes implementation choices more suitable for modern systems let's convert
these drivers to it. This should have no practical impact.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://patch.msgid.link/20240924-asoc-imx-maple-v1-1-8b993901f71e@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-02-11 20:06:55 +08:00
Chancel Liu
828e930fe2 ASoC: fsl_micfil: Switch to common sample rate constraint function
fsl_asoc_constrain_rates() is a common function to constrain rates.
Let's switch to this function.

Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
Link: https://patch.msgid.link/20241126115440.3929061-3-chancel.liu@nxp.com
Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-02-11 20:06:55 +08:00
Chancel Liu
4e2432e23b ASoC: fsl_utils: Add function to constrain rates
Platforms like i.MX93/91 only have one audio PLL. Some sample rates are
not supported. Add common function to constrain rates according to
different clock sources.

Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
Link: https://patch.msgid.link/20241126115440.3929061-2-chancel.liu@nxp.com
Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-02-11 20:06:55 +08:00
Shengjiu Wang
5cb1a6fcbc ASoC: fsl_mqs: Add i.MX943 platform support
There are two MQS instances on the i.MX943 platform.
The definition of bit positions in the control register are
different. In order to support these MQS modules, define
two compatible strings to distinguish them.

On i.MX943 one instance is in Always-on mix, another is in
Wakeup-mix.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Link: https://patch.msgid.link/20250113090321.3193464-2-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-02-11 20:06:55 +08:00
Shengjiu Wang
3dfcc9024e LF-14500: ASoC: cs42xx8: Don't reset codec at runtime suspend
On the i.MX8QM MEK board, this codec is accessed by i2c over rpmsg.

If the codec is in reset state, the i2c access will fail.
but the protocol of i2c over rpmsg doesn't handle such failure properly.

i2c-rpmsg virtio2.rpmsg-i2c-channel.-1.1: rpmsg_xfer failed: timeout
i2c-rpmsg virtio2.rpmsg-i2c-channel.-1.1: rpmsg_xfer failed: timeout
i2c-rpmsg virtio2.rpmsg-i2c-channel.-1.1: rpmsg_xfer failed: timeout

The above failure can't be recovered. so the optional solution is
not to reset codec at runtime suspend.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Acked-by: Jason Liu <jason.hui.liu@nxp.com>
2025-01-24 17:49:48 +08:00
Shengjiu Wang
90d9355d9d ASoC: fsl_asrc_m2m: only handle pairs for m2m in the suspend
ASRC memory to memory cases and memory to peripheral cases are
sharing the same pair pools, the pairs got for m2m suspend
function may be used for memory to peripheral, which is handled
memory to peripheral driver and can't be handled in
memory to memory suspend function.

Use the "pair->dma_buffer" as a flag for memory to memory case,
when it is allocated, handle the suspend operation for the related
pairs.

Fixes: 24a01710f627 ("ASoC: fsl_asrc_m2m: Add memory to memory function")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Link: https://patch.msgid.link/20250120081938.2501554-2-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Acked-by: Jason Liu <jason.hui.liu@nxp.com>
2025-01-21 12:06:57 +08:00
Shengjiu Wang
c3932bc70f LF-14230-8: ASoC: fsl_asrc_m2m: return error value in asrc_m2m_device_run()
The error need to return to user, that user can handle
error case properly.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Chancel Liu <chancel.liu@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2024-12-18 09:44:16 +08:00
Shengjiu Wang
40dd98a536 ASoC: fsl_easrc: register m2m platform device
Register m2m platform device,that user can
use M2M feature.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Jaroslav Kysela <perex@perex.cz>
Link: https://patch.msgid.link/20241212074509.3445859-7-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-12-18 09:44:16 +08:00
Shengjiu Wang
c37f754395 ASoC: fsl_asrc: register m2m platform device
Register m2m platform device, that user can
use M2M feature.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Jaroslav Kysela <perex@perex.cz>
Link: https://patch.msgid.link/20241212074509.3445859-6-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-12-18 09:44:16 +08:00
Shengjiu Wang
aaa885d1fa ASoC: fsl_asrc_m2m: Add memory to memory function
Implement the ASRC memory to memory function using
the compress framework, user can use this function with
compress ioctl interface.

This feature can be shared by ASRC and EASRC drivers

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Jaroslav Kysela <perex@perex.cz>
Link: https://patch.msgid.link/20241212074509.3445859-5-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-12-18 09:44:15 +08:00
Shengjiu Wang
4c7c80d746 ASoC: fsl_easrc: define functions for memory to memory usage
ASRC can be used on memory to memory case, define several
functions for m2m usage and export them as function pointer.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Jaroslav Kysela <perex@perex.cz>
Link: https://patch.msgid.link/20241212074509.3445859-4-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-12-18 09:44:15 +08:00
Shengjiu Wang
3078e0a8ce ASoC: fsl_asrc: define functions for memory to memory usage
ASRC can be used on memory to memory case, define several
functions for m2m usage.

m2m_prepare: prepare for the start step
m2m_start: the start step
m2m_unprepare: unprepare for stop step, optional
m2m_stop: stop step
m2m_check_format: check format is supported or not
m2m_calc_out_len: calculate output length according to input length
m2m_get_maxburst: burst size for dma
m2m_pair_suspend: suspend function of pair, optional.
m2m_pair_resume: resume function of pair
get_output_fifo_size: get remaining data size in FIFO

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Jaroslav Kysela <perex@perex.cz>
Link: https://patch.msgid.link/20241212074509.3445859-3-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-12-18 09:44:15 +08:00
Jaroslav Kysela
8dedc46333 ALSA: compress_offload: introduce accel operation mode
There is a requirement to expose the audio hardware that accelerates various
tasks for user space such as sample rate converters, compressed
stream decoders, etc.

This is description for the API extension for the compress ALSA API which
is able to handle "tasks" that are not bound to real-time operations
and allows for the serialization of operations.

For details, refer to "compress-accel.rst" document.

Cc: Mark Brown <broonie@kernel.org>
Cc: Shengjiu Wang <shengjiu.wang@gmail.com>
Cc: Nicolas Dufresne <nicolas@ndufresne.ca>
Cc: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
Cc: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Tested-by: Shengjiu Wang <shengjiu.wang@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20241002093904.1809799-1-perex@perex.cz
2024-12-18 09:44:15 +08:00
Shengjiu Wang
125a9cd4f0 LF-14230-7: Revert "MLK-11398: ASoC: fsl_asrc: Add Memory to Memory support"
Switch to compress API for asrc m2m

This reverts commit 209758ac02.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Chancel Liu <chancel.liu@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2024-12-18 09:44:15 +08:00
Shengjiu Wang
2e33f70084 LF-14230-6: Revert "MLK-11429-16: ASoC: fsl_asrc: Add delay after enabling ASRC p2p"
Switch to compress API for asrc m2m

This reverts commit 6fc53277e9.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Chancel Liu <chancel.liu@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2024-12-18 09:44:15 +08:00
Shengjiu Wang
7c476b9aca LF-14230-5: Revert "MLK-13945-3: ASoC: fsl_asrc: support two asrc devices"
Switch to compress API for asrc m2m

This reverts commit 51257a7c74.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Chancel Liu <chancel.liu@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2024-12-18 09:44:15 +08:00
Shengjiu Wang
75ea62b41a LF-14230-4: Revert "MLK-21940-4: ASoC: fsl_easrc: Support the m2m function"
Switch to compress API for asrc m2m

This reverts commit aa9077c1e7.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Chancel Liu <chancel.liu@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2024-12-18 09:44:15 +08:00
Shengjiu Wang
c9ef4b5549 LF-14230-3: Revert "LF-8429: ASoC: fsl_asrc_m2m: Fix dma_len calculate"
Switch to compress API for asrc m2m

This reverts commit 2b60cc57dc.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Chancel Liu <chancel.liu@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2024-12-18 09:44:15 +08:00
Shengjiu Wang
91936308e5 LF-14230-2: Revert "LF-13931: ASoC: fsl_asrc_m2m: Remove signal handler"
Switch to compress API for asrc m2m

This reverts commit bba0c45e92.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Chancel Liu <chancel.liu@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2024-12-18 09:44:15 +08:00
Shengjiu Wang
5d26bc3314 LF-14230-1: Revert "LF-12482: ASoC: fsl_asrc_m2m: Add flags for kzalloc"
Switch to compress API for asrc m2m.

This reverts commit 0d36de43ce.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Chancel Liu <chancel.liu@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2024-12-18 09:44:15 +08:00
Shengjiu Wang
d5c10a9ca3 ASoC: fsl_spdif: change IFACE_PCM to IFACE_MIXER
As the snd_soc_card_get_kcontrol() is updated to use
snd_ctl_find_id_mixer() in
commit 897cc72b08 ("ASoC: soc-card: Use
snd_ctl_find_id_mixer() instead of open-coding")
which make the iface fix to be IFACE_MIXER.

Fixes: 897cc72b08 ("ASoC: soc-card: Use snd_ctl_find_id_mixer() instead of open-coding")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://patch.msgid.link/20241126053254.3657344-3-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-12-13 10:35:10 +08:00
Shengjiu Wang
29e13a86e6 ASoC: fsl_xcvr: change IFACE_PCM to IFACE_MIXER
As the snd_soc_card_get_kcontrol() is updated to use
snd_ctl_find_id_mixer() in
commit 897cc72b08 ("ASoC: soc-card: Use
snd_ctl_find_id_mixer() instead of open-coding")
which make the iface fix to be IFACE_MIXER.

Fixes: 897cc72b08 ("ASoC: soc-card: Use snd_ctl_find_id_mixer() instead of open-coding")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://patch.msgid.link/20241126053254.3657344-2-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-12-13 10:35:10 +08:00
Iuliana Prodan
95f7780a04 LF-13921: ASoC: SOF: imx8m: Add entry for new 8M Plus revision
The new revision for 8M Plus has wm8962 codec instead of wm8960.
Therefore add new entry in sof_imx8mp_machs, an arry of snd_sof_of_mach,
where we describe topology name and driver name.
For the new revision we have new compatible value and based on this,
we select the new topology file, for wm8962 codec.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Reviewed-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-12-12 15:31:35 +02:00
Iuliana Prodan
b8a2509682 LF-13921: ASoC: SOF: imx8: Add entries for new 8QM and 8QXP revisions
The new revisions for 8QM and 8QXP have wm8962 codec instead of wm8960.
Therefore add new entries in sof_imx8_machs, an arry of snd_sof_of_mach,
where we describe topology name and driver name.
For the new revisions we have new compatible values and based on these,
we select the new topology file, for wm8962 codec.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Reviewed-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-12-12 15:31:29 +02:00
Shengjiu Wang
0d36de43ce LF-12482: ASoC: fsl_asrc_m2m: Add flags for kzalloc
As the kzalloc may fail when there is a no memory
available which caused by memory fragmentation.

asrc_testapp: page allocation failure: order:6, mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null)
CPU: 0 UID: 0 PID: 28160 Comm: asrc_testapp Not tainted 6.12.0-06250-g82a48d47f190 #1154
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
Call trace:
 unwind_backtrace from show_stack+0x10/0x14
 show_stack from dump_stack_lvl+0x54/0x68
 dump_stack_lvl from warn_alloc+0xdc/0x170
 warn_alloc from __alloc_pages_noprof+0x830/0xc80
 __alloc_pages_noprof from ___kmalloc_large_node+0x6c/0x108
 ___kmalloc_large_node from __kmalloc_noprof+0x210/0x328
 __kmalloc_noprof from fsl_asrc_ioctl+0xba8/0x1164
 fsl_asrc_ioctl from sys_ioctl+0x264/0xcec
 sys_ioctl from ret_fast_syscall+0x0/0x54

Add __GFP_RETRY_MAYFAIL flag for kernel to reclaim
the memory and retry.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Chancel Liu <chancel.liu@nxp.com>
2024-12-11 14:34:46 +08:00
Jason Liu
e5260cd457 This is the 6.12.2 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmdRpN0ACgkQONu9yGCS
 aT4gGQ//aGtoYKT8ddzsgUEDMiQIYtC28ysvD5MTEq/zZdbOEcSA8uvrlhVJ43i0
 3MK71u307hrmLpd7c4kUuxi5ljLHJysYAAWSo3qEF+MWitdZ/1gEKKai01ZVNbrb
 Zrglwexn4vMkRrXdAzKrM0QJza0LZOASKjFveLOH+UstqeL/PPF2m+9Z4zBdEo4D
 fEPRHlCD1uvxg7X8y6Cb9A/nfyADhOl4CTSQwOy1z2y1YUZGI4uOhDooyj4D+mVO
 vA9g1MQmeQIgwJIXhTkplN/tWPileAszSR1I/Iu/wRy9hrEaB4O+mmBgXXKUpSVS
 2fZawQxCW4x2GzVp93C2HwmWa3Zjs+fpKL0RB7kh/C0MVi6JGH47IMo3aDxGdvdW
 HdKDVTPx4R7Df38KbLh8xaySlnWdkzaEoFmUc21PkBFYkJUAVBCedAj2oymk/+u3
 9hpcPLESzwVusrKcI3OPXHOrj8Oa5f6vhaG85pdd6H7v7BWPR+RXj5O7lpXZY/wU
 rBnnaXA0xBOqgeW59XOK2x6NJCWYawyIZI/lJJPTxOdiWjumTfI1sAvV3jEMjEIt
 Vskx9axwYZr0Yl3pEMKYCfUzCgJW2yN8d1smRrJgpO5YwM8PKPghYw5NdRMwPbWv
 0EZR5YSW9izA2q/lX2H31adU2srDYGxSN2JGHY0olr/5Anu5UFA=
 =N1Cq
 -----END PGP SIGNATURE-----

Merge tag 'v6.12.2' into lf-6.12.y-latest

This is the 6.12.2 stable release

* tag 'v6.12.2': (819 commits)
  Linux 6.12.2
  block: don't verify IO lock for freeze/unfreeze in elevator_init_mq()
  block: always verify unfreeze lock on the owner task
  ...

Signed-off-by: Jason Liu <jason.hui.liu@nxp.com>

 Conflicts:
	drivers/clk/imx/clk-fracn-gppll.c
	drivers/clk/imx/clk-lpcg-scu.c
	drivers/edac/fsl_ddr_edac.c
	drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
	drivers/pwm/pwm-imx27.c
	drivers/usb/host/xhci.h
2024-12-06 19:43:50 +08:00
Dong Aisheng
818f3ba437 drivers: make all local platform_driver::remove() return void
0edb555a65 ("platform: Make platform_driver::remove() return void")

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2024-12-06 18:24:07 +08:00
Dong Aisheng
5d72a6d9c9 Merge remote-tracking branch 'origin/audio/ssi' into audio/next
* origin/audio/ssi:
  LF-106: ASoC: fsl_ssi: request BUS_FREQ_AUDIO
2024-12-06 18:18:53 +08:00
Dong Aisheng
2c84474db1 Merge remote-tracking branch 'origin/audio/spdif' into audio/next
* origin/audio/spdif:
  LF-106: ASoC: fsl_spdif: request BUS_FREQ_HIGH
2024-12-06 18:18:53 +08:00
Dong Aisheng
f4bb2a1655 Merge remote-tracking branch 'origin/audio/sof' into audio/next
* origin/audio/sof: (6 commits)
  LF-13863: ASoC: sof: imx95: request/release mbox channels during suspend/resume
  LF-13583: ASoC: SOF: imx: add driver for imx95
  LF-11561-3 ASoC: SOF: imx: Add mach entry to select cs42888 topology
  LF-7679 ASoC: SOF: compress: Use sof_compr_stream for cstream private data
  LF-4738 ASoC: soc-core: filter use of 'ignore_machine' field
  ...
2024-12-06 18:18:52 +08:00
Dong Aisheng
943e8c1c1c Merge remote-tracking branch 'origin/audio/sai' into audio/next
* origin/audio/sai:
  MLK-25954: ASoC: fsl_sai: Add rate constraint
  MLK-23792-1: ASoC: fsl_sai: Monitor spdif rx clock in imx8mm
  MLK-21957-3: ASoC: fsl_sai: add bitcount and timestamp controls
  LF-106: ASoC: fsl_sai: request BUS_FREQ_AUDIO
2024-12-06 18:18:52 +08:00
Dong Aisheng
c4ab056eae Merge remote-tracking branch 'origin/audio/rpmsg' into audio/next
* origin/audio/rpmsg: (9 commits)
  LF-11756-2: ASoC: fsl_rpmsg: Add constraint for rpmsg micfil sound card
  ASoC: imx-rpmsg: Add sysclk_id for wm8960 codec
  LF-4972: ASoC: fsl_rpmsg: allocate a smaller buffer size for capture
  MLK-25741-5: ASoC: fsl_rpmsg: Set CPU DAI for rpmsg-micfil
  MLK-25741-3: ASoC: imx-audio-rpmsg: Distinguish ak4497 with others on i.MX8MM
  ...
2024-12-06 18:18:52 +08:00
Dong Aisheng
b77404c6b4 Merge remote-tracking branch 'origin/audio/micfil' into audio/next
* origin/audio/micfil:
  LF-13805: ASoC: fsl_micfil: Constrain the volume range
  ASoC: fsl_micfil: Enable micfil error interrupt
  ASoC: fsl_micfil: Add mclk enable flag
  ASoC: fsl_micfil: fix regmap_write_bits usage
2024-12-06 18:18:51 +08:00
Dong Aisheng
0dd16ff282 Merge remote-tracking branch 'origin/audio/hdmi' into audio/next
* origin/audio/hdmi:
  ASoC: imx-hdmi: Add rate constraint for sii902x
  ASoC: fsl_hdmi: hdmi audio driver for imx6
2024-12-06 18:18:51 +08:00
Dong Aisheng
42377903a7 Merge remote-tracking branch 'origin/audio/esai' into audio/next
* origin/audio/esai:
  MLK-19750-1: ASoC: fsl_esai: enhance async mode (part 1)
2024-12-06 18:18:50 +08:00
Dong Aisheng
7e37701703 Merge remote-tracking branch 'origin/audio/codec' into audio/next
* origin/audio/codec: (12 commits)
  ASoC: fsl_mqs: Support accessing registers by scmi interface
  LF-12553-4: ASoC: ak5558: Fix ak5558_reset function
  LF-12553-3: ASoC: ak4458: Fix ak4458_reset function
  LF-7658-1: sound: soc: codecs: pcm186x: add bclk ratio dai ops
  LF-7975-2: ASoC: ak5558: check codec exist or not
  ...
2024-12-06 18:18:49 +08:00
Dong Aisheng
5572b11a8b Merge remote-tracking branch 'origin/audio/card' into audio/next
* origin/audio/card:
  LF-10946: ASoC: imx-card: Add CS42888 support
  MLK-25946: ASoC: imx-card: Set mclk for codec
  LF-7658-2: sound: soc: fsl: imx pcm512x add pcm186x adc support
  MLK-24930-1: sound: soc: fsl: imx pcm512x: iqaudio dac
  LF-2511-3: ASoC: fsl-asoc-card: Merge some features to this common driver
2024-12-06 18:18:49 +08:00
Dong Aisheng
64081ec135 Merge remote-tracking branch 'origin/audio/xcvr' into audio/next
* origin/audio/xcvr: (8 commits)
  LF-13764-2: ASoC: fsl_xcvr: Add suspend and resume support
  LF-13764-1: ASoC: fsl_xcvr: Use regmap for phy and pll registers
  MLK-24965: ASoC: fsl_xcvr: bit and timestamp counters
  LF-11391-4: ASoC: fsl_xcvr: read edid when cmdc status update
  LF-11391-3: ASoC: dt-bindings: fsl,xcvr: add hdmi-phandle
  ...
2024-12-06 18:18:49 +08:00
Takashi Iwai
bb060d38c1 ALSA: hda/realtek: Apply quirk for Medion E15433
commit ca0f79f0286046f6a91c099dc941cf7afae198d6 upstream.

Medion E15433 laptop wich ALC269VC (SSID 2782:1705) needs the same
workaround for the missing speaker as another model.

Link: https://bugzilla.suse.com/show_bug.cgi?id=1233298
Cc: <stable@vger.kernel.org>
Link: https://patch.msgid.link/20241128072646.15659-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-05 14:02:59 +01:00
Dirk Su
0c90cb0b7f ALSA: hda/realtek: fix mute/micmute LEDs don't work for EliteBook X G1i
commit 7ba81e4c3aa0ca25f06dc4456e7d36fa8e76385f upstream.

HP EliteBook X G1i needs ALC285_FIXUP_HP_GPIO_LED quirk to
make mic-mute/audio-mute working.

Signed-off-by: Dirk Su <dirk.su@canonical.com>
Cc: <stable@vger.kernel.org>
Link: https://patch.msgid.link/20241126060531.22759-1-dirk.su@canonical.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-05 14:02:59 +01:00
Dinesh Kumar
409e6297ca ALSA: hda/realtek: Fix Internal Speaker and Mic boost of Infinix Y4 Max
commit 5ebe792a5139f1ce6e4aed22bef12e7e2660df96 upstream.

Internal Speaker of Infinix Y4 Max remains muted due to incorrect
Pin configuration, and the Internal Mic records high noise. This patch
corrects the Pin configuration for the Internal Speaker and limits
the Internal Mic boost.
HW Probe for device: https://linux-hardware.org/?probe=6d4386c347
Test: Internal Speaker works fine, Mic has low noise.

Signed-off-by: Dinesh Kumar <desikumar81@gmail.com>
Cc: <stable@vger.kernel.org>
Link: https://patch.msgid.link/20241125092842.13208-1-desikumar81@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-05 14:02:58 +01:00
Kailang Yang
add3ab2485 ALSA: hda/realtek: Set PCBeep to default value for ALC274
commit 155699ccab7c78cbba69798242b68bc8ac66d5d2 upstream.

BIOS Enable PC beep path cause pop noise via speaker during boot time.
Set to default value from driver will solve the issue.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/2721bb57e20a44c3826c473e933f9105@realtek.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-05 14:02:58 +01:00
Kailang Yang
98b5ade3a4 ALSA: hda/realtek: Enable speaker pins for Medion E15443 platform
commit 31917b7bd892de730ab67b215c62aeeea778112e upstream.

Speaker has no sound for Medion E15443.
Added another speaker pins for Medion E15443 platform.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/eac4f3aca2ab45e59ccd207a90ee60e9@realtek.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-05 14:02:58 +01:00
Kailang Yang
010135da59 ALSA: hda/realtek: Update ALC225 depop procedure
commit 1fd50509fe14a9adc9329e0454b986157a4c155a upstream.

Old procedure has a chance to meet Headphone no output.

Fixes: da911b1f5e ("ALSA: hda/realtek - update ALC225 depop optimize")
Signed-off-by: Kailang Yang <kailang@realtek.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/5a27b016ba9d42b4a4e6dadce50a3ba4@realtek.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-05 14:02:58 +01:00
Takashi Iwai
0c4c9bf5ea ALSA: pcm: Add sanity NULL check for the default mmap fault handler
commit d2913a07d9037fe7aed4b7e680684163eaed6bc4 upstream.

A driver might allow the mmap access before initializing its
runtime->dma_area properly.  Add a proper NULL check before passing to
virt_to_page() for avoiding a panic.

Reported-by: syzbot+4bf62a7b1d0f4fdb7ae2@syzkaller.appspotmail.com
Cc: <stable@vger.kernel.org>
Link: https://patch.msgid.link/20241120141104.7060-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-05 14:02:58 +01:00
Takashi Iwai
acd3e1859e ALSA: ump: Fix evaluation of MIDI 1.0 FB info
commit 7be34f6feedd60e418de1c2c48e661d70416635f upstream.

The m1.0 field of UMP Function Block info specifies whether the given
FB is a MIDI 1.0 port or not.  When implementing the UMP support on
Linux, I somehow interpreted as if it were bit flags, but the field is
actually an enumeration from 0 to 2, where 2 means MIDI 1.0 *and* low
speed.

This patch corrects the interpretation and sets the right bit flags
depending on the m1.0 field of FB Info.  This effectively fixes the
missing detection of MIDI 1.0 FB when m1.0 is 2.

Fixes: 37e0e14128 ("ALSA: ump: Support UMP Endpoint and Function Block parsing")
Cc: <stable@vger.kernel.org>
Link: https://patch.msgid.link/20241127070059.8099-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-05 14:02:58 +01:00
Takashi Iwai
df225df839 ALSA: rawmidi: Fix kvfree() call in spinlock
commit 20c0c49720dc4e205d4c1d64add56a5043c5ec5f upstream.

At the conversion of locking with guard(), I overlooked that kvfree()
must not be called inside the spinlock unlike kfree(), and this was
caught by syzkaller now.

This patch reverts the conversion partially for restoring the kvfree()
call outside the spinlock.  It's not trivial to use guard() in this
context, unfortunately.

Fixes: 84bb065b31 ("ALSA: rawmidi: Use guard() for locking")
Reported-by: syzbot+351f8764833934c68836@syzkaller.appspotmail.com
Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
Closes: https://lore.kernel.org/6744737b.050a0220.1cc393.007e.GAE@google.com
Cc: <stable@vger.kernel.org>
Link: https://patch.msgid.link/20241125142041.16578-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-05 14:02:58 +01:00