All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Universal C210 workaround/fix
@ 2011-07-26  5:50 Marek Szyprowski
  2011-07-26  5:50 ` [PATCH 1/2] ARM: Samsung: Add chained enrty/exit call to timer interrupt handler Marek Szyprowski
  2011-07-26  5:50 ` [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board Marek Szyprowski
  0 siblings, 2 replies; 16+ messages in thread
From: Marek Szyprowski @ 2011-07-26  5:50 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: Marek Szyprowski, Kyungmin Park, Kukjin Kim, Angus Ainslie

Hello,

Commit 069d4e743 removed support for local timers and forced to use MCT
as event source. However MCT is not operating properly on early revision
(EVT0) of Exynos4 SoCs, what broke support for all UniversalC210 boards
(they are EVT0 based). This short patch series adds a simple workaround
for this issue and lets UniversalC210 board to boot again.

Best regards
Marek Szyprowski
Samsung Poland R&D Center


Summary:

Marek Szyprowski (2):
  ARM: Samsung: Add chained enrty/exit call to timer interrupt handler
  ARM: Exynos4: use s5p-timer for UniversalC210 board

 arch/arm/mach-exynos4/Kconfig               |    3 +++
 arch/arm/mach-exynos4/mach-universal_c210.c |    4 +++-
 arch/arm/plat-samsung/irq-vic-timer.c       |    5 +++++
 3 files changed, 11 insertions(+), 1 deletions(-)

-- 
1.7.1.569.g6f426

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

* [PATCH 1/2] ARM: Samsung: Add chained enrty/exit call to timer interrupt handler
  2011-07-26  5:50 [PATCH 0/2] Universal C210 workaround/fix Marek Szyprowski
@ 2011-07-26  5:50 ` Marek Szyprowski
  2011-08-19  5:24   ` Kukjin Kim
  2011-07-26  5:50 ` [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board Marek Szyprowski
  1 sibling, 1 reply; 16+ messages in thread
From: Marek Szyprowski @ 2011-07-26  5:50 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: Marek Szyprowski, Kyungmin Park, Kukjin Kim, Angus Ainslie

This patch adds chained IRQ enter/exit functions to timer
interrupt handler in order to function correctly on primary
controllers with different methods of flow control.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
 arch/arm/plat-samsung/irq-vic-timer.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-samsung/irq-vic-timer.c b/arch/arm/plat-samsung/irq-vic-timer.c
index a607546..6df9e33 100644
--- a/arch/arm/plat-samsung/irq-vic-timer.c
+++ b/arch/arm/plat-samsung/irq-vic-timer.c
@@ -22,9 +22,14 @@
 #include <plat/irq-vic-timer.h>
 #include <plat/regs-timer.h>
 
+#include <asm/mach/irq.h>
+
 static void s3c_irq_demux_vic_timer(unsigned int irq, struct irq_desc *desc)
 {
+	struct irq_chip *chip = irq_get_chip(irq);
+	chained_irq_enter(chip, desc);
 	generic_handle_irq((int)desc->irq_data.handler_data);
+	chained_irq_exit(chip, desc);
 }
 
 /* We assume the IRQ_TIMER0..IRQ_TIMER4 range is continuous. */
-- 
1.7.1.569.g6f426

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

* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
  2011-07-26  5:50 [PATCH 0/2] Universal C210 workaround/fix Marek Szyprowski
  2011-07-26  5:50 ` [PATCH 1/2] ARM: Samsung: Add chained enrty/exit call to timer interrupt handler Marek Szyprowski
@ 2011-07-26  5:50 ` Marek Szyprowski
  2011-09-14  5:02     ` Kyungmin Park
  1 sibling, 1 reply; 16+ messages in thread
From: Marek Szyprowski @ 2011-07-26  5:50 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: Marek Szyprowski, Kyungmin Park, Kukjin Kim, Angus Ainslie

Commit 069d4e743 removed support for local timers and forced to use MCT as
event source. However MCT is not operating properly on early revision (EVT0)
of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0, so that
commit broke support for it. This patch provides a workaround that enables
UniversalC210 boards to boot again. s5p-timer is used as an event source.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
 arch/arm/mach-exynos4/Kconfig               |    3 +++
 arch/arm/mach-exynos4/mach-universal_c210.c |    4 +++-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig
index 9d62e13..2aad73f 100644
--- a/arch/arm/mach-exynos4/Kconfig
+++ b/arch/arm/mach-exynos4/Kconfig
@@ -173,6 +173,9 @@ config MACH_ARMLEX4210
 config MACH_UNIVERSAL_C210
 	bool "Mobile UNIVERSAL_C210 Board"
 	select CPU_EXYNOS4210
+	select S5P_HRT
+	select CLKSRC_MMIO
+	select HAVE_SCHED_CLOCK
 	select S5P_GPIO_INT
 	select S5P_DEV_FIMC0
 	select S5P_DEV_FIMC1
diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c b/arch/arm/mach-exynos4/mach-universal_c210.c
index 0e280d1..ca9e7b7 100644
--- a/arch/arm/mach-exynos4/mach-universal_c210.c
+++ b/arch/arm/mach-exynos4/mach-universal_c210.c
@@ -34,6 +34,7 @@
 #include <plat/mfc.h>
 #include <plat/sdhci.h>
 #include <plat/pd.h>
+#include <plat/s5p-time.h>
 
 #include <mach/map.h>
 
@@ -730,6 +731,7 @@ static void __init universal_map_io(void)
 	s5p_init_io(NULL, 0, S5P_VA_CHIPID);
 	s3c24xx_init_clocks(24000000);
 	s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs));
+	s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
 }
 
 static void __init universal_reserve(void)
@@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
 	.init_irq	= exynos4_init_irq,
 	.map_io		= universal_map_io,
 	.init_machine	= universal_machine_init,
-	.timer		= &exynos4_timer,
+	.timer		= &s5p_timer,
 	.reserve        = &universal_reserve,
 MACHINE_END
-- 
1.7.1.569.g6f426

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

* RE: [PATCH 1/2] ARM: Samsung: Add chained enrty/exit call to timer interrupt handler
  2011-07-26  5:50 ` [PATCH 1/2] ARM: Samsung: Add chained enrty/exit call to timer interrupt handler Marek Szyprowski
@ 2011-08-19  5:24   ` Kukjin Kim
  0 siblings, 0 replies; 16+ messages in thread
From: Kukjin Kim @ 2011-08-19  5:24 UTC (permalink / raw)
  To: 'Marek Szyprowski', linux-samsung-soc
  Cc: 'Kyungmin Park', 'Angus Ainslie'

Marek Szyprowski wrote:
> 
> This patch adds chained IRQ enter/exit functions to timer
> interrupt handler in order to function correctly on primary
> controllers with different methods of flow control.
> 
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
>  arch/arm/plat-samsung/irq-vic-timer.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/plat-samsung/irq-vic-timer.c
b/arch/arm/plat-samsung/irq-vic-
> timer.c
> index a607546..6df9e33 100644
> --- a/arch/arm/plat-samsung/irq-vic-timer.c
> +++ b/arch/arm/plat-samsung/irq-vic-timer.c
> @@ -22,9 +22,14 @@
>  #include <plat/irq-vic-timer.h>
>  #include <plat/regs-timer.h>
> 
> +#include <asm/mach/irq.h>
> +
>  static void s3c_irq_demux_vic_timer(unsigned int irq, struct irq_desc
*desc)
>  {
> +	struct irq_chip *chip = irq_get_chip(irq);
> +	chained_irq_enter(chip, desc);
>  	generic_handle_irq((int)desc->irq_data.handler_data);
> +	chained_irq_exit(chip, desc);
>  }
> 
>  /* We assume the IRQ_TIMER0..IRQ_TIMER4 range is continuous. */
> --
> 1.7.1.569.g6f426

OK, applied.
Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

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

