Linus Torvalds
bf4afc53b7
Convert 'alloc_obj' family to use the new default GFP_KERNEL argument
...
This was done entirely with mindless brute force, using
git grep -l '\<k[vmz]*alloc_objs*(.*, GFP_KERNEL)' |
xargs sed -i 's/\(alloc_objs*(.*\), GFP_KERNEL)/\1)/'
to convert the new alloc_obj() users that had a simple GFP_KERNEL
argument to just drop that argument.
Note that due to the extreme simplicity of the scripting, any slightly
more complex cases spread over multiple lines would not be triggered:
they definitely exist, but this covers the vast bulk of the cases, and
the resulting diff is also then easier to check automatically.
For the same reason the 'flex' versions will be done as a separate
conversion.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2026-02-21 17:09:51 -08:00
Kees Cook
69050f8d6d
treewide: Replace kmalloc with kmalloc_obj for non-scalar types
...
This is the result of running the Coccinelle script from
scripts/coccinelle/api/kmalloc_objs.cocci. The script is designed to
avoid scalar types (which need careful case-by-case checking), and
instead replace kmalloc-family calls that allocate struct or union
object instances:
Single allocations: kmalloc(sizeof(TYPE), ...)
are replaced with: kmalloc_obj(TYPE, ...)
Array allocations: kmalloc_array(COUNT, sizeof(TYPE), ...)
are replaced with: kmalloc_objs(TYPE, COUNT, ...)
Flex array allocations: kmalloc(struct_size(PTR, FAM, COUNT), ...)
are replaced with: kmalloc_flex(*PTR, FAM, COUNT, ...)
(where TYPE may also be *VAR)
The resulting allocations no longer return "void *", instead returning
"TYPE *".
Signed-off-by: Kees Cook <kees@kernel.org >
2026-02-21 01:02:28 -08:00
Peter Ujfalusi and Mark Brown
5c19da34df
ASoC: SOF: Use guard()/scoped_guard() for mutex locks where it makes sense
...
Replace the manual mutex lock/unlock pairs with guard()/scoped_guard().
Only code refactoring, and no behavior change.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Link: https://patch.msgid.link/20260112101004.7648-2-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2026-01-12 11:21:24 +00:00
Peter Ujfalusi and Mark Brown
2cf7a9ced3
ASoC: SOF: sof-client: Add support for on-demand DSP boot
...
With the introduction of on-demand DSP boot the rpm status not necessary
tells that the DSP firmware is booted up.
Introduce the sof_client_boot_dsp() which can be used to make sure that
the DSP is booted and it can handle IPCs.
Update the client drivers to use the new function where it is expected that
the DSP is booted up.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com >
Link: https://patch.msgid.link/20251215132946.2155-5-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-12-15 23:07:42 +09:00
Mark Brown
0e58316d6a
ASoC: SOF: sof-client-probes-ipc4: Query available
...
Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com >:
This series improves the IPC4 probes implementation by improving the
report quality and adds support for querying the available probes
on the firmware side.
2025-08-29 23:19:49 +01:00
Peter Ujfalusi and Mark Brown
07752abfa5
ASoC: SOF: sof-client: Introduce sof_client_dev_entry structure
...
Introduce a new internal structure for wrapping the sof_client_dev and
move members away from the client visible struct that they must not
access, let alone see (sdev and the list).
The changes are mechanical in nature and contained within sof-client core
code, no functional change or change in behavior is introduced.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Message-ID: <20250829102510.15159-3-peter.ujfalusi@linux.intel.com >
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-08-29 13:34:26 +02:00
Peter Ujfalusi and Mark Brown
850c5dfb17
ASoC: SOF: sof-client: Convert sof_client_dev_to_sof_dev into function
...
Remove the sof_client_dev_to_sof_dev() from the header file and add it as
a function in sof-client.c to avoid it's use by client drivers.
At the same time mark the sdev and list of sof_client_dev as restricted
fro core use only.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Message-ID: <20250829102510.15159-2-peter.ujfalusi@linux.intel.com >
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-08-29 13:34:25 +02:00
Jyri Sarha and Mark Brown
e6cf5e44ce
ASoC: SOF: sof-client: Add sof_client_ipc4_find_swidget_by_id()
...
Add sof_client_ipc4_find_swidget_by_id() for finding widgets from SOF
client devices. The motivation is to decode probes debugfs output to
be more readable.
Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com >
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com >
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Message-ID: <20250829093022.32094-4-peter.ujfalusi@linux.intel.com >
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-08-29 13:34:17 +02:00
Peter Zijlstra and Linus Torvalds
cdd30ebb1b
module: Convert symbol namespace to string literal
...
Clean up the existing export namespace code along the same lines of
commit 33def8498f ("treewide: Convert macro and uses of __section(foo)
to __section("foo")") and for the same reason, it is not desired for the
namespace argument to be a macro expansion itself.
Scripted using
git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;
do
awk -i inplace '
/^#define EXPORT_SYMBOL_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/^#define MODULE_IMPORT_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/MODULE_IMPORT_NS/ {
$0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g");
}
/EXPORT_SYMBOL_NS/ {
if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {
if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &&
$0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &&
$0 !~ /^my/) {
getline line;
gsub(/[[:space:]]*\\$/, "");
gsub(/[[:space:]]/, "", line);
$0 = $0 " " line;
}
$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,
"\\1(\\2, \"\\3\")", "g");
}
}
{ print }' $file;
done
Requested-by: Masahiro Yamada <masahiroy@kernel.org >
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org >
Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc
Acked-by: Greg KH <gregkh@linuxfoundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2024-12-02 11:34:44 -08:00
Greg Kroah-Hartman
ff985c7597
auxbus: make to_auxiliary_drv accept and return a constant pointer
...
In the quest to make struct device constant, start by making
to_auxiliary_drv() return a constant pointer so that drivers that call
this can be fixed up before the driver core changes.
As the return type previously was not constant, also fix up all callers
that were assuming that the pointer was not going to be a constant one
in order to not break the build.
Cc: Dave Ertman <david.m.ertman@intel.com >
Cc: Ira Weiny <ira.weiny@intel.com >
Cc: Rafael J. Wysocki <rafael@kernel.org >
Cc: Bingbu Cao <bingbu.cao@intel.com >
Cc: Tianshu Qiu <tian.shu.qiu@intel.com >
Cc: Mauro Carvalho Chehab <mchehab@kernel.org >
Cc: Michael Chan <michael.chan@broadcom.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Eric Dumazet <edumazet@google.com >
Cc: Jakub Kicinski <kuba@kernel.org >
Cc: Paolo Abeni <pabeni@redhat.com >
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com >
Cc: Tony Nguyen <anthony.l.nguyen@intel.com >
Cc: Saeed Mahameed <saeedm@nvidia.com >
Cc: Leon Romanovsky <leon@kernel.org >
Cc: Tariq Toukan <tariqt@nvidia.com >
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Cc: Liam Girdwood <lgirdwood@gmail.com >
Cc: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Cc: Bard Liao <yung-chuan.liao@linux.intel.com >
Cc: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Cc: Daniel Baluta <daniel.baluta@nxp.com >
Cc: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Cc: Jaroslav Kysela <perex@perex.cz >
Cc: Takashi Iwai <tiwai@suse.com >
Cc: Richard Cochran <richardcochran@gmail.com >
Cc: linux-media@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: linux-rdma@vger.kernel.org
Cc: sound-open-firmware@alsa-project.org
Cc: linux-sound@vger.kernel.org
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com > # drivers/media/pci/intel/ipu6
Acked-by: Mark Brown <broonie@kernel.org >
Reviewed-by: Martin Habets <habetsm.xilinx@gmail.com >
Link: https://lore.kernel.org/r/20240611130103.3262749-7-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2024-06-13 16:43:26 +02:00
Pierre-Louis Bossart and Mark Brown
293ad28116
ASoC: SOF: Intel: clarify Copyright information
...
For some reason a number of files included the "All rights reserved"
statement. Good old copy-paste made sure this mistake proliferated.
Remove the "All rights reserved" in all Intel-copyright to align with
internal guidance.
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com >
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Link: https://lore.kernel.org/r/20240503140359.259762-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2024-05-06 23:59:35 +09:00
Eugen Hristev and Mark Brown
45f2f28bd4
ASoC: SOF: sof-client: trivial: fix comment typo
...
Fix typo s/depndent/dependent
Fixes: 6e9548cdb3 ("ASoC: SOF: Convert the generic IPC flood test into SOF client")
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Link: https://lore.kernel.org/r/20231031112218.79136-1-eugen.hristev@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-11-07 11:10:19 +00:00
Pierre-Louis Bossart and Mark Brown
d65d4a2c38
ASoC: SOF: sof-client: fix build when only IPC4 is selected
...
When IPC3 is not selected, sof-client.c still makes a hard-coded
reference to an IPC3-specific function:
ERROR: modpost: "sof_ipc3_do_rx_work" [sound/soc/sof/snd-sof.ko]
undefined!
Fix by making the code conditional.
Closes: https://github.com/thesofproject/linux/issues/4581
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Curtis Malainey <cujomalainey@chromium.org >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Link: https://lore.kernel.org/r/20231006084041.18100-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-10-09 13:14:17 +01:00
Peter Ujfalusi and Mark Brown
ebe18b1587
ASoC: SOF: Use generic names for IPC types
...
Use the new SOF_IPC_TYPE_3, SOF_IPC_TYPE_4 in core code.
No functional changes, just renaming.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Reviewed-by: Rander Wang <rander.wang@intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/20230919104226.32239-5-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-09-19 13:49:08 +01:00
Peter Ujfalusi and Mark Brown
82f4b38382
ASoC: SOF: Kconfig: Rename SND_SOC_SOF_INTEL_IPC4 to SND_SOC_SOF_IPC4
...
Drop the Intel from the IPC type Kconfig option
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Reviewed-by: Rander Wang <rander.wang@intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/20230919104226.32239-4-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-09-19 13:49:07 +01:00
Curtis Malainey and Mark Brown
70dad53ddf
ASoC: SOF: Add IPC3 Kernel Injector
...
Add debugfs path to fake a malicious firmware message for fuzzing purposes.
Skip IPC4 for initial integration
Signed-off-by: Curtis Malainey <cujomalainey@chromium.org >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Link: https://lore.kernel.org/r/20230608221822.2825786-2-cujomalainey@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-06-09 10:44:40 +01:00
Peter Ujfalusi and Mark Brown
28d40e7adf
ASoC: SOF: Add support for DSPless mode
...
Via the SOF_DBG_DSPLESS_MODE sof_debug flag the SOF stack can be asked to
not use the DSP for audio.
The core's support for DSPless mode is only going to be enabled if the
platform reports that it can be used without DSP.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Rander Wang <rander.wang@intel.com >
Link: https://lore.kernel.org/r/20230404092115.27949-4-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-04-04 12:42:34 +01:00
Jyri Sarha and Mark Brown
7f0a3dff1f
ASoC: SOF: client: Add sof_client_ipc4_find_module() function
...
Add sof_client_ipc4_find_module() for calling
sof_ipc4_find_module_by_uuid() in sof client code.
Signed-off-by: Jyri Sarha <jyri.sarha@intel.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Signed-off-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Link: https://lore.kernel.org/r/20221031105141.19037-5-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-10-31 13:20:21 +00:00
Jyri Sarha and Mark Brown
d8bc54a5f2
ASoC: SOF: client: Add sof_client_ipc_set_get_data()
...
No need to duplicate set_get_data msg handling in clients.
Signed-off-by: Jyri Sarha <jyri.sarha@intel.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Signed-off-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Link: https://lore.kernel.org/r/20221031105141.19037-4-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-10-31 13:20:20 +00:00
Pierre-Louis Bossart and Mark Brown
298e3aba1b
ASoC: SOF: sof-client: remove use of __func__ in dev_dbg
...
The module and function information can be added with
'modprobe foo dyndbg=+pmf'
Suggested-by: Greg KH <gregkh@linuxfoundation.org >
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Link: https://lore.kernel.org/r/20220616215351.135643-11-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-17 10:46:46 +01:00
Peter Ujfalusi and Mark Brown
5889ccdd09
ASoC: SOF: sof-client: IPC flood test can only work with SOF_IPC
...
Currently the ipc flood test is only supported with SOF_IPC.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Reviewed-by: Rander Wang <rander.wang@intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Link: https://lore.kernel.org/r/20220506132647.18690-9-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-05-09 18:18:03 +01:00
Peter Ujfalusi and Mark Brown
100c937431
ASoC: SOF: sof-client: Add support IPC4 message sending
...
In order to be able to send an IPC4 message, the
sof_client_ipc_tx_message() needs to parse the tx message differently to
extract the size.
The IPC notification registration is done by providing the notification
type and the whole message is passed to the client when a match is found.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Link: https://lore.kernel.org/r/20220506132647.18690-6-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-05-09 18:17:59 +01:00
Peter Ujfalusi and Mark Brown
cdf8233d2c
ASoC: SOF: sof-client: Add API to get the ipc_type
...
Provide a way for the client drivers to query the ipc_type used by the
firmware.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Link: https://lore.kernel.org/r/20220506132647.18690-5-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-05-09 18:17:58 +01:00
Peter Ujfalusi and Mark Brown
a669ec5f4b
ASoC: SOF: sof-client: Add API to get the maximum IPC payload size
...
Provide a way for the client drivers to query the maximum payload size of
an IPC message.
Currently clients do not have access to this information and they can only
use the SOF_IPC_MSG_MAX_SIZE defined value.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Link: https://lore.kernel.org/r/20220506132647.18690-2-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-05-09 18:17:55 +01:00
Peter Ujfalusi and Mark Brown
2a51c0f81a
ASoC: SOF: Drop 'header' parameter from tx_message() API
...
The header parameter is not used anymore and now it can be dropped from
the parameter list of tx_message().
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Rander Wang <rander.wang@intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Link: https://lore.kernel.org/r/20220330201926.1330402-10-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-04-04 08:39:09 +01:00