lkml.org 
[lkml]   [2021]   [Sep]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH v5 03/13] firmware: arm_scmi: Add forced polling support to mailbox transport
Date
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@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
\
 
 \ /
  Last update: 2021-09-23 16:58    [W:0.144 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site