* Re: [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
  2011-07-26  5:50 ` [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board Marek Szyprowski
@ 2011-09-14  5:02     ` Kyungmin Park
  0 siblings, 0 replies; 16+ messages in thread
From: Kyungmin Park @ 2011-09-14  5:02 UTC (permalink / raw)
  To: Marek Szyprowski, arm-linux
  Cc: Kukjin Kim, linux-samsung-soc, Angus Ainslie, Arnd Bergmann

Hi,

It's required for boot universal c210 w/ EVT0 chip.
Can you include it at 3.1 fixed branch?

Thank you,
Kyungmin Park

On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
<m.szyprowski@samsung.com> wrote:
> Commit 069d4e743 removed support for local timers and forced to use MCT as
> event source. However MCT is not operating properly on early revision (EVT0)
> of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0, so that
> commit broke support for it. This patch provides a workaround that enables
> UniversalC210 boards to boot again. s5p-timer is used as an event source.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
>  arch/arm/mach-exynos4/Kconfig               |    3 +++
>  arch/arm/mach-exynos4/mach-universal_c210.c |    4 +++-
>  2 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig
> index 9d62e13..2aad73f 100644
> --- a/arch/arm/mach-exynos4/Kconfig
> +++ b/arch/arm/mach-exynos4/Kconfig
> @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
>  config MACH_UNIVERSAL_C210
>        bool "Mobile UNIVERSAL_C210 Board"
>        select CPU_EXYNOS4210
> +       select S5P_HRT
> +       select CLKSRC_MMIO
> +       select HAVE_SCHED_CLOCK
>        select S5P_GPIO_INT
>        select S5P_DEV_FIMC0
>        select S5P_DEV_FIMC1
> diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c b/arch/arm/mach-exynos4/mach-universal_c210.c
> index 0e280d1..ca9e7b7 100644
> --- a/arch/arm/mach-exynos4/mach-universal_c210.c
> +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
> @@ -34,6 +34,7 @@
>  #include <plat/mfc.h>
>  #include <plat/sdhci.h>
>  #include <plat/pd.h>
> +#include <plat/s5p-time.h>
>
>  #include <mach/map.h>
>
> @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
>        s5p_init_io(NULL, 0, S5P_VA_CHIPID);
>        s3c24xx_init_clocks(24000000);
>        s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs));
> +       s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
>  }
>
>  static void __init universal_reserve(void)
> @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
>        .init_irq       = exynos4_init_irq,
>        .map_io         = universal_map_io,
>        .init_machine   = universal_machine_init,
> -       .timer          = &exynos4_timer,
> +       .timer          = &s5p_timer,
>        .reserve        = &universal_reserve,
>  MACHINE_END
> --
> 1.7.1.569.g6f426
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

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

* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
@ 2011-09-14  5:02     ` Kyungmin Park
  0 siblings, 0 replies; 16+ messages in thread
From: Kyungmin Park @ 2011-09-14  5:02 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

It's required for boot universal c210 w/ EVT0 chip.
Can you include it at 3.1 fixed branch?

Thank you,
Kyungmin Park

On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
<m.szyprowski@samsung.com> wrote:
> Commit 069d4e743 removed support for local timers and forced to use MCT as
> event source. However MCT is not operating properly on early revision (EVT0)
> of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0, so that
> commit broke support for it. This patch provides a workaround that enables
> UniversalC210 boards to boot again. s5p-timer is used as an event source.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++
> ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++-
> ?2 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig
> index 9d62e13..2aad73f 100644
> --- a/arch/arm/mach-exynos4/Kconfig
> +++ b/arch/arm/mach-exynos4/Kconfig
> @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
> ?config MACH_UNIVERSAL_C210
> ? ? ? ?bool "Mobile UNIVERSAL_C210 Board"
> ? ? ? ?select CPU_EXYNOS4210
> + ? ? ? select S5P_HRT
> + ? ? ? select CLKSRC_MMIO
> + ? ? ? select HAVE_SCHED_CLOCK
> ? ? ? ?select S5P_GPIO_INT
> ? ? ? ?select S5P_DEV_FIMC0
> ? ? ? ?select S5P_DEV_FIMC1
> diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c b/arch/arm/mach-exynos4/mach-universal_c210.c
> index 0e280d1..ca9e7b7 100644
> --- a/arch/arm/mach-exynos4/mach-universal_c210.c
> +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
> @@ -34,6 +34,7 @@
> ?#include <plat/mfc.h>
> ?#include <plat/sdhci.h>
> ?#include <plat/pd.h>
> +#include <plat/s5p-time.h>
>
> ?#include <mach/map.h>
>
> @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
> ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID);
> ? ? ? ?s3c24xx_init_clocks(24000000);
> ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs));
> + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
> ?}
>
> ?static void __init universal_reserve(void)
> @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
> ? ? ? ?.init_irq ? ? ? = exynos4_init_irq,
> ? ? ? ?.map_io ? ? ? ? = universal_map_io,
> ? ? ? ?.init_machine ? = universal_machine_init,
> - ? ? ? .timer ? ? ? ? ?= &exynos4_timer,
> + ? ? ? .timer ? ? ? ? ?= &s5p_timer,
> ? ? ? ?.reserve ? ? ? ?= &universal_reserve,
> ?MACHINE_END
> --
> 1.7.1.569.g6f426
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>

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

* RE: [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
  2011-09-14  5:02     ` Kyungmin Park
@ 2011-09-14 11:50       ` Kukjin Kim
  -1 siblings, 0 replies; 16+ messages in thread
From: Kukjin Kim @ 2011-09-14 11:50 UTC (permalink / raw)
  To: 'Kyungmin Park', 'Marek Szyprowski', 'arm-linux'
  Cc: linux-samsung-soc, 'Angus Ainslie', 'Arnd Bergmann'

Kyungmin Park wrote:
> 
> Hi,
> 
> It's required for boot universal c210 w/ EVT0 chip.
> Can you include it at 3.1 fixed branch?
> 
Sure, will apply into samsung-fixes for 3.1.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

> Thank you,
> Kyungmin Park
> 
> On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
> <m.szyprowski@samsung.com> wrote:
> > Commit 069d4e743 removed support for local timers and forced to use MCT
as
> > event source. However MCT is not operating properly on early revision
(EVT0)
> > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0, so
> that
> > commit broke support for it. This patch provides a workaround that
enables
> > UniversalC210 boards to boot again. s5p-timer is used as an event
source.
> >
> > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > ---
> >  arch/arm/mach-exynos4/Kconfig               |    3 +++
> >  arch/arm/mach-exynos4/mach-universal_c210.c |    4 +++-
> >  2 files changed, 6 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/arm/mach-exynos4/Kconfig
b/arch/arm/mach-exynos4/Kconfig
> > index 9d62e13..2aad73f 100644
> > --- a/arch/arm/mach-exynos4/Kconfig
> > +++ b/arch/arm/mach-exynos4/Kconfig
> > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
> >  config MACH_UNIVERSAL_C210
> >        bool "Mobile UNIVERSAL_C210 Board"
> >        select CPU_EXYNOS4210
> > +       select S5P_HRT
> > +       select CLKSRC_MMIO
> > +       select HAVE_SCHED_CLOCK
> >        select S5P_GPIO_INT
> >        select S5P_DEV_FIMC0
> >        select S5P_DEV_FIMC1
> > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c
b/arch/arm/mach-
> exynos4/mach-universal_c210.c
> > index 0e280d1..ca9e7b7 100644
> > --- a/arch/arm/mach-exynos4/mach-universal_c210.c
> > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
> > @@ -34,6 +34,7 @@
> >  #include <plat/mfc.h>
> >  #include <plat/sdhci.h>
> >  #include <plat/pd.h>
> > +#include <plat/s5p-time.h>
> >
> >  #include <mach/map.h>
> >
> > @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
> >        s5p_init_io(NULL, 0, S5P_VA_CHIPID);
> >        s3c24xx_init_clocks(24000000);
> >        s3c24xx_init_uarts(universal_uartcfgs,
ARRAY_SIZE(universal_uartcfgs));
> > +       s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
> >  }
> >
> >  static void __init universal_reserve(void)
> > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210,
> "UNIVERSAL_C210")
> >        .init_irq       = exynos4_init_irq,
> >        .map_io         = universal_map_io,
> >        .init_machine   = universal_machine_init,
> > -       .timer          = &exynos4_timer,
> > +       .timer          = &s5p_timer,
> >        .reserve        = &universal_reserve,
> >  MACHINE_END
> > --
> > 1.7.1.569.g6f426
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
linux-samsung-soc" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >

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

* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
@ 2011-09-14 11:50       ` Kukjin Kim
  0 siblings, 0 replies; 16+ messages in thread
