| c673efd5 | 25-Mar-2026 |
Shuming Fan <shumingf@realtek.com> |
ASoC: SDCA: fix finding wrong entity
This patch fixes an issue like: where searching for the entity 'FU 11' could incorrectly match 'FU 113' first. The driver should first perform an exact match on
ASoC: SDCA: fix finding wrong entity
This patch fixes an issue like: where searching for the entity 'FU 11' could incorrectly match 'FU 113' first. The driver should first perform an exact match on the full string name. If no exact match is found, it can then fall back to a partial match.
Fixes: 48fa77af2f4a ("ASoC: SDCA: Add terminal type into input/output widget name") Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Shuming Fan <shumingf@realtek.com> Link: https://patch.msgid.link/20260325110406.3232420-1-shumingf@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| 812ff1ba | 04-Feb-2026 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: SDCA: Limit values user can write to Selected Mode
Prevent the user from both updating the Selected Mode control whilst the jack is not present, and from writing values that don't correspond t
ASoC: SDCA: Limit values user can write to Selected Mode
Prevent the user from both updating the Selected Mode control whilst the jack is not present, and from writing values that don't correspond to a valid jack type (Unknown, in progress, etc.).
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20260204125944.1134011-7-ckeepax@opensource.cirrus.com Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| 02d851b4 | 04-Feb-2026 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: SDCA: Add regmap defaults for specification defined values
Some of the SDCA Controls have a defined reset value in the specification. Update the parsing to add these specification defined valu
ASoC: SDCA: Add regmap defaults for specification defined values
Some of the SDCA Controls have a defined reset value in the specification. Update the parsing to add these specification defined values into the regmap defaults array. This will reduce the number of registers that are synchronised on a cache sync.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20260204125944.1134011-6-ckeepax@opensource.cirrus.com Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| cc2f22a6 | 04-Feb-2026 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: SDCA: Rearrange FDL file messages
It is helpful to have something in the log showing which firmware file was loaded by the driver. Update the existing FDL disk file debug statement to just not
ASoC: SDCA: Rearrange FDL file messages
It is helpful to have something in the log showing which firmware file was loaded by the driver. Update the existing FDL disk file debug statement to just note that a disk file rather than ACPI file was used, and add a new info printk that prints out the details of the loaded file regardless of where that file came from. Likewise, sometimes it is useful to get a message if the file-sets list is missing, although this isn't technically an error so make it a debug.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20260204125944.1134011-5-ckeepax@opensource.cirrus.com Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| d7730c44 | 04-Feb-2026 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: SDCA: Still process most of the jack detect if control is missing
DAPM creates its controls very late in the card creation, so there is no call into the driver after the controls are created.
ASoC: SDCA: Still process most of the jack detect if control is missing
DAPM creates its controls very late in the card creation, so there is no call into the driver after the controls are created. This means the jack IRQs can't be guaranteed to be registered after the ALSA controls are available. If a jack IRQ is received before the controls are available, currently the driver does not update the Selected Mode as it is required by the specification to do.
If the ALSA controls are not available update the Selected Mode directly rather than going through the ALSA control. The ALSA control should pick up the state once it is created.
Fixes: b9ab3b618241 ("ASoC: SDCA: Add some initial IRQ handlers") Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20260204125944.1134011-4-ckeepax@opensource.cirrus.com Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| 9fad74b7 | 04-Feb-2026 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: SDCA: Handle volatile controls correctly
There are very few volatile controls in SDCA that are exported as ALSA controls, typically Detected Mode is the only common one. However, the current c
ASoC: SDCA: Handle volatile controls correctly
There are very few volatile controls in SDCA that are exported as ALSA controls, typically Detected Mode is the only common one. However, the current code does not resume the device when these ALSA controls are accessed, which will result in the read/write failing.
Add a new wrapper specifically for volatile controls that will do the required pm_runtime operations before accessing the register.
Fixes: c3ca24e3fcb6 ("ASoC: SDCA: Create ALSA controls from DisCo") Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20260204125944.1134011-3-ckeepax@opensource.cirrus.com Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| 7a3d1b04 | 15-Jan-2026 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: SDCA: Handle CONFIG_PM_SLEEP not being set
If CONFIG_PM_SLEEP is not set the completion used will not exist. Update the code to avoid the build error this introduces, without PM_SLEEP it shoul
ASoC: SDCA: Handle CONFIG_PM_SLEEP not being set
If CONFIG_PM_SLEEP is not set the completion used will not exist. Update the code to avoid the build error this introduces, without PM_SLEEP it should be safe to always run the conditional code.
Fixes: ffd7e8a10111 ("ASoC: SDCA: Device boot into the system suspend process") Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202601151803.XY7KryHC-lkp@intel.com/ Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20260115141107.564929-1-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| da7afdc7 | 09-Jan-2026 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: SDCA: Add lock to serialise the Function initialisation
To avoid issues on some devices serialise the boot of each SDCA Function from the others.
Signed-off-by: Charles Keepax <ckeepax@openso
ASoC: SDCA: Add lock to serialise the Function initialisation
To avoid issues on some devices serialise the boot of each SDCA Function from the others.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> Link: https://patch.msgid.link/20260109145206.3456151-5-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| ffd7e8a1 | 09-Jan-2026 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: SDCA: Device boot into the system suspend process
When system suspending the device may be powered off, this means all state will be lost and the firmware may need to be re-downloaded. Add the
ASoC: SDCA: Device boot into the system suspend process
When system suspending the device may be powered off, this means all state will be lost and the firmware may need to be re-downloaded. Add the necessary calls to bring the device back up. This also requires that that the FDL (firmware download) IRQ handler is modified to allow it to run before runtime PM has been fully restored.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> Link: https://patch.msgid.link/20260109145206.3456151-4-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| 7a5214f7 | 09-Jan-2026 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: SDCA: Add basic system suspend support
Add basic system suspend support. Disable the IRQs and force runtime suspend, during system suspend, because the device will likely fully power down duri
ASoC: SDCA: Add basic system suspend support
Add basic system suspend support. Disable the IRQs and force runtime suspend, during system suspend, because the device will likely fully power down during suspend.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> Link: https://patch.msgid.link/20260109145206.3456151-3-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| 04b61513 | 30-Dec-2025 |
Marco Crivellari <marco.crivellari@suse.com> |
ASoC: SDCA: Replace use of system_wq with system_dfl_wq
This patch continues the effort to refactor workqueue APIs, which has begun with the changes introducing new workqueues and a new alloc_workqu
ASoC: SDCA: Replace use of system_wq with system_dfl_wq
This patch continues the effort to refactor workqueue APIs, which has begun with the changes introducing new workqueues and a new alloc_workqueue flag:
commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq") commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")
The point of the refactoring is to eventually alter the default behavior of workqueues to become unbound by default so that their workload placement is optimized by the scheduler.
Before that to happen after a careful review and conversion of each individual case, workqueue users must be converted to the better named new workqueues with no intended behaviour changes:
system_wq -> system_percpu_wq system_unbound_wq -> system_dfl_wq
This specific workload has no benefits being per-cpu, so system_wq has been replaced with system_dfl_wq (the unbound workqueue).
This way the old obsolete workqueues (system_wq, system_unbound_wq) can be removed in the future.
Suggested-by: Tejun Heo <tj@kernel.org> Signed-off-by: Marco Crivellari <marco.crivellari@suse.com> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20251230143429.179643-1-marco.crivellari@suse.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| 99a3ef1e | 15-Dec-2025 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: SDCA: Add ASoC jack hookup in class driver
Add the necessary calls to the class driver to connect the ASoC jack from the machine driver.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirr
ASoC: SDCA: Add ASoC jack hookup in class driver
Add the necessary calls to the class driver to connect the ASoC jack from the machine driver.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20251215153650.3913117-4-ckeepax@opensource.cirrus.com Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| 82e12800 | 15-Dec-2025 |
Charles Keepax <ckeepax@opensource.cirrus.com> |
ASoC: SDCA: Add ability to connect SDCA jacks to ASoC jacks
Add handling for the ASoC jack API to SDCA to allow user-space to be hooked up normally.
Signed-off-by: Charles Keepax <ckeepax@opensourc
ASoC: SDCA: Add ability to connect SDCA jacks to ASoC jacks
Add handling for the ASoC jack API to SDCA to allow user-space to be hooked up normally.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20251215153650.3913117-3-ckeepax@opensource.cirrus.com Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|