[PATCH v5 03/13] firmware: arm_scmi: Add forced polling support to mailbox transport

Cristian Marussi cristian.marussi at arm.com
Thu Sep 23 07:57:52 PDT 2021


Add a Kernel configuration option to force polling mode operation on the
TX path for SCMI Mailbox transport even when completion IRQ mechanism is
available.

Signed-off-by: Cristian Marussi <cristian.marussi at arm.com>
---
 drivers/firmware/arm_scmi/Kconfig   | 10 ++++++++++
 drivers/firmware/arm_scmi/mailbox.c |  1 +
 2 files changed, 11 insertions(+)

diff --git a/drivers/firmware/arm_scmi/Kconfig b/drivers/firmware/arm_scmi/Kconfig
index 3d7081e84853..62517417848b 100644
--- a/drivers/firmware/arm_scmi/Kconfig
+++ b/drivers/firmware/arm_scmi/Kconfig
@@ -54,6 +54,16 @@ config ARM_SCMI_TRANSPORT_MAILBOX
 	  If you want the ARM SCMI PROTOCOL stack to include support for a
 	  transport based on mailboxes, answer Y.
 
+config ARM_SCMI_TRANSPORT_MAILBOX_FORCE_POLLING
+	bool "Force polling mode for SCMI Mailbox"
+	depends on ARM_SCMI_TRANSPORT_MAILBOX
+	help
+	  Force polling mode for SCMI Mailbox transports.
+
+	  If you want the whole SCMI Mailbox transport to use polling mode on
+	  the TX path and do not use any completion IRQ facility even when
+	  available, answer Y. If unsure, say N.
+
 config ARM_SCMI_TRANSPORT_SMC
 	bool "SCMI transport based on SMC"
 	depends on HAVE_ARM_SMCCC_DISCOVERY
diff --git a/drivers/firmware/arm_scmi/mailbox.c b/drivers/firmware/arm_scmi/mailbox.c
index e09eb12bf421..4839deebee6b 100644
--- a/drivers/firmware/arm_scmi/mailbox.c
+++ b/drivers/firmware/arm_scmi/mailbox.c
@@ -201,4 +201,5 @@ const struct scmi_desc scmi_mailbox_desc = {
 	.max_rx_timeout_ms = 30, /* We may increase this if required */
 	.max_msg = 20, /* Limited by MBOX_TX_QUEUE_LEN */
 	.max_msg_size = 128,
+	.force_polling = IS_ENABLED(CONFIG_ARM_SCMI_TRANSPORT_MAILBOX_FORCE_POLLING),
 };
-- 
2.17.1




More information about the linux-arm-kernel mailing list