From: Kukjin Kim @ 2011-09-14 11:50 UTC (permalink / raw)
  To: linux-arm-kernel

Kyungmin Park wrote:
> 
> Hi,
> 
> It's required for boot universal c210 w/ EVT0 chip.
> Can you include it at 3.1 fixed branch?
> 
Sure, will apply into samsung-fixes for 3.1.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

> Thank you,
> Kyungmin Park
> 
> On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
> <m.szyprowski@samsung.com> wrote:
> > Commit 069d4e743 removed support for local timers and forced to use MCT
as
> > event source. However MCT is not operating properly on early revision
(EVT0)
> > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0, so
> that
> > commit broke support for it. This patch provides a workaround that
enables
> > UniversalC210 boards to boot again. s5p-timer is used as an event
source.
> >
> > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > ---
> > ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++
> > ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++-
> > ?2 files changed, 6 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/arm/mach-exynos4/Kconfig
b/arch/arm/mach-exynos4/Kconfig
> > index 9d62e13..2aad73f 100644
> > --- a/arch/arm/mach-exynos4/Kconfig
> > +++ b/arch/arm/mach-exynos4/Kconfig
> > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
> > ?config MACH_UNIVERSAL_C210
> > ? ? ? ?bool "Mobile UNIVERSAL_C210 Board"
> > ? ? ? ?select CPU_EXYNOS4210
> > + ? ? ? select S5P_HRT
> > + ? ? ? select CLKSRC_MMIO
> > + ? ? ? select HAVE_SCHED_CLOCK
> > ? ? ? ?select S5P_GPIO_INT
> > ? ? ? ?select S5P_DEV_FIMC0
> > ? ? ? ?select S5P_DEV_FIMC1
> > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c
b/arch/arm/mach-
> exynos4/mach-universal_c210.c
> > index 0e280d1..ca9e7b7 100644
> > --- a/arch/arm/mach-exynos4/mach-universal_c210.c
> > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
> > @@ -34,6 +34,7 @@
> > ?#include <plat/mfc.h>
> > ?#include <plat/sdhci.h>
> > ?#include <plat/pd.h>
> > +#include <plat/s5p-time.h>
> >
> > ?#include <mach/map.h>
> >
> > @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
> > ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID);
> > ? ? ? ?s3c24xx_init_clocks(24000000);
> > ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs,
ARRAY_SIZE(universal_uartcfgs));
> > + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
> > ?}
> >
> > ?static void __init universal_reserve(void)
> > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210,
> "UNIVERSAL_C210")
> > ? ? ? ?.init_irq ? ? ? = exynos4_init_irq,
> > ? ? ? ?.map_io ? ? ? ? = universal_map_io,
> > ? ? ? ?.init_machine ? = universal_machine_init,
> > - ? ? ? .timer ? ? ? ? ?= &exynos4_timer,
> > + ? ? ? .timer ? ? ? ? ?= &s5p_timer,
> > ? ? ? ?.reserve ? ? ? ?= &universal_reserve,
> > ?MACHINE_END
> > --
> > 1.7.1.569.g6f426
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
linux-samsung-soc" in
> > the body of a message to majordomo at vger.kernel.org
> > More majordomo info at ?http://vger.kernel.org/majordomo-info.html
> >

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

* RE: [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
  2011-09-14  5:02     ` Kyungmin Park
@ 2011-09-15  6:03       ` Kukjin Kim
  -1 siblings, 0 replies; 16+ messages in thread
From: Kukjin Kim @ 2011-09-15  6:03 UTC (permalink / raw)
  To: 'Kukjin Kim', 'Kyungmin Park',
	'Marek Szyprowski', 'arm-linux'
  Cc: linux-samsung-soc, 'Angus Ainslie',
	'Arnd Bergmann',
	chaos.youn

Kukjin Kim wrote:
> 
> Kyungmin Park wrote:
> >
> > Hi,
> >
> > It's required for boot universal c210 w/ EVT0 chip.
> > Can you include it at 3.1 fixed branch?
> >
> Sure, will apply into samsung-fixes for 3.1.

Unfortunately, it happens boot failure with this patch on other EXYNOS4210
boards and it is due to HAVE_SCHED_CLOCK.

> > > +       select HAVE_SCHED_CLOCK

I think, we need to sort out the method...

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

> 
> > Thank you,
> > Kyungmin Park
> >
> > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
> > <m.szyprowski@samsung.com> wrote:
> > > Commit 069d4e743 removed support for local timers and forced to use
MCT
> as
> > > event source. However MCT is not operating properly on early revision
(EVT0)
> > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0,
so
> > that
> > > commit broke support for it. This patch provides a workaround that
enables
> > > UniversalC210 boards to boot again. s5p-timer is used as an event
source.
> > >
> > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > > ---
> > >  arch/arm/mach-exynos4/Kconfig               |    3 +++
> > >  arch/arm/mach-exynos4/mach-universal_c210.c |    4 +++-
> > >  2 files changed, 6 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/arch/arm/mach-exynos4/Kconfig
b/arch/arm/mach-exynos4/Kconfig
> > > index 9d62e13..2aad73f 100644
> > > --- a/arch/arm/mach-exynos4/Kconfig
> > > +++ b/arch/arm/mach-exynos4/Kconfig
> > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
> > >  config MACH_UNIVERSAL_C210
> > >        bool "Mobile UNIVERSAL_C210 Board"
> > >        select CPU_EXYNOS4210
> > > +       select S5P_HRT
> > > +       select CLKSRC_MMIO
> > > +       select HAVE_SCHED_CLOCK
> > >        select S5P_GPIO_INT
> > >        select S5P_DEV_FIMC0
> > >        select S5P_DEV_FIMC1
> > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c
b/arch/arm/mach-
> > exynos4/mach-universal_c210.c
> > > index 0e280d1..ca9e7b7 100644
> > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c
> > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
> > > @@ -34,6 +34,7 @@
> > >  #include <plat/mfc.h>
> > >  #include <plat/sdhci.h>
> > >  #include <plat/pd.h>
> > > +#include <plat/s5p-time.h>
> > >
> > >  #include <mach/map.h>
> > >
> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
> > >        s5p_init_io(NULL, 0, S5P_VA_CHIPID);
> > >        s3c24xx_init_clocks(24000000);
> > >        s3c24xx_init_uarts(universal_uartcfgs,
ARRAY_SIZE(universal_uartcfgs));
> > > +       s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
> > >  }
> > >
> > >  static void __init universal_reserve(void)
> > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210,
> > "UNIVERSAL_C210")
> > >        .init_irq       = exynos4_init_irq,
> > >        .map_io         = universal_map_io,
> > >        .init_machine   = universal_machine_init,
> > > -       .timer          = &exynos4_timer,
> > > +       .timer          = &s5p_timer,
> > >        .reserve        = &universal_reserve,
> > >  MACHINE_END
> > > --
> > > 1.7.1.569.g6f426
> > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
linux-samsung-soc" in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > >

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

* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
@ 2011-09-15  6:03       ` Kukjin Kim
  0 siblings, 0 replies; 16+ messages in thread
From: Kukjin Kim @ 2011-09-15  6:03 UTC (permalink / raw)
  To: linux-arm-kernel

Kukjin Kim wrote:
> 
> Kyungmin Park wrote:
> >
> > Hi,
> >
> > It's required for boot universal c210 w/ EVT0 chip.
> > Can you include it at 3.1 fixed branch?
> >
> Sure, will apply into samsung-fixes for 3.1.

Unfortunately, it happens boot failure with this patch on other EXYNOS4210
boards and it is due to HAVE_SCHED_CLOCK.

> > > +       select HAVE_SCHED_CLOCK

I think, we need to sort out the method...

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

> 
> > Thank you,
> > Kyungmin Park
> >
> > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
> > <m.szyprowski@samsung.com> wrote:
> > > Commit 069d4e743 removed support for local timers and forced to use
MCT
> as
> > > event source. However MCT is not operating properly on early revision
(EVT0)
> > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0,
so
> > that
> > > commit broke support for it. This patch provides a workaround that
enables
> > > UniversalC210 boards to boot again. s5p-timer is used as an event
source.
> > >
> > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > > ---
> > > ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++
> > > ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++-
> > > ?2 files changed, 6 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/arch/arm/mach-exynos4/Kconfig
b/arch/arm/mach-exynos4/Kconfig
> > > index 9d62e13..2aad73f 100644
> > > --- a/arch/arm/mach-exynos4/Kconfig
> > > +++ b/arch/arm/mach-exynos4/Kconfig
> > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
> > > ?config MACH_UNIVERSAL_C210
> > > ? ? ? ?bool "Mobile UNIVERSAL_C210 Board"
> > > ? ? ? ?select CPU_EXYNOS4210
> > > + ? ? ? select S5P_HRT
> > > + ? ? ? select CLKSRC_MMIO
> > > + ? ? ? select HAVE_SCHED_CLOCK
> > > ? ? ? ?select S5P_GPIO_INT
> > > ? ? ? ?select S5P_DEV_FIMC0
> > > ? ? ? ?select S5P_DEV_FIMC1
> > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c
b/arch/arm/mach-
> > exynos4/mach-universal_c210.c
> > > index 0e280d1..ca9e7b7 100644
> > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c
> > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
> > > @@ -34,6 +34,7 @@
> > > ?#include <plat/mfc.h>
> > > ?#include <plat/sdhci.h>
> > > ?#include <plat/pd.h>
> > > +#include <plat/s5p-time.h>
> > >
> > > ?#include <mach/map.h>
> > >
> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
> > > ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID);
> > > ? ? ? ?s3c24xx_init_clocks(24000000);
> > > ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs,
ARRAY_SIZE(universal_uartcfgs));
> > > + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
> > > ?}
> > >
> > > ?static void __init universal_reserve(void)
> > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210,
> > "UNIVERSAL_C210")
> > > ? ? ? ?.init_irq ? ? ? = exynos4_init_irq,
> > > ? ? ? ?.map_io ? ? ? ? = universal_map_io,
> > > ? ? ? ?.init_machine ? = universal_machine_init,
> > > - ? ? ? .timer ? ? ? ? ?= &exynos4_timer,
> > > + ? ? ? .timer ? ? ? ? ?= &s5p_timer,
> > > ? ? ? ?.reserve ? ? ? ?= &universal_reserve,
> > > ?MACHINE_END
> > > --
> > > 1.7.1.569.g6f426
> > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
linux-samsung-soc" in
> > > the body of a message to majordomo at vger.kernel.org
> > > More majordomo info at ?http://vger.kernel.org/majordomo-info.html
> > >

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

* Re: [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
  2011-09-15  6:03       ` Kukjin Kim
@ 2011-09-15  6:32         ` Kyungmin Park
  -1 siblings, 0 replies; 16+ messages in thread
From: Kyungmin Park @ 2011-09-15  6:32 UTC (permalink / raw)
  To: Kukjin Kim
  Cc: Marek Szyprowski, arm-linux, linux-samsung-soc, Angus Ainslie,
	Arnd Bergmann, chaos.youn

On Thu, Sep 15, 2011 at 3:03 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> Kukjin Kim wrote:
>>
>> Kyungmin Park wrote:
>> >
>> > Hi,
>> >
>> > It's required for boot universal c210 w/ EVT0 chip.
>> > Can you include it at 3.1 fixed branch?
>> >
>> Sure, will apply into samsung-fixes for 3.1.
>
> Unfortunately, it happens boot failure with this patch on other EXYNOS4210
> boards and it is due to HAVE_SCHED_CLOCK.
>
>> > > +       select HAVE_SCHED_CLOCK
>
> I think, we need to sort out the method...
As sched_clock_postinit is called at generic time code by
HAVE_SCHED_CLOCK. and there's no sched_clock_update_fn() is defined.
As a work-around, you can test it.

static void sched_clock_poll(unsigned long wrap_ticks)
{
        mod_timer(&sched_clock_timer, round_jiffies(jiffies + wrap_ticks));
        if (sched_clock_update_fn)
                sched_clock_update_fn();
}

To solve the problem correctly. you can add init_sched_clock at
"arch/arm/mach-exynos4/mct.c" properly

Please test the work-around and share the result. I'll try to find the
proper place to add init_sched_clock at mct.c

Thank you,
Kyungmin Park


>
> Thanks.
>
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
>
>>
>> > Thank you,
>> > Kyungmin Park
>> >
>> > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
>> > <m.szyprowski@samsung.com> wrote:
>> > > Commit 069d4e743 removed support for local timers and forced to use
> MCT
>> as
>> > > event source. However MCT is not operating properly on early revision
> (EVT0)
>> > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0,
> so
>> > that
>> > > commit broke support for it. This patch provides a workaround that
> enables
>> > > UniversalC210 boards to boot again. s5p-timer is used as an event
> source.
>> > >
>> > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
>> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> > > ---
>> > >  arch/arm/mach-exynos4/Kconfig               |    3 +++
>> > >  arch/arm/mach-exynos4/mach-universal_c210.c |    4 +++-
>> > >  2 files changed, 6 insertions(+), 1 deletions(-)
>> > >
>> > > diff --git a/arch/arm/mach-exynos4/Kconfig
> b/arch/arm/mach-exynos4/Kconfig
>> > > index 9d62e13..2aad73f 100644
>> > > --- a/arch/arm/mach-exynos4/Kconfig
>> > > +++ b/arch/arm/mach-exynos4/Kconfig
>> > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
>> > >  config MACH_UNIVERSAL_C210
>> > >        bool "Mobile UNIVERSAL_C210 Board"
>> > >        select CPU_EXYNOS4210
>> > > +       select S5P_HRT
>> > > +       select CLKSRC_MMIO
>> > > +       select HAVE_SCHED_CLOCK
>> > >        select S5P_GPIO_INT
>> > >        select S5P_DEV_FIMC0
>> > >        select S5P_DEV_FIMC1
>> > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c
> b/arch/arm/mach-
>> > exynos4/mach-universal_c210.c
>> > > index 0e280d1..ca9e7b7 100644
>> > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c
>> > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
>> > > @@ -34,6 +34,7 @@
>> > >  #include <plat/mfc.h>
>> > >  #include <plat/sdhci.h>
>> > >  #include <plat/pd.h>
>> > > +#include <plat/s5p-time.h>
>> > >
>> > >  #include <mach/map.h>
>> > >
>> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
>> > >        s5p_init_io(NULL, 0, S5P_VA_CHIPID);
>> > >        s3c24xx_init_clocks(24000000);
>> > >        s3c24xx_init_uarts(universal_uartcfgs,
> ARRAY_SIZE(universal_uartcfgs));
>> > > +       s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
>> > >  }
>> > >
>> > >  static void __init universal_reserve(void)
>> > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210,
>> > "UNIVERSAL_C210")
>> > >        .init_irq       = exynos4_init_irq,
>> > >        .map_io         = universal_map_io,
>> > >        .init_machine   = universal_machine_init,
>> > > -       .timer          = &exynos4_timer,
>> > > +       .timer          = &s5p_timer,
>> > >        .reserve        = &universal_reserve,
>> > >  MACHINE_END
>> > > --
>> > > 1.7.1.569.g6f426
>> > >
>> > > --
>> > > To unsubscribe from this list: send the line "unsubscribe
> linux-samsung-soc" in
>> > > the body of a message to majordomo@vger.kernel.org
>> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> > >
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

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

* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
@ 2011-09-15  6:32         ` Kyungmin Park
  0 siblings, 0 replies; 16+ messages in thread
