linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mailbox: zynqmp-ipi: Make polling period configurable from kconfig
@ 2024-07-16 21:50 Ben Levinsky
  2024-07-17  6:05 ` Michal Simek
  0 siblings, 1 reply; 2+ messages in thread
From: Ben Levinsky @ 2024-07-16 21:50 UTC (permalink / raw)
  To: jassisinghbrar, linux-kernel, linux-arm-kernel, michal.simek,
	tanmay.shah

The polling period for ZynqMP IPI Mailbox is currently hard-coded to
five milliseconds. To avoid patching this when modifying the value, the
value is now set with default that can be overwritten from kconfig
prompt.

Signed-off-by: Ben Levinsky <ben.levinsky@amd.com>
---
 drivers/mailbox/Kconfig              | 12 ++++++++++++
 drivers/mailbox/zynqmp-ipi-mailbox.c |  9 ++++++++-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig
index 3b8842c4a340..c87a92400616 100644
--- a/drivers/mailbox/Kconfig
+++ b/drivers/mailbox/Kconfig
@@ -259,6 +259,18 @@ config ZYNQMP_IPI_MBOX
 	  message to the IPI buffer and will access the IPI control
 	  registers to kick the other processor or enquire status.
 
+config ZYNQMP_IPI_MBOX_POLL_PERIOD
+	int
+	prompt "ZynqMP IPI Mailbox driver polling period"
+	default 5
+	depends on ZYNQMP_IPI_MBOX
+	help
+	  By default the Xilinx-AMD IPI mailbox driver has a polling period
+	  of five milliseconds. If this option is set then the provided value
+	  will be used.
+
+	  Leave as default if not sure.
+
 config SUN6I_MSGBOX
 	tristate "Allwinner sun6i/sun8i/sun9i/sun50i Message Box"
 	depends on ARCH_SUNXI || COMPILE_TEST
diff --git a/drivers/mailbox/zynqmp-ipi-mailbox.c b/drivers/mailbox/zynqmp-ipi-mailbox.c
index 4acf5612487c..df540e2b9dbe 100644
--- a/drivers/mailbox/zynqmp-ipi-mailbox.c
+++ b/drivers/mailbox/zynqmp-ipi-mailbox.c
@@ -64,6 +64,13 @@
 
 #define MAX_SGI 16
 
+/* Polling period in milliseconds. */
+#ifndef CONFIG_ZYNQMP_IPI_MBOX_POLL_PERIOD
+#define ZYNQMP_IPI_MBOX_POLL_PERIOD (5U)
+#else
+#define ZYNQMP_IPI_MBOX_POLL_PERIOD CONFIG_ZYNQMP_IPI_MBOX_POLL_PERIOD
+#endif
+
 /**
  * struct zynqmp_ipi_mchan - Description of a Xilinx ZynqMP IPI mailbox channel
  * @is_opened: indicate if the IPI channel is opened
@@ -537,7 +544,7 @@ static int zynqmp_ipi_mbox_probe(struct zynqmp_ipi_mbox *ipi_mbox,
 	mbox->num_chans = 2;
 	mbox->txdone_irq = false;
 	mbox->txdone_poll = true;
-	mbox->txpoll_period = 5;
+	mbox->txpoll_period = ZYNQMP_IPI_MBOX_POLL_PERIOD;
 	mbox->of_xlate = zynqmp_ipi_of_xlate;
 	chans = devm_kzalloc(mdev, 2 * sizeof(*chans), GFP_KERNEL);
 	if (!chans)
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] mailbox: zynqmp-ipi: Make polling period configurable from kconfig
  2024-07-16 21:50 [PATCH] mailbox: zynqmp-ipi: Make polling period configurable from kconfig Ben Levinsky
@ 2024-07-17  6:05 ` Michal Simek
  0 siblings, 0 replies; 2+ messages in thread
From: Michal Simek @ 2024-07-17  6:05 UTC (permalink / raw)
  To: Ben Levinsky, jassisinghbrar, linux-kernel, linux-arm-kernel,
	tanmay.shah



On 7/16/24 23:50, Ben Levinsky wrote:
> The polling period for ZynqMP IPI Mailbox is currently hard-coded to
> five milliseconds. To avoid patching this when modifying the value, the
> value is now set with default that can be overwritten from kconfig
> prompt.
> 
> Signed-off-by: Ben Levinsky <ben.levinsky@amd.com>
> ---
>   drivers/mailbox/Kconfig              | 12 ++++++++++++
>   drivers/mailbox/zynqmp-ipi-mailbox.c |  9 ++++++++-
>   2 files changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig
> index 3b8842c4a340..c87a92400616 100644
> --- a/drivers/mailbox/Kconfig
> +++ b/drivers/mailbox/Kconfig
> @@ -259,6 +259,18 @@ config ZYNQMP_IPI_MBOX
>   	  message to the IPI buffer and will access the IPI control
>   	  registers to kick the other processor or enquire status.
>   
> +config ZYNQMP_IPI_MBOX_POLL_PERIOD
> +	int
> +	prompt "ZynqMP IPI Mailbox driver polling period"
> +	default 5
> +	depends on ZYNQMP_IPI_MBOX
> +	help
> +	  By default the Xilinx-AMD IPI mailbox driver has a polling period
> +	  of five milliseconds. If this option is set then the provided value
> +	  will be used.
> +
> +	  Leave as default if not sure.
> +
>   config SUN6I_MSGBOX
>   	tristate "Allwinner sun6i/sun8i/sun9i/sun50i Message Box"
>   	depends on ARCH_SUNXI || COMPILE_TEST
> diff --git a/drivers/mailbox/zynqmp-ipi-mailbox.c b/drivers/mailbox/zynqmp-ipi-mailbox.c
> index 4acf5612487c..df540e2b9dbe 100644
> --- a/drivers/mailbox/zynqmp-ipi-mailbox.c
> +++ b/drivers/mailbox/zynqmp-ipi-mailbox.c
> @@ -64,6 +64,13 @@
>   
>   #define MAX_SGI 16
>   
> +/* Polling period in milliseconds. */
> +#ifndef CONFIG_ZYNQMP_IPI_MBOX_POLL_PERIOD
> +#define ZYNQMP_IPI_MBOX_POLL_PERIOD (5U)
> +#else
> +#define ZYNQMP_IPI_MBOX_POLL_PERIOD CONFIG_ZYNQMP_IPI_MBOX_POLL_PERIOD
> +#endif
> +

I think it would be better if this is module parameter that you don't need to 
recompile the kernel all the time when you want to change this value.

Thanks,
Michal


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-07-17  6:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-16 21:50 [PATCH] mailbox: zynqmp-ipi: Make polling period configurable from kconfig Ben Levinsky
2024-07-17  6:05 ` Michal Simek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).