]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
firmware: qcom_scm: Add API to get waitqueue IRQ info
authorUnnathi Chalicheemala <unnathi.chalicheemala@oss.qualcomm.com>
Wed, 17 Dec 2025 14:34:19 +0000 (20:04 +0530)
committerBjorn Andersson <andersson@kernel.org>
Sat, 3 Jan 2026 17:57:16 +0000 (11:57 -0600)
commitda9e6b1a96b1eef47542ec46b67e3f4f883fed3b
treecfe1e1afdaed8004a474e8632fd18f341d217639
parent380f8a4c734b029100dea5bc9e2f8982f72da6b9
firmware: qcom_scm: Add API to get waitqueue IRQ info

Bootloader and firmware for SM8650 and older chipsets expect node
name as "qcom_scm", in order to patch the wait queue IRQ information.
However, DeviceTree uses node name "scm" and this mismatch prevents
firmware from correctly identifying waitqueue IRQ information. Waitqueue
IRQ is used for signaling between secure and non-secure worlds.

To resolve this, introduce qcom_scm_get_waitq_irq() that'll get the
hardware IRQ number to be used from firmware instead of relying on data
provided by devicetree, thereby bypassing the DeviceTree node name
mismatch.

This hardware IRQ number is converted to a Linux IRQ number using newly
qcom_scm_fill_irq_fwspec_params(). This Linux IRQ number is then
supplied to the threaded_irq call.

Reviewed-by: Bartosz Golaszewski <brgl@kernel.org>
Signed-off-by: Unnathi Chalicheemala <unnathi.chalicheemala@oss.qualcomm.com>
Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
Reviewed-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251217-multi_waitq_scm-v11-1-f21e50e792b8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/firmware/qcom/qcom_scm.c
drivers/firmware/qcom/qcom_scm.h