FROMLIST: misc: fastrpc: fix ADSP duplicate session creation - #1027
Open
Vinayak Katoch (quic-vkatoch) wants to merge 3 commits into
Open
FROMLIST: misc: fastrpc: fix ADSP duplicate session creation#1027Vinayak Katoch (quic-vkatoch) wants to merge 3 commits into
Vinayak Katoch (quic-vkatoch) wants to merge 3 commits into
Conversation
…form_populate of_platform_populate() only guarantees that child devices are registered, not that their probes have completed before it returns. This creates a window where fastrpc_cb_init() may not have run for all context bank nodes, leaving the channel context partially initialised. Iterate over the child device tree nodes directly, initialising each qcom,fastrpc-compute-cb device synchronously. This ensures all context banks are fully initialised before fastrpc_rpmsg_probe() returns. Since fastrpc_cb_driver is no longer needed as an independent platform driver, remove it along with its match table and remove callback. Set OF_POPULATED_BUS on the rpmsg node so that of_platform_depopulate() correctly removes the manually created CB devices on teardown. Link: https://lore.kernel.org/all/20260826-dup-sessions-v4-1-35555d2bfed4@oss.qualcomm.com/ Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
…driver For ADSP, only a limited number of FastRPC context banks (CBs) are available. Each CB supports a single session, which means only a few processes can run on ADSP simultaneously. If all sessions are consumed by fastrpc daemons, no session remains available when a user application starts, causing the application to fail. To work around this, qcom,nsessions = <5> was set in DT to duplicate sessions inline during fastrpc_cb_init(). This policy does not belong in DT and should be handled at the driver level instead. Remove the qcom,nsessions DT property read and the per-CB duplication logic from fastrpc_cb_init(). After all context banks have been initialised in fastrpc_rpmsg_probe(), append FASTRPC_DUP_SESSIONS (4) copies of the last session for the ADSP domain. Link: https://lore.kernel.org/all/20260826-dup-sessions-v4-2-35555d2bfed4@oss.qualcomm.com/ Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
The qcom,nsessions property was used to duplicate FastRPC sessions inline during context bank initialisation. Session duplication is now handled at the driver level, making this DT property redundant. Mark it deprecated. Link: https://lore.kernel.org/all/20260826-dup-sessions-v4-3-35555d2bfed4@oss.qualcomm.com/ Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
Vinayak Katoch (quic-vkatoch)
requested review from
a team,
Komal Bajaj (Komal-Bajaj),
Mukesh Ojha (mukeshojha-linux) and
Rajendra (rrnayak)
August 27, 2026 10:53
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Link: https://lore.kernel.org/all/20260826-dup-sessions-v4-0-35555d2bfed4@oss.qualcomm.com/
CRs-Fixed: 4508505