linux/drivers/firmware
Richard Fitzgerald 10db9f6899
firmware: cs_dsp: rate-limit log messages in KUnit builds
Use the dev_*_ratelimit() macros if the cs_dsp KUnit tests are enabled
in the build, and allow the KUnit tests to disable message output.

Some of the KUnit tests cause a very large number of log messages from
cs_dsp, because the tests perform many different test cases. This could
cause some lines to be dropped from the kernel log. Dropped lines can
prevent the KUnit wrappers from parsing the ktap output in the dmesg log.

The KUnit builds of cs_dsp export three bools that the KUnit tests can
use to entirely disable log output of err, warn and info messages. Some
tests have been updated to use this, replacing the previous fudge of a
usleep() in the exit handler of each test. We don't necessarily want to
disable all log messages if they aren't expected to be excessive,
so the rate-limiting allows leaving some logging enabled.

The rate-limited macros are not used in normal builds because it is not
appropriate to rate-limit every message. That could cause important
messages to be dropped, and there wouldn't be such a high rate of
messages in normal operation.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Reported-by: Mark Brown <broonie@kernel.org>
Closes: https://lore.kernel.org/linux-sound/af393f08-facb-4c44-a054-1f61254803ec@opensource.cirrus.com/T/#t
Fixes: cd8c058499 ("firmware: cs_dsp: Add KUnit testing of bin error cases")
Link: https://patch.msgid.link/20260130171256.863152-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2026-02-02 12:09:28 +00:00
..
arm_ffa firmware: arm_ffa: Add support for IMPDEF value in the memory access descriptor 2025-10-13 10:34:46 +01:00
arm_scmi firmware: arm_scmi: Fix premature SCMI_XFER_FLAG_IS_RAW clearing in raw mode 2025-10-15 15:28:49 +01:00
broadcom drivers: firmware: bcm47xx_sprom: fix spelling 2025-09-03 13:47:58 -07:00
cirrus firmware: cs_dsp: rate-limit log messages in KUnit builds 2026-02-02 12:09:28 +00:00
efi efi/cper: Fix cper_bits_to_str buffer handling and return value 2026-01-14 11:34:42 +01:00
google sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
imx firmware: imx: scu: Use devm_mutex_init 2025-10-27 14:43:48 +08:00
meson firmware: firmware: meson-sm: fix compile-test default 2025-09-10 09:31:20 +02:00
microchip firmware: microchip: fix UL_IAP lock check in mpfs_auto_update_state() 2024-12-05 15:08:51 +00:00
psci arm64 updates for 6.16 2025-05-28 14:55:35 -07:00
qcom firmware: qcom: scm: Simplify with of_machine_device_match() 2025-11-26 19:42:46 -06:00
samsung firmware: exynos-acpm: register ACPM clocks pdev 2025-10-20 08:49:50 +02:00
smccc firmware: smccc: Support both smc and hvc conduits for getting hyp UUID 2025-06-11 13:55:41 +01:00
tegra firmware: tegra: Do not warn on missing memory-region property 2025-09-15 18:28:09 +02:00
xilinx SCSI misc on 20251204 2025-12-05 19:56:50 -08:00
arm_scpi.c Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
arm_sdei.c firmware: SDEI: Allow sdei initialization without ACPI_APEI_GHES 2025-05-08 13:35:22 +01:00
dmi-id.c firmware: dmi-id: add a release callback function 2024-04-08 09:34:24 +02:00
dmi-sysfs.c firmware: dmi: Constify 'struct bin_attribute' 2025-02-21 09:20:30 +01:00
dmi_scan.c firmware: dmi: Mark bin_attributes as __ro_after_init 2025-02-21 09:20:30 +01:00
edd.c edd: make kobj_type structure constant 2023-03-09 18:07:33 +01:00
iscsi_ibft.c iscsi_ibft: Fix UBSAN shift-out-of-bounds warning in ibft_attr_show_nic() 2025-01-29 14:58:31 -05:00
iscsi_ibft_find.c iscsi_ibft: Fix finding the iBFT under Xen Dom 0 2023-06-26 07:47:11 +02:00
Kconfig soc: drivers for 6.16 2025-05-31 07:53:30 -07:00
Makefile soc: driver updates for 6.15, part 1 2025-03-27 09:05:55 -07:00
memmap.c firmware: memmap: Constify memmap_ktype 2024-10-13 17:22:33 +02:00
mtk-adsp-ipc.c firmware: Switch back to struct platform_driver::remove() 2024-11-12 12:55:56 +01:00
qemu_fw_cfg.c sysfs: treewide: switch back to bin_attribute::read()/write() 2025-06-17 10:44:13 +02:00
raspberrypi.c firmware: Switch back to struct platform_driver::remove() 2024-11-12 12:55:56 +01:00
stratix10-rsu.c firmware: stratix10-rsu: replace scnprintf() with sysfs_emit() in *_show() functions 2025-11-13 06:32:58 -06:00
stratix10-svc.c Char/Misc/IIO driver updates for 6.19-rc1 2025-12-06 18:34:24 -08:00
sysfb.c sysfb: Fix screen_info type check for VGA 2025-06-05 17:54:31 +02:00
sysfb_simplefb.c firmware: sysfb: Move bpp-depth calculation into screen_info helper 2025-04-07 11:02:07 +02:00
thead,th1520-aon.c firmware: thead,th1520-aon: Fix use after free in th1520_aon_init() 2025-03-18 13:09:00 +01:00
ti_sci.c firmware: ti_sci: Partial-IO support 2025-11-13 13:03:55 -06:00
ti_sci.h firmware: ti_sci: Partial-IO support 2025-11-13 13:03:55 -06:00
trusted_foundations.c
turris-mox-rwtm.c firmware: turris-mox-rwtm: Add support for ECDSA signatures with HW private key 2025-03-20 17:56:57 +01:00