* [4.4-rc][PATCH v2] ARM: dts: am4372: fix clock source for arm twd and global timers @ 2015-11-30 15:56 Grygorii Strashko [not found] ` <1448898998-32749-1-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Grygorii Strashko @ 2015-11-30 15:56 UTC (permalink / raw) To: tony-4v6yS6AI5VpBDgjK7y7TUQ, t-kristo-l0cyMroinI0 Cc: nsekhar-l0cyMroinI0, linux-omap-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA, Grygorii Strashko, Felipe Balbi ARM TWD and Global timer are clocked by PERIPHCLK which is MPU_CLK/2. But now they are clocked by dpll_mpu_m2_ck == MPU_CLK and, as result. Timekeeping core misbehaves. For example, execution of command "sleep 5" will take 10 sec instead of 5. Hence, fix it by adding mpu_periphclk ("fixed-factor-clock") and use it for clocking ARM TWD and Global timer (same way as on OMAP4). Cc: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> Cc: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org> Cc: Tero Kristo <t-kristo-l0cyMroinI0@public.gmane.org> Fixes:commit 8cbd4c2f6a99 ("arm: boot: dts: am4372: add ARM timers and SCU nodes") Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> --- Changes in v2: - fix: mpu_periphclk should be clocked from dpll_mpu_m2_ck instead of dpll_mpu_ck. link on v1: http://www.spinics.net/lists/arm-kernel/msg463898.html arch/arm/boot/dts/am4372.dtsi | 4 ++-- arch/arm/boot/dts/am43xx-clocks.dtsi | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi index d83ff9c..de8791a 100644 --- a/arch/arm/boot/dts/am4372.dtsi +++ b/arch/arm/boot/dts/am4372.dtsi @@ -74,7 +74,7 @@ reg = <0x48240200 0x100>; interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>; interrupt-parent = <&gic>; - clocks = <&dpll_mpu_m2_ck>; + clocks = <&mpu_periphclk>; }; local_timer: timer@48240600 { @@ -82,7 +82,7 @@ reg = <0x48240600 0x100>; interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>; interrupt-parent = <&gic>; - clocks = <&dpll_mpu_m2_ck>; + clocks = <&mpu_periphclk>; }; l2-cache-controller@48242000 { diff --git a/arch/arm/boot/dts/am43xx-clocks.dtsi b/arch/arm/boot/dts/am43xx-clocks.dtsi index cc88728..a38af2b 100644 --- a/arch/arm/boot/dts/am43xx-clocks.dtsi +++ b/arch/arm/boot/dts/am43xx-clocks.dtsi @@ -259,6 +259,14 @@ ti,invert-autoidle-bit; }; + mpu_periphclk: mpu_periphclk { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&dpll_mpu_m2_ck>; + clock-mult = <1>; + clock-div = <2>; + }; + dpll_ddr_ck: dpll_ddr_ck { #clock-cells = <0>; compatible = "ti,am3-dpll-clock"; -- 2.6.3 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 6+ messages in thread
[parent not found: <1448898998-32749-1-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org>]
* Re: [4.4-rc][PATCH v2] ARM: dts: am4372: fix clock source for arm twd and global timers [not found] ` <1448898998-32749-1-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org> @ 2015-12-03 16:35 ` Tony Lindgren [not found] ` <20151203163551.GQ23396-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> 2015-12-08 18:03 ` Felipe Balbi 1 sibling, 1 reply; 6+ messages in thread From: Tony Lindgren @ 2015-12-03 16:35 UTC (permalink / raw) To: Grygorii Strashko Cc: t-kristo-l0cyMroinI0, nsekhar-l0cyMroinI0, linux-omap-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA, Felipe Balbi, Mark Rutland * Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> [151130 07:58]: > ARM TWD and Global timer are clocked by PERIPHCLK which is MPU_CLK/2. > But now they are clocked by dpll_mpu_m2_ck == MPU_CLK and, as result. > Timekeeping core misbehaves. For example, execution of command > "sleep 5" will take 10 sec instead of 5. > > Hence, fix it by adding mpu_periphclk ("fixed-factor-clock") and use > it for clocking ARM TWD and Global timer (same way as on OMAP4). > > Cc: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> > Cc: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org> > Cc: Tero Kristo <t-kristo-l0cyMroinI0@public.gmane.org> > Fixes:commit 8cbd4c2f6a99 ("arm: boot: dts: am4372: add ARM timers and SCU nodes") > Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> Is this fix alone enough or do you still need to disable other the ARM timers in the board specific dts file? Regards, Tony > --- > Changes in v2: > - fix: mpu_periphclk should be clocked from dpll_mpu_m2_ck instead of > dpll_mpu_ck. > link on v1: > http://www.spinics.net/lists/arm-kernel/msg463898.html > > arch/arm/boot/dts/am4372.dtsi | 4 ++-- > arch/arm/boot/dts/am43xx-clocks.dtsi | 8 ++++++++ > 2 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi > index d83ff9c..de8791a 100644 > --- a/arch/arm/boot/dts/am4372.dtsi > +++ b/arch/arm/boot/dts/am4372.dtsi > @@ -74,7 +74,7 @@ > reg = <0x48240200 0x100>; > interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>; > interrupt-parent = <&gic>; > - clocks = <&dpll_mpu_m2_ck>; > + clocks = <&mpu_periphclk>; > }; > > local_timer: timer@48240600 { > @@ -82,7 +82,7 @@ > reg = <0x48240600 0x100>; > interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>; > interrupt-parent = <&gic>; > - clocks = <&dpll_mpu_m2_ck>; > + clocks = <&mpu_periphclk>; > }; > > l2-cache-controller@48242000 { > diff --git a/arch/arm/boot/dts/am43xx-clocks.dtsi b/arch/arm/boot/dts/am43xx-clocks.dtsi > index cc88728..a38af2b 100644 > --- a/arch/arm/boot/dts/am43xx-clocks.dtsi > +++ b/arch/arm/boot/dts/am43xx-clocks.dtsi > @@ -259,6 +259,14 @@ > ti,invert-autoidle-bit; > }; > > + mpu_periphclk: mpu_periphclk { > + #clock-cells = <0>; > + compatible = "fixed-factor-clock"; > + clocks = <&dpll_mpu_m2_ck>; > + clock-mult = <1>; > + clock-div = <2>; > + }; > + > dpll_ddr_ck: dpll_ddr_ck { > #clock-cells = <0>; > compatible = "ti,am3-dpll-clock"; > -- > 2.6.3 > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <20151203163551.GQ23396-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>]
* Re: [4.4-rc][PATCH v2] ARM: dts: am4372: fix clock source for arm twd and global timers [not found] ` <20151203163551.GQ23396-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> @ 2015-12-03 18:04 ` Grygorii Strashko [not found] ` <5660843E.3000801-l0cyMroinI0@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Grygorii Strashko @ 2015-12-03 18:04 UTC (permalink / raw) To: Tony Lindgren Cc: t-kristo-l0cyMroinI0, nsekhar-l0cyMroinI0, linux-omap-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA, Felipe Balbi, Mark Rutland On 12/03/2015 06:35 PM, Tony Lindgren wrote: > * Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> [151130 07:58]: >> ARM TWD and Global timer are clocked by PERIPHCLK which is MPU_CLK/2. >> But now they are clocked by dpll_mpu_m2_ck == MPU_CLK and, as result. >> Timekeeping core misbehaves. For example, execution of command >> "sleep 5" will take 10 sec instead of 5. >> >> Hence, fix it by adding mpu_periphclk ("fixed-factor-clock") and use >> it for clocking ARM TWD and Global timer (same way as on OMAP4). >> >> Cc: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> >> Cc: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org> >> Cc: Tero Kristo <t-kristo-l0cyMroinI0@public.gmane.org> >> Fixes:commit 8cbd4c2f6a99 ("arm: boot: dts: am4372: add ARM timers and SCU nodes") >> Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> > > Is this fix alone enough or do you still need to disable other the ARM > timers in the board specific dts file? > This one is independent and it's required for -rc, because ARM TWD timer will be selected now for am43xx even if http://www.spinics.net/lists/arm-kernel/msg459649.html is not merged yet ;) in case of omap2plus_defconfig build. -- regards, -grygorii -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <5660843E.3000801-l0cyMroinI0@public.gmane.org>]
* Re: [4.4-rc][PATCH v2] ARM: dts: am4372: fix clock source for arm twd and global timers [not found] ` <5660843E.3000801-l0cyMroinI0@public.gmane.org> @ 2015-12-08 17:41 ` Grygorii Strashko 0 siblings, 0 replies; 6+ messages in thread From: Grygorii Strashko @ 2015-12-08 17:41 UTC (permalink / raw) To: Tony Lindgren, t-kristo-l0cyMroinI0, Felipe Balbi Cc: nsekhar-l0cyMroinI0, linux-omap-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland Hi Tony, Felipe, Tero, On 12/03/2015 08:04 PM, Grygorii Strashko wrote: > On 12/03/2015 06:35 PM, Tony Lindgren wrote: >> * Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> [151130 07:58]: >>> ARM TWD and Global timer are clocked by PERIPHCLK which is MPU_CLK/2. >>> But now they are clocked by dpll_mpu_m2_ck == MPU_CLK and, as result. >>> Timekeeping core misbehaves. For example, execution of command >>> "sleep 5" will take 10 sec instead of 5. >>> >>> Hence, fix it by adding mpu_periphclk ("fixed-factor-clock") and use >>> it for clocking ARM TWD and Global timer (same way as on OMAP4). >>> >>> Cc: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> >>> Cc: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org> >>> Cc: Tero Kristo <t-kristo-l0cyMroinI0@public.gmane.org> >>> Fixes:commit 8cbd4c2f6a99 ("arm: boot: dts: am4372: add ARM timers and SCU nodes") >>> Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> >> >> Is this fix alone enough or do you still need to disable other the ARM >> timers in the board specific dts file? >> > > This one is independent and it's required for -rc, because ARM TWD timer will be selected > now for am43xx even if http://www.spinics.net/lists/arm-kernel/msg459649.html > is not merged yet ;) in case of omap2plus_defconfig build. > > Are there any comments objection? Could this patch be merged as part of -rc cycle? -- regards, -grygorii -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [4.4-rc][PATCH v2] ARM: dts: am4372: fix clock source for arm twd and global timers [not found] ` <1448898998-32749-1-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org> 2015-12-03 16:35 ` Tony Lindgren @ 2015-12-08 18:03 ` Felipe Balbi [not found] ` <87wpsolsvo.fsf-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org> 1 sibling, 1 reply; 6+ messages in thread From: Felipe Balbi @ 2015-12-08 18:03 UTC (permalink / raw) To: tony-4v6yS6AI5VpBDgjK7y7TUQ, t-kristo-l0cyMroinI0 Cc: nsekhar-l0cyMroinI0, linux-omap-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA, Grygorii Strashko [-- Attachment #1: Type: text/plain, Size: 979 bytes --] Hi, Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> writes: > ARM TWD and Global timer are clocked by PERIPHCLK which is MPU_CLK/2. > But now they are clocked by dpll_mpu_m2_ck == MPU_CLK and, as result. > Timekeeping core misbehaves. For example, execution of command > "sleep 5" will take 10 sec instead of 5. > > Hence, fix it by adding mpu_periphclk ("fixed-factor-clock") and use > it for clocking ARM TWD and Global timer (same way as on OMAP4). > > Cc: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> > Cc: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org> > Cc: Tero Kristo <t-kristo-l0cyMroinI0@public.gmane.org> > Fixes:commit 8cbd4c2f6a99 ("arm: boot: dts: am4372: add ARM timers and SCU nodes") > Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> this seems to be the best fix for this problem, yeah. Reviewed-by: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org> -- balbi [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 818 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <87wpsolsvo.fsf-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org>]
* Re: [4.4-rc][PATCH v2] ARM: dts: am4372: fix clock source for arm twd and global timers [not found] ` <87wpsolsvo.fsf-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org> @ 2015-12-10 0:47 ` Tony Lindgren 0 siblings, 0 replies; 6+ messages in thread From: Tony Lindgren @ 2015-12-10 0:47 UTC (permalink / raw) To: Felipe Balbi Cc: Grygorii Strashko, t-kristo-l0cyMroinI0, nsekhar-l0cyMroinI0, linux-omap-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA * Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org> [151208 10:05]: > > Hi, > > Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> writes: > > ARM TWD and Global timer are clocked by PERIPHCLK which is MPU_CLK/2. > > But now they are clocked by dpll_mpu_m2_ck == MPU_CLK and, as result. > > Timekeeping core misbehaves. For example, execution of command > > "sleep 5" will take 10 sec instead of 5. > > > > Hence, fix it by adding mpu_periphclk ("fixed-factor-clock") and use > > it for clocking ARM TWD and Global timer (same way as on OMAP4). > > > > Cc: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> > > Cc: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org> > > Cc: Tero Kristo <t-kristo-l0cyMroinI0@public.gmane.org> > > Fixes:commit 8cbd4c2f6a99 ("arm: boot: dts: am4372: add ARM timers and SCU nodes") > > Signed-off-by: Grygorii Strashko <grygorii.strashko-l0cyMroinI0@public.gmane.org> > > this seems to be the best fix for this problem, yeah. > > Reviewed-by: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org> OK applying into omap-for-v4.4/fixes thanks. Tony -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-12-10 0:47 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-11-30 15:56 [4.4-rc][PATCH v2] ARM: dts: am4372: fix clock source for arm twd and global timers Grygorii Strashko [not found] ` <1448898998-32749-1-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org> 2015-12-03 16:35 ` Tony Lindgren [not found] ` <20151203163551.GQ23396-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> 2015-12-03 18:04 ` Grygorii Strashko [not found] ` <5660843E.3000801-l0cyMroinI0@public.gmane.org> 2015-12-08 17:41 ` Grygorii Strashko 2015-12-08 18:03 ` Felipe Balbi [not found] ` <87wpsolsvo.fsf-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org> 2015-12-10 0:47 ` Tony Lindgren
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).