From: Kyungmin Park @ 2011-09-15  6:32 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 15, 2011 at 3:03 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> Kukjin Kim wrote:
>>
>> Kyungmin Park wrote:
>> >
>> > Hi,
>> >
>> > It's required for boot universal c210 w/ EVT0 chip.
>> > Can you include it at 3.1 fixed branch?
>> >
>> Sure, will apply into samsung-fixes for 3.1.
>
> Unfortunately, it happens boot failure with this patch on other EXYNOS4210
> boards and it is due to HAVE_SCHED_CLOCK.
>
>> > > + ? ? ? select HAVE_SCHED_CLOCK
>
> I think, we need to sort out the method...
As sched_clock_postinit is called at generic time code by
HAVE_SCHED_CLOCK. and there's no sched_clock_update_fn() is defined.
As a work-around, you can test it.

static void sched_clock_poll(unsigned long wrap_ticks)
{
        mod_timer(&sched_clock_timer, round_jiffies(jiffies + wrap_ticks));
        if (sched_clock_update_fn)
                sched_clock_update_fn();
}

To solve the problem correctly. you can add init_sched_clock at
"arch/arm/mach-exynos4/mct.c" properly

Please test the work-around and share the result. I'll try to find the
proper place to add init_sched_clock at mct.c

Thank you,
Kyungmin Park


>
> Thanks.
>
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
>
>>
>> > Thank you,
>> > Kyungmin Park
>> >
>> > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
>> > <m.szyprowski@samsung.com> wrote:
>> > > Commit 069d4e743 removed support for local timers and forced to use
> MCT
>> as
>> > > event source. However MCT is not operating properly on early revision
> (EVT0)
>> > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4 EVT0,
> so
>> > that
>> > > commit broke support for it. This patch provides a workaround that
> enables
>> > > UniversalC210 boards to boot again. s5p-timer is used as an event
> source.
>> > >
>> > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
>> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> > > ---
>> > > ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++
>> > > ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++-
>> > > ?2 files changed, 6 insertions(+), 1 deletions(-)
>> > >
>> > > diff --git a/arch/arm/mach-exynos4/Kconfig
> b/arch/arm/mach-exynos4/Kconfig
>> > > index 9d62e13..2aad73f 100644
>> > > --- a/arch/arm/mach-exynos4/Kconfig
>> > > +++ b/arch/arm/mach-exynos4/Kconfig
>> > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
>> > > ?config MACH_UNIVERSAL_C210
>> > > ? ? ? ?bool "Mobile UNIVERSAL_C210 Board"
>> > > ? ? ? ?select CPU_EXYNOS4210
>> > > + ? ? ? select S5P_HRT
>> > > + ? ? ? select CLKSRC_MMIO
>> > > + ? ? ? select HAVE_SCHED_CLOCK
>> > > ? ? ? ?select S5P_GPIO_INT
>> > > ? ? ? ?select S5P_DEV_FIMC0
>> > > ? ? ? ?select S5P_DEV_FIMC1
>> > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c
> b/arch/arm/mach-
>> > exynos4/mach-universal_c210.c
>> > > index 0e280d1..ca9e7b7 100644
>> > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c
>> > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
>> > > @@ -34,6 +34,7 @@
>> > > ?#include <plat/mfc.h>
>> > > ?#include <plat/sdhci.h>
>> > > ?#include <plat/pd.h>
>> > > +#include <plat/s5p-time.h>
>> > >
>> > > ?#include <mach/map.h>
>> > >
>> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
>> > > ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID);
>> > > ? ? ? ?s3c24xx_init_clocks(24000000);
>> > > ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs,
> ARRAY_SIZE(universal_uartcfgs));
>> > > + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
>> > > ?}
>> > >
>> > > ?static void __init universal_reserve(void)
>> > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210,
>> > "UNIVERSAL_C210")
>> > > ? ? ? ?.init_irq ? ? ? = exynos4_init_irq,
>> > > ? ? ? ?.map_io ? ? ? ? = universal_map_io,
>> > > ? ? ? ?.init_machine ? = universal_machine_init,
>> > > - ? ? ? .timer ? ? ? ? ?= &exynos4_timer,
>> > > + ? ? ? .timer ? ? ? ? ?= &s5p_timer,
>> > > ? ? ? ?.reserve ? ? ? ?= &universal_reserve,
>> > > ?MACHINE_END
>> > > --
>> > > 1.7.1.569.g6f426
>> > >
>> > > --
>> > > To unsubscribe from this list: send the line "unsubscribe
> linux-samsung-soc" in
>> > > the body of a message to majordomo at vger.kernel.org
>> > > More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>> > >
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>

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

