On 01/10/2014 01:15 AM, Felipe Balbi wrote:
Hi,
On Thu, Jan 09, 2014 at 03:22:03PM -0600, Nishanth Menon wrote:
So, bad luck number release for this, as v12 wasn't sufficient still.
Changes compared to previous version:
- Dropped any changes to generic clock drivers, as it seems impossible
to agree anything in short term, this means the patch set shrank in
size from 49 patches to 40 (first 9 patches were dropped).
- Copy pasted implementation for clk-divider and clk-mux from drivers/clk
to drivers/clk/ti, and made the modifications needed to the TI version
of the clock drivers only (based on discussions with Mike, this is fine)
- Changed name of clk_ll_ops to ti_clk_ll_ops so that this doesn't conflict
with any generic implementation we might have at some point, migrating
this to the generic version should be easy enough also.
- Fixed trace_clk_div_div_ck for omap4, this node was broken in previous
versions and resulted into an orphan clock node
- Fixed compile problem for omap5 only build reported by Felipe
- Fixed a couple of sparse warnings
- changed the mach-omap2/clock.c to use readl_relaxed / writel_relaxed
instead of __raw_readl / __raw_writel
Testing done:
- omap3-beagle: boot / suspend-resume (RET) / suspend-resume (OFF)
- omap4-panda-es: boot / suspend-resume (RET)
- omap5-uevm: boot
- am335x-bone: boot
- dra7-evm: boot
Maintainer friendly branches also available:
tree: https://github.com/t-kristo/linux-pm.git
clk driver only (Mike): clk-next-dt-clks-v13
DTS data only (Benoit): dts_for_3.14-dt-clks-v13
full-branch (Tony/Paul): 3.13-rc7-dt-clks-v13
-Tero
Maintainer branches conflicts (using 3.13-rc7-dt-clks-v13):
=============================
Conflict resolution during rebase to maintainer's -14 branches:
1. (trivial) Against mike's clk-next dbdf6ff Merge branch
'clk-next-unregister' into clk-next
Could not apply 2edf7ad... CLK: TI: add DT alias clock registration
mechanism
conflict drivers/clk/Makefile (trivial fix)
2. (manual, but changes are easy) Against Tony's omap-for-v3.14/be
fc6ca98 ARM: OMAP: debug-leds: raw read and write endian fix
ARM: OMAP2+: clock: use driver API instead of direct memory read/write
conflicts with be changes on Tony's be branch.
commit 80f304dd2360cf5d50953c4eb4e902536f6a1263
ARM: OMAP2+: raw read and write endian fix
Conflict:
arch/arm/mach-omap2/clkt_clksel.c
arch/arm/mach-omap2/clkt_dpll.c
arch/arm/mach-omap2/clkt_iclk.c
arch/arm/mach-omap2/clock.c
arch/arm/mach-omap2/clock36xx.c
arch/arm/mach-omap2/dpll3xxx.c
arch/arm/mach-omap2/dpll44xx.c
Both change raw_readls -> should now be just clk api instead which
already does readl_relaxed etc.. If Tony feels like, then we should
probably post a branch based on 'be' branch for easy merge.
3. I could not detect any merge conflict against Benoit's queued up
series (but maybe he has'nt pushed everything to remote tree)..
Patch verification report:
==========================
Report: http://pastebin.mozilla.org/3976492
* sparse warning added in [PATCH 06/40] CLK: ti: add support for ti
divider-clock, [PATCH 10/40] clk: ti: add support for basic mux clock
+drivers/clk/ti/divider.c: warning: context imbalance in
'ti_clk_divider_set_rate' - different lock contexts for basic block
+drivers/clk/ti/mux.c: warning: context imbalance in
'ti_clk_mux_set_parent' - different lock contexts for basic block
* checkpatch warning [PATCH 16/40] CLK: TI: add am33xx clock init
file, [PATCH 18/40] CLK: TI: add omap3 clock init file
WARNING: static const char * array should probably be static const
char * const
Boot reports:
=============
- previous orphan clocks seem solved.
- All available platforms seem to boot fine and no regression could be
seen on initial view
OMAP2430:
1. SDP2430
before: http://pastebin.mozilla.org/3976359
after: http://pastebin.mozilla.org/3976467
AM335x:
2. am335x-evm
before: http://pastebin.mozilla.org/3976284
after: http://pastebin.mozilla.org/3976374
3. am335x-sk
before: http://pastebin.mozilla.org/3976295
after: http://pastebin.mozilla.org/3976375
4. BeagleBone Black:
before: http://pastebin.mozilla.org/3976321
after: http://pastebin.mozilla.org/3976441
AM3517:
5. am3517-evm
before: http://pastebin.mozilla.org/3976297
after: http://pastebin.mozilla.org/3976397
6. craneboard
before: http://pastebin.mozilla.org/3976322
after: http://pastebin.mozilla.org/3976452
OMAP3430:
7. ldp
before: http://pastebin.mozilla.org/3976356
after: http://pastebin.mozilla.org/3976455
8. sdp3430
before: http://pastebin.mozilla.org/3976360
after: http://pastebin.mozilla.org/3976468
OMAP3630/DM3730:
9. am37x-evm
before: http://pastebin.mozilla.org/3976300
after: http://pastebin.mozilla.org/3976398
10. beagle-XM
before: http://pastebin.mozilla.org/3976319
after: http://pastebin.mozilla.org/3976440
OMAP4430:
11. SDP4430
before: http://pastebin.mozilla.org/3976361
after: http://pastebin.mozilla.org/3976470
OMAP4460:
12. PandaBoard-ES
before: http://pastebin.mozilla.org/3976358
after: http://pastebin.mozilla.org/3976456
OMAP5432:
13. OMAP5uEVM
before: http://pastebin.mozilla.org/3976362 (no boot)
after: http://pastebin.mozilla.org/3976471 (boot)
DRA7:
14. dra7evm
before: http://pastebin.mozilla.org/3976354 (no boot)
after: http://pastebin.mozilla.org/3976453 (boot)
AM437x:
15. am43xx-epos + out-of-tree patches for engineering samples
before: http://pastebin.mozilla.org/3976306 (no boot)
after: http://pastebin.mozilla.org/3976399 (boot)
to add here, I ran 70 different randconfigs, all seeds are available on
pastebin (took RMK's 4430sdp seed as a starting point):
am33xx-only.config http://pastebin.com/nVA3xSwb
am43xx-only.config http://pastebin.com/RbUdKuUh
dra7xx-only.config http://pastebin.com/ribnaSzS
omap2-only.config http://pastebin.com/QPUG0wqe
omap3-only.config http://pastebin.com/B8ctX8yM
omap4-only.config http://pastebin.com/3D8NAExm
omap5-only.config http://pastebin.com/3mtQN38Z
Had a total of 16 failing builds, all .configs were also published on
pastebin:
config-am33xx-only.config-1 http://pastebin.com/5xhXZpev
config-am33xx-only.config-2 http://pastebin.com/NsrruJcQ
config-am33xx-only.config-3 http://pastebin.com/CGbB3qb8
config-am33xx-only.config-4 http://pastebin.com/86cu0uZ1
config-am43xx-only.config-1 http://pastebin.com/MCBCAd4X
config-am43xx-only.config-3 http://pastebin.com/hVpCgwSn
config-am43xx-only.config-4 http://pastebin.com/8SXAKHed
config-am43xx-only.config-6 http://pastebin.com/59riPMfw
config-am43xx-only.config-8 http://pastebin.com/03bt2VEZ
config-am43xx-only.config-9 http://pastebin.com/tePGwtWA
config-am43xx-only.config-10 http://pastebin.com/nrtXPqrF
config-omap2-only.config-2 http://pastebin.com/AKyvMqQU
config-omap2-only.config-4 http://paste.debian.net/75329
config-omap2-only.config-5 http://paste.debian.net/75330/
config-omap2-only.config-7 http://paste.debian.net/75332/
config-omap2-only.config-10 http://paste.debian.net/75333/
Failing configs all build fine on v3.13-rc7 except for
config-omap2-only.config-10, which fails due to a broken staging driver.
I think all of these fails are caused by the initially bugged Makefile +
Kconfig under mach-omap2. Seems like they can be fixed by the patches I
inlined at the end (will also post them as proper patches to l-o list
after this.) The question is, should Mike go ahead and merge these along
with the base clk patches or how should we handle them? Patch 1 must be
merged, patch 2 is a nice to have one which allows DRA7 only builds
(doing DRA7 only build currently seems not possible.)
-Tero
-----------
From f552421bbfe85ffba1f10df7a286216aa822a749 Mon Sep 17 00:00:00 2001
From: Tero Kristo <t-kristo@xxxxxx>
Date: Fri, 10 Jan 2014 11:20:18 +0200
Subject: [PATCH 1/2] ARM: DRA7XX/AM43XX: randconfig fixes
DRA7XX and AM43XX were missing common clock code from the Makefile, which
causes build breakage in DRA7XX / AM43XX only builds once clock support
for these SoCs is added. Add the missing entries to the Makefile as
preparation of this.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
---
arch/arm/mach-omap2/Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 088305f..96a990f 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -191,6 +191,9 @@ obj-$(CONFIG_ARCH_OMAP4) += dpll3xxx.o dpll44xx.o
obj-$(CONFIG_SOC_AM33XX) += $(clock-common) dpll3xxx.o
obj-$(CONFIG_SOC_OMAP5) += $(clock-common)
obj-$(CONFIG_SOC_OMAP5) += dpll3xxx.o dpll44xx.o
+obj-$(CONFIG_SOC_DRA7XX) += $(clock-common)
+obj-$(CONFIG_SOC_DRA7XX) += dpll3xxx.o dpll44xx.o
+obj-$(CONFIG_SOC_AM43XX) += $(clock-common) dpll3xxx.o
# OMAP2 clock rate set data (old "OPP" data)
obj-$(CONFIG_SOC_OMAP2420) += opp2420_data.o
--
1.7.9.5
------------------
From 14d3443d5fd8d16d4422de84cff16f4bc78f03dc Mon Sep 17 00:00:00 2001
From: Tero Kristo <t-kristo@xxxxxx>
Date: Fri, 10 Jan 2014 11:25:28 +0200
Subject: [PATCH 2/2] ARM: DRA7XX: Add support for DRA7XX only build
SOC_DRA7XX was under wrong menu within Kconfig file, which prevented
DRA7XX only build. Fixed the kconfig options for this SoC as we are
there. voltage.c needs to be added to the DRA7XX build also, otherwise
DRA7XX only build will fail.
Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
---
arch/arm/mach-omap2/Kconfig | 18 ++++++++++--------
arch/arm/mach-omap2/Makefile | 1 +
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index dc21df1..e65948a 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -76,6 +76,16 @@ config SOC_AM43XX
select ARM_GIC
select MACH_OMAP_GENERIC
+config SOC_DRA7XX
+ bool "TI DRA7XX"
+ depends on ARCH_MULTI_V7
+ select ARCH_OMAP2PLUS
+ select ARM_CPU_SUSPEND if PM
+ select ARM_GIC
+ select CPU_V7
+ select HAVE_SMP
+ select HAVE_ARM_ARCH_TIMER
+
config ARCH_OMAP2PLUS
bool
select ARCH_HAS_BANDGAP
@@ -128,14 +138,6 @@ config SOC_HAS_REALTIME_COUNTER
depends on SOC_OMAP5 || SOC_DRA7XX
default y
-config SOC_DRA7XX
- bool "TI DRA7XX"
- select ARM_ARCH_TIMER
- select CPU_V7
- select ARM_GIC
- select HAVE_SMP
- select COMMON_CLK
-
comment "OMAP Core Type"
depends on ARCH_OMAP2
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 96a990f..8ebe9f3 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -132,6 +132,7 @@ obj-$(CONFIG_SOC_AM33XX) += $(voltagedomain-common)
obj-$(CONFIG_SOC_AM43XX) += $(voltagedomain-common)
obj-$(CONFIG_SOC_OMAP5) += $(voltagedomain-common)
obj-$(CONFIG_SOC_OMAP5) += voltagedomains54xx_data.o
+obj-$(CONFIG_SOC_DRA7XX) += $(voltagedomain-common)
# OMAP powerdomain framework
powerdomain-common += powerdomain.o powerdomain-common.o
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html