linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH v3 3/3] clocksource/drivers/exynos_mct: increase the size of name array
  2022-02-21 17:45     ` [PATCH v3 3/3] clocksource/drivers/exynos_mct: increase the size of name array Alim Akhtar
@ 2022-02-21 17:40       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2022-02-21 17:40 UTC (permalink / raw)
  To: Alim Akhtar, linux-arm-kernel, linux-kernel
  Cc: linux-samsung-soc, daniel.lezcano, tglx, pankaj.dubey, m.szyprowski

On 21/02/2022 18:45, Alim Akhtar wrote:
> Variable _name_ hold mct_tick number per cpu and it is currently
> limited to 10. Which restrict the scalability of the MCT driver for
> the SoC which has more local timers interrupts (>= 12).
> Increase the length of it to make mct_tick printed correctly for
> each local timer interrupts per CPU.
> 
> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
> ---
>  drivers/clocksource/exynos_mct.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>


Best regards,
Krzysztof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v3 1/3] clocksource/drivers/exynos_mct: Remove mct interrupt index enum
       [not found] <CGME20220221173402epcas5p3f85b10debc38c7ec1e1bd607055672d8@epcas5p3.samsung.com>
@ 2022-02-21 17:45 ` Alim Akhtar
       [not found]   ` <CGME20220221173404epcas5p44ceb57158d3df4808ec1f409f53a0e81@epcas5p4.samsung.com>
       [not found]   ` <CGME20220221173407epcas5p117620b55b5f5a94d6a525342374efa51@epcas5p1.samsung.com>
  0 siblings, 2 replies; 4+ messages in thread
From: Alim Akhtar @ 2022-02-21 17:45 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: krzysztof.kozlowski, linux-samsung-soc, daniel.lezcano, tglx,
	pankaj.dubey, m.szyprowski, Alim Akhtar

MCT driver define an enum which list global and local timer's
irq index. Most of them are not used but MCT_G0_IRQ and
MCT_L0_IRQ and these two are at a fixed offset/index.
Get rid of this enum and use a #define for the used irq index.

No functional changes expected.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
---
 drivers/clocksource/exynos_mct.c | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
index 6db3d5511b0f..b3f3d27a837b 100644
--- a/drivers/clocksource/exynos_mct.c
+++ b/drivers/clocksource/exynos_mct.c
@@ -60,27 +60,17 @@
 #define MCT_CLKEVENTS_RATING		350
 #endif
 
+/* There are four Global timers starting with 0 offset */
+#define MCT_G0_IRQ	0
+/* Local timers count starts after global timer count */
+#define MCT_L0_IRQ	4
+#define MCT_NR_IRQS	12
+
 enum {
 	MCT_INT_SPI,
 	MCT_INT_PPI
 };
 
-enum {
-	MCT_G0_IRQ,
-	MCT_G1_IRQ,
-	MCT_G2_IRQ,
-	MCT_G3_IRQ,
-	MCT_L0_IRQ,
-	MCT_L1_IRQ,
-	MCT_L2_IRQ,
-	MCT_L3_IRQ,
-	MCT_L4_IRQ,
-	MCT_L5_IRQ,
-	MCT_L6_IRQ,
-	MCT_L7_IRQ,
-	MCT_NR_IRQS,
-};
-
 static void __iomem *reg_base;
 static unsigned long clk_rate;
 static unsigned int mct_int_type;
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v3 2/3] clocksource/drivers/exynos_mct: bump up mct max irq number
       [not found]   ` <CGME20220221173404epcas5p44ceb57158d3df4808ec1f409f53a0e81@epcas5p4.samsung.com>
@ 2022-02-21 17:45     ` Alim Akhtar
  0 siblings, 0 replies; 4+ messages in thread
From: Alim Akhtar @ 2022-02-21 17:45 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: krzysztof.kozlowski, linux-samsung-soc, daniel.lezcano, tglx,
	pankaj.dubey, m.szyprowski, Alim Akhtar

Bump-up maximum number of MCT IRQ to match the binding
documentation. This make driver scalable for SoC which
has more than 12 timer irqs, like recently added FSD SoC.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
---
 drivers/clocksource/exynos_mct.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
index b3f3d27a837b..0c7931f7f99a 100644
--- a/drivers/clocksource/exynos_mct.c
+++ b/drivers/clocksource/exynos_mct.c
@@ -64,7 +64,8 @@
 #define MCT_G0_IRQ	0
 /* Local timers count starts after global timer count */
 #define MCT_L0_IRQ	4
-#define MCT_NR_IRQS	12
+/* Max number of IRQ as per DT binding document */
+#define MCT_NR_IRQS	20
 
 enum {
 	MCT_INT_SPI,
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v3 3/3] clocksource/drivers/exynos_mct: increase the size of name array
       [not found]   ` <CGME20220221173407epcas5p117620b55b5f5a94d6a525342374efa51@epcas5p1.samsung.com>
@ 2022-02-21 17:45     ` Alim Akhtar
  2022-02-21 17:40       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 4+ messages in thread
From: Alim Akhtar @ 2022-02-21 17:45 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: krzysztof.kozlowski, linux-samsung-soc, daniel.lezcano, tglx,
	pankaj.dubey, m.szyprowski, Alim Akhtar

Variable _name_ hold mct_tick number per cpu and it is currently
limited to 10. Which restrict the scalability of the MCT driver for
the SoC which has more local timers interrupts (>= 12).
Increase the length of it to make mct_tick printed correctly for
each local timer interrupts per CPU.

Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
---
 drivers/clocksource/exynos_mct.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
index 0c7931f7f99a..b6de352b703d 100644
--- a/drivers/clocksource/exynos_mct.c
+++ b/drivers/clocksource/exynos_mct.c
@@ -80,7 +80,11 @@ static int mct_irqs[MCT_NR_IRQS];
 struct mct_clock_event_device {
 	struct clock_event_device evt;
 	unsigned long base;
-	char name[10];
+	/**
+	 *  The length of the name must be adjusted if number of
+	 *  local timer interrupts grow over two digits
+	 */
+	char name[11];
 };
 
 static void exynos4_mct_write(unsigned int value, unsigned long offset)
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2022-02-21 17:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20220221173402epcas5p3f85b10debc38c7ec1e1bd607055672d8@epcas5p3.samsung.com>
2022-02-21 17:45 ` [PATCH v3 1/3] clocksource/drivers/exynos_mct: Remove mct interrupt index enum Alim Akhtar
     [not found]   ` <CGME20220221173404epcas5p44ceb57158d3df4808ec1f409f53a0e81@epcas5p4.samsung.com>
2022-02-21 17:45     ` [PATCH v3 2/3] clocksource/drivers/exynos_mct: bump up mct max irq number Alim Akhtar
     [not found]   ` <CGME20220221173407epcas5p117620b55b5f5a94d6a525342374efa51@epcas5p1.samsung.com>
2022-02-21 17:45     ` [PATCH v3 3/3] clocksource/drivers/exynos_mct: increase the size of name array Alim Akhtar
2022-02-21 17:40       ` Krzysztof Kozlowski

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).