* RE: [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
  2011-09-15  6:32         ` Kyungmin Park
@ 2011-09-15  7:38           ` Kukjin Kim
  -1 siblings, 0 replies; 16+ messages in thread
From: Kukjin Kim @ 2011-09-15  7:38 UTC (permalink / raw)
  To: 'Kyungmin Park'
  Cc: 'Marek Szyprowski', 'arm-linux',
	linux-samsung-soc, 'Angus Ainslie',
	'Arnd Bergmann', chaos.youn, 'Russell King'

Kyungmin Park wrote:
> 
> On Thu, Sep 15, 2011 at 3:03 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> > Kukjin Kim wrote:
> >>
> >> Kyungmin Park wrote:
> >> >
> >> > Hi,
> >> >
> >> > It's required for boot universal c210 w/ EVT0 chip.
> >> > Can you include it at 3.1 fixed branch?
> >> >
> >> Sure, will apply into samsung-fixes for 3.1.
> >
> > Unfortunately, it happens boot failure with this patch on other
EXYNOS4210
> > boards and it is due to HAVE_SCHED_CLOCK.
> >
> >> > > +       select HAVE_SCHED_CLOCK
> >
> > I think, we need to sort out the method...
> As sched_clock_postinit is called at generic time code by
> HAVE_SCHED_CLOCK. and there's no sched_clock_update_fn() is defined.
> As a work-around, you can test it.
> 
> static void sched_clock_poll(unsigned long wrap_ticks)
> {
>         mod_timer(&sched_clock_timer, round_jiffies(jiffies +
wrap_ticks));
>         if (sched_clock_update_fn)
>                 sched_clock_update_fn();
> }
> 

Following is better than above but need Russell's review

diff --git a/arch/arm/kernel/sched_clock.c b/arch/arm/kernel/sched_clock.c
index 9a46370..b1a1283 100644
--- a/arch/arm/kernel/sched_clock.c
+++ b/arch/arm/kernel/sched_clock.c
@@ -70,5 +70,6 @@ void __init init_sched_clock(struct clock_data *cd, void
(*update)(void),

 void __init sched_clock_postinit(void)
 {
-       sched_clock_poll(sched_clock_timer.data);
+       if (sched_clock_update_fn)
+               sched_clock_poll(sched_clock_timer.data);
 }


> To solve the problem correctly. you can add init_sched_clock at
> "arch/arm/mach-exynos4/mct.c" properly
> 
> Please test the work-around and share the result. I'll try to find the
> proper place to add init_sched_clock at mct.c
> 
> Thank you,
> Kyungmin Park
> 
> 
> >
> > Thanks.
> >
> > Best regards,
> > Kgene.
> > --
> > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> > SW Solution Development Team, Samsung Electronics Co., Ltd.
> >
> >>
> >> > Thank you,
> >> > Kyungmin Park
> >> >
> >> > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
> >> > <m.szyprowski@samsung.com> wrote:
> >> > > Commit 069d4e743 removed support for local timers and forced to use
> > MCT
> >> as
> >> > > event source. However MCT is not operating properly on early
revision
> > (EVT0)
> >> > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4
EVT0,
> > so
> >> > that
> >> > > commit broke support for it. This patch provides a workaround that
> > enables
> >> > > UniversalC210 boards to boot again. s5p-timer is used as an event
> > source.
> >> > >
> >> > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> >> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> >> > > ---
> >> > >  arch/arm/mach-exynos4/Kconfig               |    3 +++
> >> > >  arch/arm/mach-exynos4/mach-universal_c210.c |    4 +++-
> >> > >  2 files changed, 6 insertions(+), 1 deletions(-)
> >> > >
> >> > > diff --git a/arch/arm/mach-exynos4/Kconfig
> > b/arch/arm/mach-exynos4/Kconfig
> >> > > index 9d62e13..2aad73f 100644
> >> > > --- a/arch/arm/mach-exynos4/Kconfig
> >> > > +++ b/arch/arm/mach-exynos4/Kconfig
> >> > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
> >> > >  config MACH_UNIVERSAL_C210
> >> > >        bool "Mobile UNIVERSAL_C210 Board"
> >> > >        select CPU_EXYNOS4210
> >> > > +       select S5P_HRT
> >> > > +       select CLKSRC_MMIO
> >> > > +       select HAVE_SCHED_CLOCK
> >> > >        select S5P_GPIO_INT
> >> > >        select S5P_DEV_FIMC0
> >> > >        select S5P_DEV_FIMC1
> >> > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c
> > b/arch/arm/mach-
> >> > exynos4/mach-universal_c210.c
> >> > > index 0e280d1..ca9e7b7 100644
> >> > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c
> >> > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
> >> > > @@ -34,6 +34,7 @@
> >> > >  #include <plat/mfc.h>
> >> > >  #include <plat/sdhci.h>
> >> > >  #include <plat/pd.h>
> >> > > +#include <plat/s5p-time.h>
> >> > >
> >> > >  #include <mach/map.h>
> >> > >
> >> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
> >> > >        s5p_init_io(NULL, 0, S5P_VA_CHIPID);
> >> > >        s3c24xx_init_clocks(24000000);
> >> > >        s3c24xx_init_uarts(universal_uartcfgs,
> > ARRAY_SIZE(universal_uartcfgs));
> >> > > +       s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
> >> > >  }
> >> > >
> >> > >  static void __init universal_reserve(void)
> >> > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210,
> >> > "UNIVERSAL_C210")
> >> > >        .init_irq       = exynos4_init_irq,
> >> > >        .map_io         = universal_map_io,
> >> > >        .init_machine   = universal_machine_init,
> >> > > -       .timer          = &exynos4_timer,
> >> > > +       .timer          = &s5p_timer,
> >> > >        .reserve        = &universal_reserve,
> >> > >  MACHINE_END
> >> > > --
> >> > > 1.7.1.569.g6f426
> >> > >
> >> > > --


Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

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

* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
@ 2011-09-15  7:38           ` Kukjin Kim
  0 siblings, 0 replies; 16+ messages in thread
From: Kukjin Kim @ 2011-09-15  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

Kyungmin Park wrote:
> 
> On Thu, Sep 15, 2011 at 3:03 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> > Kukjin Kim wrote:
> >>
> >> Kyungmin Park wrote:
> >> >
> >> > Hi,
> >> >
> >> > It's required for boot universal c210 w/ EVT0 chip.
> >> > Can you include it at 3.1 fixed branch?
> >> >
> >> Sure, will apply into samsung-fixes for 3.1.
> >
> > Unfortunately, it happens boot failure with this patch on other
EXYNOS4210
> > boards and it is due to HAVE_SCHED_CLOCK.
> >
> >> > > + ? ? ? select HAVE_SCHED_CLOCK
> >
> > I think, we need to sort out the method...
> As sched_clock_postinit is called at generic time code by
> HAVE_SCHED_CLOCK. and there's no sched_clock_update_fn() is defined.
> As a work-around, you can test it.
> 
> static void sched_clock_poll(unsigned long wrap_ticks)
> {
>         mod_timer(&sched_clock_timer, round_jiffies(jiffies +
wrap_ticks));
>         if (sched_clock_update_fn)
>                 sched_clock_update_fn();
> }
> 

Following is better than above but need Russell's review

diff --git a/arch/arm/kernel/sched_clock.c b/arch/arm/kernel/sched_clock.c
index 9a46370..b1a1283 100644
--- a/arch/arm/kernel/sched_clock.c
+++ b/arch/arm/kernel/sched_clock.c
@@ -70,5 +70,6 @@ void __init init_sched_clock(struct clock_data *cd, void
(*update)(void),

 void __init sched_clock_postinit(void)
 {
-       sched_clock_poll(sched_clock_timer.data);
+       if (sched_clock_update_fn)
+               sched_clock_poll(sched_clock_timer.data);
 }


> To solve the problem correctly. you can add init_sched_clock at
> "arch/arm/mach-exynos4/mct.c" properly
> 
> Please test the work-around and share the result. I'll try to find the
> proper place to add init_sched_clock at mct.c
> 
> Thank you,
> Kyungmin Park
> 
> 
> >
> > Thanks.
> >
> > Best regards,
> > Kgene.
> > --
> > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> > SW Solution Development Team, Samsung Electronics Co., Ltd.
> >
> >>
> >> > Thank you,
> >> > Kyungmin Park
> >> >
> >> > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
> >> > <m.szyprowski@samsung.com> wrote:
> >> > > Commit 069d4e743 removed support for local timers and forced to use
> > MCT
> >> as
> >> > > event source. However MCT is not operating properly on early
revision
> > (EVT0)
> >> > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4
EVT0,
> > so
> >> > that
> >> > > commit broke support for it. This patch provides a workaround that
> > enables
> >> > > UniversalC210 boards to boot again. s5p-timer is used as an event
> > source.
> >> > >
> >> > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> >> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> >> > > ---
> >> > > ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++
> >> > > ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++-
> >> > > ?2 files changed, 6 insertions(+), 1 deletions(-)
> >> > >
> >> > > diff --git a/arch/arm/mach-exynos4/Kconfig
> > b/arch/arm/mach-exynos4/Kconfig
> >> > > index 9d62e13..2aad73f 100644
> >> > > --- a/arch/arm/mach-exynos4/Kconfig
> >> > > +++ b/arch/arm/mach-exynos4/Kconfig
> >> > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
> >> > > ?config MACH_UNIVERSAL_C210
> >> > > ? ? ? ?bool "Mobile UNIVERSAL_C210 Board"
> >> > > ? ? ? ?select CPU_EXYNOS4210
> >> > > + ? ? ? select S5P_HRT
> >> > > + ? ? ? select CLKSRC_MMIO
> >> > > + ? ? ? select HAVE_SCHED_CLOCK
> >> > > ? ? ? ?select S5P_GPIO_INT
> >> > > ? ? ? ?select S5P_DEV_FIMC0
> >> > > ? ? ? ?select S5P_DEV_FIMC1
> >> > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c
> > b/arch/arm/mach-
> >> > exynos4/mach-universal_c210.c
> >> > > index 0e280d1..ca9e7b7 100644
> >> > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c
> >> > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
> >> > > @@ -34,6 +34,7 @@
> >> > > ?#include <plat/mfc.h>
> >> > > ?#include <plat/sdhci.h>
> >> > > ?#include <plat/pd.h>
> >> > > +#include <plat/s5p-time.h>
> >> > >
> >> > > ?#include <mach/map.h>
> >> > >
> >> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
> >> > > ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID);
> >> > > ? ? ? ?s3c24xx_init_clocks(24000000);
> >> > > ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs,
> > ARRAY_SIZE(universal_uartcfgs));
> >> > > + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
> >> > > ?}
> >> > >
> >> > > ?static void __init universal_reserve(void)
> >> > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210,
> >> > "UNIVERSAL_C210")
> >> > > ? ? ? ?.init_irq ? ? ? = exynos4_init_irq,
> >> > > ? ? ? ?.map_io ? ? ? ? = universal_map_io,
> >> > > ? ? ? ?.init_machine ? = universal_machine_init,
> >> > > - ? ? ? .timer ? ? ? ? ?= &exynos4_timer,
> >> > > + ? ? ? .timer ? ? ? ? ?= &s5p_timer,
> >> > > ? ? ? ?.reserve ? ? ? ?= &universal_reserve,
> >> > > ?MACHINE_END
> >> > > --
> >> > > 1.7.1.569.g6f426
> >> > >
> >> > > --


Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

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

* Re: [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
  2011-09-15  7:38           ` Kukjin Kim
@ 2011-09-15  7:42             ` Kyungmin Park
  -1 siblings, 0 replies; 16+ messages in thread
From: Kyungmin Park @ 2011-09-15  7:42 UTC (permalink / raw)
  To: Kukjin Kim
  Cc: Marek Szyprowski, arm-linux, linux-samsung-soc, Angus Ainslie,
	Arnd Bergmann, chaos.youn, Russell King

On Thu, Sep 15, 2011 at 4:38 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> Kyungmin Park wrote:
>>
>> On Thu, Sep 15, 2011 at 3:03 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>> > Kukjin Kim wrote:
>> >>
>> >> Kyungmin Park wrote:
>> >> >
>> >> > Hi,
>> >> >
>> >> > It's required for boot universal c210 w/ EVT0 chip.
>> >> > Can you include it at 3.1 fixed branch?
>> >> >
>> >> Sure, will apply into samsung-fixes for 3.1.
>> >
>> > Unfortunately, it happens boot failure with this patch on other
> EXYNOS4210
>> > boards and it is due to HAVE_SCHED_CLOCK.
>> >
>> >> > > +       select HAVE_SCHED_CLOCK
>> >
>> > I think, we need to sort out the method...
>> As sched_clock_postinit is called at generic time code by
>> HAVE_SCHED_CLOCK. and there's no sched_clock_update_fn() is defined.
>> As a work-around, you can test it.
>>
>> static void sched_clock_poll(unsigned long wrap_ticks)
>> {
>>         mod_timer(&sched_clock_timer, round_jiffies(jiffies +
> wrap_ticks));
>>         if (sched_clock_update_fn)
>>                 sched_clock_update_fn();
>> }
>>
>
> Following is better than above but need Russell's review
Right, during the make a patch, I also found it. Check the patch

And boot tested both EVT0 and others.
>
> diff --git a/arch/arm/kernel/sched_clock.c b/arch/arm/kernel/sched_clock.c
> index 9a46370..b1a1283 100644
> --- a/arch/arm/kernel/sched_clock.c
> +++ b/arch/arm/kernel/sched_clock.c
> @@ -70,5 +70,6 @@ void __init init_sched_clock(struct clock_data *cd, void
> (*update)(void),
>
>  void __init sched_clock_postinit(void)
>  {
> -       sched_clock_poll(sched_clock_timer.data);
> +       if (sched_clock_update_fn)
> +               sched_clock_poll(sched_clock_timer.data);
>  }
>
>
>> To solve the problem correctly. you can add init_sched_clock at
>> "arch/arm/mach-exynos4/mct.c" properly
>>
>> Please test the work-around and share the result. I'll try to find the
>> proper place to add init_sched_clock at mct.c
>>
>> Thank you,
>> Kyungmin Park
>>
>>
>> >
>> > Thanks.
>> >
>> > Best regards,
>> > Kgene.
>> > --
>> > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
>> > SW Solution Development Team, Samsung Electronics Co., Ltd.
>> >
>> >>
>> >> > Thank you,
>> >> > Kyungmin Park
>> >> >
>> >> > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
>> >> > <m.szyprowski@samsung.com> wrote:
>> >> > > Commit 069d4e743 removed support for local timers and forced to use
>> > MCT
>> >> as
>> >> > > event source. However MCT is not operating properly on early
> revision
>> > (EVT0)
>> >> > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4
> EVT0,
>> > so
>> >> > that
>> >> > > commit broke support for it. This patch provides a workaround that
>> > enables
>> >> > > UniversalC210 boards to boot again. s5p-timer is used as an event
>> > source.
>> >> > >
>> >> > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
>> >> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> >> > > ---
>> >> > >  arch/arm/mach-exynos4/Kconfig               |    3 +++
>> >> > >  arch/arm/mach-exynos4/mach-universal_c210.c |    4 +++-
>> >> > >  2 files changed, 6 insertions(+), 1 deletions(-)
>> >> > >
>> >> > > diff --git a/arch/arm/mach-exynos4/Kconfig
>> > b/arch/arm/mach-exynos4/Kconfig
>> >> > > index 9d62e13..2aad73f 100644
>> >> > > --- a/arch/arm/mach-exynos4/Kconfig
>> >> > > +++ b/arch/arm/mach-exynos4/Kconfig
>> >> > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
>> >> > >  config MACH_UNIVERSAL_C210
>> >> > >        bool "Mobile UNIVERSAL_C210 Board"
>> >> > >        select CPU_EXYNOS4210
>> >> > > +       select S5P_HRT
>> >> > > +       select CLKSRC_MMIO
>> >> > > +       select HAVE_SCHED_CLOCK
>> >> > >        select S5P_GPIO_INT
>> >> > >        select S5P_DEV_FIMC0
>> >> > >        select S5P_DEV_FIMC1
>> >> > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c
>> > b/arch/arm/mach-
>> >> > exynos4/mach-universal_c210.c
>> >> > > index 0e280d1..ca9e7b7 100644
>> >> > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c
>> >> > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
>> >> > > @@ -34,6 +34,7 @@
>> >> > >  #include <plat/mfc.h>
>> >> > >  #include <plat/sdhci.h>
>> >> > >  #include <plat/pd.h>
>> >> > > +#include <plat/s5p-time.h>
>> >> > >
>> >> > >  #include <mach/map.h>
>> >> > >
>> >> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
>> >> > >        s5p_init_io(NULL, 0, S5P_VA_CHIPID);
>> >> > >        s3c24xx_init_clocks(24000000);
>> >> > >        s3c24xx_init_uarts(universal_uartcfgs,
>> > ARRAY_SIZE(universal_uartcfgs));
>> >> > > +       s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
>> >> > >  }
>> >> > >
>> >> > >  static void __init universal_reserve(void)
>> >> > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210,
>> >> > "UNIVERSAL_C210")
>> >> > >        .init_irq       = exynos4_init_irq,
>> >> > >        .map_io         = universal_map_io,
>> >> > >        .init_machine   = universal_machine_init,
>> >> > > -       .timer          = &exynos4_timer,
>> >> > > +       .timer          = &s5p_timer,
>> >> > >        .reserve        = &universal_reserve,
>> >> > >  MACHINE_END
>> >> > > --
>> >> > > 1.7.1.569.g6f426
>> >> > >
>> >> > > --
>
>
> Thanks.
>
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

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

* [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board
@ 2011-09-15  7:42             ` Kyungmin Park
  0 siblings, 0 replies; 16+ messages in thread
From: Kyungmin Park @ 2011-09-15  7:42 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 15, 2011 at 4:38 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> Kyungmin Park wrote:
>>
>> On Thu, Sep 15, 2011 at 3:03 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>> > Kukjin Kim wrote:
>> >>
>> >> Kyungmin Park wrote:
>> >> >
>> >> > Hi,
>> >> >
>> >> > It's required for boot universal c210 w/ EVT0 chip.
>> >> > Can you include it at 3.1 fixed branch?
>> >> >
>> >> Sure, will apply into samsung-fixes for 3.1.
>> >
>> > Unfortunately, it happens boot failure with this patch on other
> EXYNOS4210
>> > boards and it is due to HAVE_SCHED_CLOCK.
>> >
>> >> > > + ? ? ? select HAVE_SCHED_CLOCK
>> >
>> > I think, we need to sort out the method...
>> As sched_clock_postinit is called at generic time code by
>> HAVE_SCHED_CLOCK. and there's no sched_clock_update_fn() is defined.
>> As a work-around, you can test it.
>>
>> static void sched_clock_poll(unsigned long wrap_ticks)
>> {
>> ? ? ? ? mod_timer(&sched_clock_timer, round_jiffies(jiffies +
> wrap_ticks));
>> ? ? ? ? if (sched_clock_update_fn)
>> ? ? ? ? ? ? ? ? sched_clock_update_fn();
>> }
>>
>
> Following is better than above but need Russell's review
Right, during the make a patch, I also found it. Check the patch

And boot tested both EVT0 and others.
>
> diff --git a/arch/arm/kernel/sched_clock.c b/arch/arm/kernel/sched_clock.c
> index 9a46370..b1a1283 100644
> --- a/arch/arm/kernel/sched_clock.c
> +++ b/arch/arm/kernel/sched_clock.c
> @@ -70,5 +70,6 @@ void __init init_sched_clock(struct clock_data *cd, void
> (*update)(void),
>
> ?void __init sched_clock_postinit(void)
> ?{
> - ? ? ? sched_clock_poll(sched_clock_timer.data);
> + ? ? ? if (sched_clock_update_fn)
> + ? ? ? ? ? ? ? sched_clock_poll(sched_clock_timer.data);
> ?}
>
>
>> To solve the problem correctly. you can add init_sched_clock at
>> "arch/arm/mach-exynos4/mct.c" properly
>>
>> Please test the work-around and share the result. I'll try to find the
>> proper place to add init_sched_clock at mct.c
>>
>> Thank you,
>> Kyungmin Park
>>
>>
>> >
>> > Thanks.
>> >
>> > Best regards,
>> > Kgene.
>> > --
>> > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
>> > SW Solution Development Team, Samsung Electronics Co., Ltd.
>> >
>> >>
>> >> > Thank you,
>> >> > Kyungmin Park
>> >> >
>> >> > On Tue, Jul 26, 2011 at 2:50 PM, Marek Szyprowski
>> >> > <m.szyprowski@samsung.com> wrote:
>> >> > > Commit 069d4e743 removed support for local timers and forced to use
>> > MCT
>> >> as
>> >> > > event source. However MCT is not operating properly on early
> revision
>> > (EVT0)
>> >> > > of Exynos4 SoCs. All UniversalC210 boards are based on Exynos4
> EVT0,
>> > so
>> >> > that
>> >> > > commit broke support for it. This patch provides a workaround that
>> > enables
>> >> > > UniversalC210 boards to boot again. s5p-timer is used as an event
>> > source.
>> >> > >
>> >> > > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
>> >> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> >> > > ---
>> >> > > ?arch/arm/mach-exynos4/Kconfig ? ? ? ? ? ? ? | ? ?3 +++
>> >> > > ?arch/arm/mach-exynos4/mach-universal_c210.c | ? ?4 +++-
>> >> > > ?2 files changed, 6 insertions(+), 1 deletions(-)
>> >> > >
>> >> > > diff --git a/arch/arm/mach-exynos4/Kconfig
>> > b/arch/arm/mach-exynos4/Kconfig
>> >> > > index 9d62e13..2aad73f 100644
>> >> > > --- a/arch/arm/mach-exynos4/Kconfig
>> >> > > +++ b/arch/arm/mach-exynos4/Kconfig
>> >> > > @@ -173,6 +173,9 @@ config MACH_ARMLEX4210
>> >> > > ?config MACH_UNIVERSAL_C210
>> >> > > ? ? ? ?bool "Mobile UNIVERSAL_C210 Board"
>> >> > > ? ? ? ?select CPU_EXYNOS4210
>> >> > > + ? ? ? select S5P_HRT
>> >> > > + ? ? ? select CLKSRC_MMIO
>> >> > > + ? ? ? select HAVE_SCHED_CLOCK
>> >> > > ? ? ? ?select S5P_GPIO_INT
>> >> > > ? ? ? ?select S5P_DEV_FIMC0
>> >> > > ? ? ? ?select S5P_DEV_FIMC1
>> >> > > diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c
>> > b/arch/arm/mach-
>> >> > exynos4/mach-universal_c210.c
>> >> > > index 0e280d1..ca9e7b7 100644
>> >> > > --- a/arch/arm/mach-exynos4/mach-universal_c210.c
>> >> > > +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
>> >> > > @@ -34,6 +34,7 @@
>> >> > > ?#include <plat/mfc.h>
>> >> > > ?#include <plat/sdhci.h>
>> >> > > ?#include <plat/pd.h>
>> >> > > +#include <plat/s5p-time.h>
>> >> > >
>> >> > > ?#include <mach/map.h>
>> >> > >
>> >> > > @@ -730,6 +731,7 @@ static void __init universal_map_io(void)
>> >> > > ? ? ? ?s5p_init_io(NULL, 0, S5P_VA_CHIPID);
>> >> > > ? ? ? ?s3c24xx_init_clocks(24000000);
>> >> > > ? ? ? ?s3c24xx_init_uarts(universal_uartcfgs,
>> > ARRAY_SIZE(universal_uartcfgs));
>> >> > > + ? ? ? s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
>> >> > > ?}
>> >> > >
>> >> > > ?static void __init universal_reserve(void)
>> >> > > @@ -766,6 +768,6 @@ MACHINE_START(UNIVERSAL_C210,
>> >> > "UNIVERSAL_C210")
>> >> > > ? ? ? ?.init_irq ? ? ? = exynos4_init_irq,
>> >> > > ? ? ? ?.map_io ? ? ? ? = universal_map_io,
>> >> > > ? ? ? ?.init_machine ? = universal_machine_init,
>> >> > > - ? ? ? .timer ? ? ? ? ?= &exynos4_timer,
>> >> > > + ? ? ? .timer ? ? ? ? ?= &s5p_timer,
>> >> > > ? ? ? ?.reserve ? ? ? ?= &universal_reserve,
>> >> > > ?MACHINE_END
>> >> > > --
>> >> > > 1.7.1.569.g6f426
>> >> > >
>> >> > > --
>
>
> Thanks.
>
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>

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

end of thread, other threads:[~2011-09-15  7:42 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-26  5:50 [PATCH 0/2] Universal C210 workaround/fix Marek Szyprowski
2011-07-26  5:50 ` [PATCH 1/2] ARM: Samsung: Add chained enrty/exit call to timer interrupt handler Marek Szyprowski
2011-08-19  5:24   ` Kukjin Kim
2011-07-26  5:50 ` [PATCH 2/2] ARM: Exynos4: use s5p-timer for UniversalC210 board Marek Szyprowski
2011-09-14  5:02   ` Kyungmin Park
2011-09-14  5:02     ` Kyungmin Park
2011-09-14 11:50     ` Kukjin Kim
2011-09-14 11:50       ` Kukjin Kim
2011-09-15  6:03     ` Kukjin Kim
2011-09-15  6:03       ` Kukjin Kim
2011-09-15  6:32       ` Kyungmin Park
2011-09-15  6:32         ` Kyungmin Park
2011-09-15  7:38         ` Kukjin Kim
2011-09-15  7:38           ` Kukjin Kim
2011-09-15  7:42           ` Kyungmin Park
2011-09-15  7:42             ` Kyungmin Park

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.