* Regression with AM43xx devices
@ 2015-06-02 19:17 ` Felipe Balbi
0 siblings, 0 replies; 10+ messages in thread
From: Felipe Balbi @ 2015-06-02 19:17 UTC (permalink / raw)
To: Dave Gerlach
Cc: Paul Walmsley, Tony Lindgren, Linux OMAP Mailing List,
Linux ARM Kernel Mailing List
[-- Attachment #1: Type: text/plain, Size: 6580 bytes --]
Hi Dave,
You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx
hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING
during boot to all AM43xx-based boards. Full boot logs can be found at
[1], but it seems like we should, at least for the merge window, revert
said commit unless a fix could come it the next couple days or so.o
ps: note that boot log is for AM43xx IDK, but the same thing has been
reproduced on AM437x SK.
[1] http://hastebin.com/kasenikevo
------------------------------------------------------------------------
commit fabbe6df130a46d5b5e7484b2273d69c4be3012a
Author: Dave Gerlach <d-gerlach@ti.com>
Date: Mon Jun 1 19:22:11 2015 -0600
ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
Without a hwmod for am43xx emif use counting for emif clockdomain does
not happen correctly so it may be shut off by pm code unintentionally.
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
[paul@pwsan.com: updated to apply]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
index 130332c0534d..7f737965f543 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
@@ -145,6 +145,7 @@ extern struct omap_hwmod am33xx_uart5_hwmod;
extern struct omap_hwmod am33xx_uart6_hwmod;
extern struct omap_hwmod am33xx_wd_timer1_hwmod;
+extern struct omap_hwmod_class am33xx_emif_hwmod_class;
extern struct omap_hwmod_class am33xx_l4_hwmod_class;
extern struct omap_hwmod_class am33xx_wkup_m3_hwmod_class;
extern struct omap_hwmod_class am33xx_control_hwmod_class;
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
index ae0cb673a3d1..907a452b78ea 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
@@ -203,6 +203,19 @@ struct omap_hwmod am33xx_prcm_hwmod = {
};
/*
+ * 'emif' class
+ * instance(s): emif
+ */
+static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = {
+ .rev_offs = 0x0000,
+};
+
+struct omap_hwmod_class am33xx_emif_hwmod_class = {
+ .name = "emif",
+ .sysc = &am33xx_emif_sysc,
+};
+
+/*
* 'aes0' class
*/
static struct omap_hwmod_class_sysconfig am33xx_aes0_sysc = {
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
index 0cf7b563dcd1..cc0791d9125b 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -34,19 +34,6 @@
* IP blocks
*/
-/*
- * 'emif' class
- * instance(s): emif
- */
-static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = {
- .rev_offs = 0x0000,
-};
-
-static struct omap_hwmod_class am33xx_emif_hwmod_class = {
- .name = "emif",
- .sysc = &am33xx_emif_sysc,
-};
-
/* emif */
static struct omap_hwmod am33xx_emif_hwmod = {
.name = "emif",
diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
index 17e8004fc20f..215d5efa0dba 100644
--- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
@@ -24,6 +24,20 @@
/* IP blocks */
+static struct omap_hwmod am43xx_emif_hwmod = {
+ .name = "emif",
+ .class = &am33xx_emif_hwmod_class,
+ .clkdm_name = "emif_clkdm",
+ .flags = HWMOD_INIT_NO_IDLE,
+ .main_clk = "dpll_ddr_m2_ck",
+ .prcm = {
+ .omap4 = {
+ .clkctrl_offs = AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET,
+ .modulemode = MODULEMODE_SWCTRL,
+ },
+ },
+};
+
static struct omap_hwmod am43xx_l4_hs_hwmod = {
.name = "l4_hs",
.class = &am33xx_l4_hwmod_class,
@@ -583,6 +597,13 @@ static struct omap_hwmod am43xx_vpfe1_hwmod = {
};
/* Interfaces */
+static struct omap_hwmod_ocp_if am43xx_l3_main__emif = {
+ .master = &am33xx_l3_main_hwmod,
+ .slave = &am43xx_emif_hwmod,
+ .clk = "dpll_core_m4_ck",
+ .user = OCP_USER_MPU | OCP_USER_SDMA,
+};
+
static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = {
.master = &am33xx_l3_main_hwmod,
.slave = &am43xx_l4_hs_hwmod,
@@ -918,6 +939,7 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
&am33xx_l3_main__l3_instr,
&am33xx_l3_main__gfx,
&am33xx_l3_s__l3_main,
+ &am43xx_l3_main__emif,
&am33xx_pruss__l3_main,
&am43xx_wkup_m3__l4_wkup,
&am33xx_gfx__l3_main,
diff --git a/arch/arm/mach-omap2/prcm43xx.h b/arch/arm/mach-omap2/prcm43xx.h
index d0261996db6d..7eebc27fa892 100644
--- a/arch/arm/mach-omap2/prcm43xx.h
+++ b/arch/arm/mach-omap2/prcm43xx.h
@@ -146,4 +146,6 @@
#define AM43XX_CM_PER_HDQ1W_CLKCTRL_OFFSET 0x04a0
#define AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET 0x0068
#define AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET 0x0070
+#define AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET 0x0720
+
#endif
--------------------------------------------------------------------------
git bisect start
# good: [e26081808edadfd257c6c9d81014e3b25e9a6118] Linux 4.1-rc4
git bisect good e26081808edadfd257c6c9d81014e3b25e9a6118
# bad: [073c2e3b6d0b06be76e9d80e0879a95f7bd4a421] Merge tag 'omap-for-v4.2/o2_dc' into for-next
git bisect bad 073c2e3b6d0b06be76e9d80e0879a95f7bd4a421
# good: [f044523a11ca9b32bfa7f663cded1071e55fb51a] Merge branch 'omap-for-v4.2/dt' into for-next
git bisect good f044523a11ca9b32bfa7f663cded1071e55fb51a
# good: [c663484536a2c3f7be583b72c014a850dd1b43c6] Merge tag 'omap-for-v4.1/fixes-rc6' into for-next
git bisect good c663484536a2c3f7be583b72c014a850dd1b43c6
# good: [5fbfa07151978e2432bc4321003ac2c40d22382d] Merge tag 'omap-for-v4.2/wakeirq-drivers' into for-next
git bisect good 5fbfa07151978e2432bc4321003ac2c40d22382d
# bad: [436bbc12452c23b9e7385f3fcabc82fdd387a55a] Merge tag 'for-v4.2/omap-hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.2/soc
git bisect bad 436bbc12452c23b9e7385f3fcabc82fdd387a55a
# bad: [fabbe6df130a46d5b5e7484b2273d69c4be3012a] ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
git bisect bad fabbe6df130a46d5b5e7484b2273d69c4be3012a
# good: [63aa945b1013c34b145dcf218d4ea323cbd93f86] memory: omap-gpmc: Add Kconfig option for debug
git bisect good 63aa945b1013c34b145dcf218d4ea323cbd93f86
# first bad commit: [fabbe6df130a46d5b5e7484b2273d69c4be3012a] ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply related [flat|nested] 10+ messages in thread* Regression with AM43xx devices
@ 2015-06-02 19:17 ` Felipe Balbi
0 siblings, 0 replies; 10+ messages in thread
From: Felipe Balbi @ 2015-06-02 19:17 UTC (permalink / raw)
To: linux-arm-kernel
Hi Dave,
You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx
hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING
during boot to all AM43xx-based boards. Full boot logs can be found at
[1], but it seems like we should, at least for the merge window, revert
said commit unless a fix could come it the next couple days or so.o
ps: note that boot log is for AM43xx IDK, but the same thing has been
reproduced on AM437x SK.
[1] http://hastebin.com/kasenikevo
------------------------------------------------------------------------
commit fabbe6df130a46d5b5e7484b2273d69c4be3012a
Author: Dave Gerlach <d-gerlach@ti.com>
Date: Mon Jun 1 19:22:11 2015 -0600
ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
Without a hwmod for am43xx emif use counting for emif clockdomain does
not happen correctly so it may be shut off by pm code unintentionally.
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
[paul at pwsan.com: updated to apply]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
index 130332c0534d..7f737965f543 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
@@ -145,6 +145,7 @@ extern struct omap_hwmod am33xx_uart5_hwmod;
extern struct omap_hwmod am33xx_uart6_hwmod;
extern struct omap_hwmod am33xx_wd_timer1_hwmod;
+extern struct omap_hwmod_class am33xx_emif_hwmod_class;
extern struct omap_hwmod_class am33xx_l4_hwmod_class;
extern struct omap_hwmod_class am33xx_wkup_m3_hwmod_class;
extern struct omap_hwmod_class am33xx_control_hwmod_class;
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
index ae0cb673a3d1..907a452b78ea 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
@@ -203,6 +203,19 @@ struct omap_hwmod am33xx_prcm_hwmod = {
};
/*
+ * 'emif' class
+ * instance(s): emif
+ */
+static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = {
+ .rev_offs = 0x0000,
+};
+
+struct omap_hwmod_class am33xx_emif_hwmod_class = {
+ .name = "emif",
+ .sysc = &am33xx_emif_sysc,
+};
+
+/*
* 'aes0' class
*/
static struct omap_hwmod_class_sysconfig am33xx_aes0_sysc = {
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
index 0cf7b563dcd1..cc0791d9125b 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -34,19 +34,6 @@
* IP blocks
*/
-/*
- * 'emif' class
- * instance(s): emif
- */
-static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = {
- .rev_offs = 0x0000,
-};
-
-static struct omap_hwmod_class am33xx_emif_hwmod_class = {
- .name = "emif",
- .sysc = &am33xx_emif_sysc,
-};
-
/* emif */
static struct omap_hwmod am33xx_emif_hwmod = {
.name = "emif",
diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
index 17e8004fc20f..215d5efa0dba 100644
--- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
@@ -24,6 +24,20 @@
/* IP blocks */
+static struct omap_hwmod am43xx_emif_hwmod = {
+ .name = "emif",
+ .class = &am33xx_emif_hwmod_class,
+ .clkdm_name = "emif_clkdm",
+ .flags = HWMOD_INIT_NO_IDLE,
+ .main_clk = "dpll_ddr_m2_ck",
+ .prcm = {
+ .omap4 = {
+ .clkctrl_offs = AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET,
+ .modulemode = MODULEMODE_SWCTRL,
+ },
+ },
+};
+
static struct omap_hwmod am43xx_l4_hs_hwmod = {
.name = "l4_hs",
.class = &am33xx_l4_hwmod_class,
@@ -583,6 +597,13 @@ static struct omap_hwmod am43xx_vpfe1_hwmod = {
};
/* Interfaces */
+static struct omap_hwmod_ocp_if am43xx_l3_main__emif = {
+ .master = &am33xx_l3_main_hwmod,
+ .slave = &am43xx_emif_hwmod,
+ .clk = "dpll_core_m4_ck",
+ .user = OCP_USER_MPU | OCP_USER_SDMA,
+};
+
static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = {
.master = &am33xx_l3_main_hwmod,
.slave = &am43xx_l4_hs_hwmod,
@@ -918,6 +939,7 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
&am33xx_l3_main__l3_instr,
&am33xx_l3_main__gfx,
&am33xx_l3_s__l3_main,
+ &am43xx_l3_main__emif,
&am33xx_pruss__l3_main,
&am43xx_wkup_m3__l4_wkup,
&am33xx_gfx__l3_main,
diff --git a/arch/arm/mach-omap2/prcm43xx.h b/arch/arm/mach-omap2/prcm43xx.h
index d0261996db6d..7eebc27fa892 100644
--- a/arch/arm/mach-omap2/prcm43xx.h
+++ b/arch/arm/mach-omap2/prcm43xx.h
@@ -146,4 +146,6 @@
#define AM43XX_CM_PER_HDQ1W_CLKCTRL_OFFSET 0x04a0
#define AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET 0x0068
#define AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET 0x0070
+#define AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET 0x0720
+
#endif
--------------------------------------------------------------------------
git bisect start
# good: [e26081808edadfd257c6c9d81014e3b25e9a6118] Linux 4.1-rc4
git bisect good e26081808edadfd257c6c9d81014e3b25e9a6118
# bad: [073c2e3b6d0b06be76e9d80e0879a95f7bd4a421] Merge tag 'omap-for-v4.2/o2_dc' into for-next
git bisect bad 073c2e3b6d0b06be76e9d80e0879a95f7bd4a421
# good: [f044523a11ca9b32bfa7f663cded1071e55fb51a] Merge branch 'omap-for-v4.2/dt' into for-next
git bisect good f044523a11ca9b32bfa7f663cded1071e55fb51a
# good: [c663484536a2c3f7be583b72c014a850dd1b43c6] Merge tag 'omap-for-v4.1/fixes-rc6' into for-next
git bisect good c663484536a2c3f7be583b72c014a850dd1b43c6
# good: [5fbfa07151978e2432bc4321003ac2c40d22382d] Merge tag 'omap-for-v4.2/wakeirq-drivers' into for-next
git bisect good 5fbfa07151978e2432bc4321003ac2c40d22382d
# bad: [436bbc12452c23b9e7385f3fcabc82fdd387a55a] Merge tag 'for-v4.2/omap-hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.2/soc
git bisect bad 436bbc12452c23b9e7385f3fcabc82fdd387a55a
# bad: [fabbe6df130a46d5b5e7484b2273d69c4be3012a] ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
git bisect bad fabbe6df130a46d5b5e7484b2273d69c4be3012a
# good: [63aa945b1013c34b145dcf218d4ea323cbd93f86] memory: omap-gpmc: Add Kconfig option for debug
git bisect good 63aa945b1013c34b145dcf218d4ea323cbd93f86
# first bad commit: [fabbe6df130a46d5b5e7484b2273d69c4be3012a] ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
--
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150602/a2e9cc94/attachment.sig>
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: Regression with AM43xx devices
2015-06-02 19:17 ` Felipe Balbi
@ 2015-06-02 19:23 ` Felipe Balbi
-1 siblings, 0 replies; 10+ messages in thread
From: Felipe Balbi @ 2015-06-02 19:23 UTC (permalink / raw)
To: Felipe Balbi
Cc: Dave Gerlach, Paul Walmsley, Tony Lindgren,
Linux OMAP Mailing List, Linux ARM Kernel Mailing List
[-- Attachment #1: Type: text/plain, Size: 766 bytes --]
On Tue, Jun 02, 2015 at 02:17:52PM -0500, Felipe Balbi wrote:
> Hi Dave,
>
> You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx
> hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING
> during boot to all AM43xx-based boards. Full boot logs can be found at
> [1], but it seems like we should, at least for the merge window, revert
> said commit unless a fix could come it the next couple days or so.o
>
> ps: note that boot log is for AM43xx IDK, but the same thing has been
> reproduced on AM437x SK.
>
> [1] http://hastebin.com/kasenikevo
Seems like someone forgot to pick [1] up. I've added my Tested-by as a
reply to that thread.
[1] http://marc.info/?l=linux-omap&m=143093317331247&w=2
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Regression with AM43xx devices
2015-06-02 19:17 ` Felipe Balbi
@ 2015-06-02 19:25 ` Dave Gerlach
-1 siblings, 0 replies; 10+ messages in thread
From: Dave Gerlach @ 2015-06-02 19:25 UTC (permalink / raw)
To: balbi
Cc: Paul Walmsley, Tony Lindgren, Linux OMAP Mailing List,
Linux ARM Kernel Mailing List
On 06/02/2015 02:17 PM, Felipe Balbi wrote:
> Hi Dave,
>
> You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx
> hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING
> during boot to all AM43xx-based boards. Full boot logs can be found at
> [1], but it seems like we should, at least for the merge window, revert
> said commit unless a fix could come it the next couple days or so.o
>
> ps: note that boot log is for AM43xx IDK, but the same thing has been
> reproduced on AM437x SK.
>
> [1] http://hastebin.com/kasenikevo
>
This is because the base address will come from the DT node, patch is here:
http://www.spinics.net/lists/arm-kernel/msg416286.html
Regards,
Dave
> ------------------------------------------------------------------------
>
> commit fabbe6df130a46d5b5e7484b2273d69c4be3012a
> Author: Dave Gerlach <d-gerlach@ti.com>
> Date: Mon Jun 1 19:22:11 2015 -0600
>
> ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
>
> Without a hwmod for am43xx emif use counting for emif clockdomain does
> not happen correctly so it may be shut off by pm code unintentionally.
>
> Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
> [paul@pwsan.com: updated to apply]
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
> index 130332c0534d..7f737965f543 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
> +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
> @@ -145,6 +145,7 @@ extern struct omap_hwmod am33xx_uart5_hwmod;
> extern struct omap_hwmod am33xx_uart6_hwmod;
> extern struct omap_hwmod am33xx_wd_timer1_hwmod;
>
> +extern struct omap_hwmod_class am33xx_emif_hwmod_class;
> extern struct omap_hwmod_class am33xx_l4_hwmod_class;
> extern struct omap_hwmod_class am33xx_wkup_m3_hwmod_class;
> extern struct omap_hwmod_class am33xx_control_hwmod_class;
> diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
> index ae0cb673a3d1..907a452b78ea 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
> @@ -203,6 +203,19 @@ struct omap_hwmod am33xx_prcm_hwmod = {
> };
>
> /*
> + * 'emif' class
> + * instance(s): emif
> + */
> +static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = {
> + .rev_offs = 0x0000,
> +};
> +
> +struct omap_hwmod_class am33xx_emif_hwmod_class = {
> + .name = "emif",
> + .sysc = &am33xx_emif_sysc,
> +};
> +
> +/*
> * 'aes0' class
> */
> static struct omap_hwmod_class_sysconfig am33xx_aes0_sysc = {
> diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
> index 0cf7b563dcd1..cc0791d9125b 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
> @@ -34,19 +34,6 @@
> * IP blocks
> */
>
> -/*
> - * 'emif' class
> - * instance(s): emif
> - */
> -static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = {
> - .rev_offs = 0x0000,
> -};
> -
> -static struct omap_hwmod_class am33xx_emif_hwmod_class = {
> - .name = "emif",
> - .sysc = &am33xx_emif_sysc,
> -};
> -
> /* emif */
> static struct omap_hwmod am33xx_emif_hwmod = {
> .name = "emif",
> diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
> index 17e8004fc20f..215d5efa0dba 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
> @@ -24,6 +24,20 @@
>
>
> /* IP blocks */
> +static struct omap_hwmod am43xx_emif_hwmod = {
> + .name = "emif",
> + .class = &am33xx_emif_hwmod_class,
> + .clkdm_name = "emif_clkdm",
> + .flags = HWMOD_INIT_NO_IDLE,
> + .main_clk = "dpll_ddr_m2_ck",
> + .prcm = {
> + .omap4 = {
> + .clkctrl_offs = AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET,
> + .modulemode = MODULEMODE_SWCTRL,
> + },
> + },
> +};
> +
> static struct omap_hwmod am43xx_l4_hs_hwmod = {
> .name = "l4_hs",
> .class = &am33xx_l4_hwmod_class,
> @@ -583,6 +597,13 @@ static struct omap_hwmod am43xx_vpfe1_hwmod = {
> };
>
> /* Interfaces */
> +static struct omap_hwmod_ocp_if am43xx_l3_main__emif = {
> + .master = &am33xx_l3_main_hwmod,
> + .slave = &am43xx_emif_hwmod,
> + .clk = "dpll_core_m4_ck",
> + .user = OCP_USER_MPU | OCP_USER_SDMA,
> +};
> +
> static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = {
> .master = &am33xx_l3_main_hwmod,
> .slave = &am43xx_l4_hs_hwmod,
> @@ -918,6 +939,7 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
> &am33xx_l3_main__l3_instr,
> &am33xx_l3_main__gfx,
> &am33xx_l3_s__l3_main,
> + &am43xx_l3_main__emif,
> &am33xx_pruss__l3_main,
> &am43xx_wkup_m3__l4_wkup,
> &am33xx_gfx__l3_main,
> diff --git a/arch/arm/mach-omap2/prcm43xx.h b/arch/arm/mach-omap2/prcm43xx.h
> index d0261996db6d..7eebc27fa892 100644
> --- a/arch/arm/mach-omap2/prcm43xx.h
> +++ b/arch/arm/mach-omap2/prcm43xx.h
> @@ -146,4 +146,6 @@
> #define AM43XX_CM_PER_HDQ1W_CLKCTRL_OFFSET 0x04a0
> #define AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET 0x0068
> #define AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET 0x0070
> +#define AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET 0x0720
> +
> #endif
>
> --------------------------------------------------------------------------
>
> git bisect start
> # good: [e26081808edadfd257c6c9d81014e3b25e9a6118] Linux 4.1-rc4
> git bisect good e26081808edadfd257c6c9d81014e3b25e9a6118
> # bad: [073c2e3b6d0b06be76e9d80e0879a95f7bd4a421] Merge tag 'omap-for-v4.2/o2_dc' into for-next
> git bisect bad 073c2e3b6d0b06be76e9d80e0879a95f7bd4a421
> # good: [f044523a11ca9b32bfa7f663cded1071e55fb51a] Merge branch 'omap-for-v4.2/dt' into for-next
> git bisect good f044523a11ca9b32bfa7f663cded1071e55fb51a
> # good: [c663484536a2c3f7be583b72c014a850dd1b43c6] Merge tag 'omap-for-v4.1/fixes-rc6' into for-next
> git bisect good c663484536a2c3f7be583b72c014a850dd1b43c6
> # good: [5fbfa07151978e2432bc4321003ac2c40d22382d] Merge tag 'omap-for-v4.2/wakeirq-drivers' into for-next
> git bisect good 5fbfa07151978e2432bc4321003ac2c40d22382d
> # bad: [436bbc12452c23b9e7385f3fcabc82fdd387a55a] Merge tag 'for-v4.2/omap-hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.2/soc
> git bisect bad 436bbc12452c23b9e7385f3fcabc82fdd387a55a
> # bad: [fabbe6df130a46d5b5e7484b2273d69c4be3012a] ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
> git bisect bad fabbe6df130a46d5b5e7484b2273d69c4be3012a
> # good: [63aa945b1013c34b145dcf218d4ea323cbd93f86] memory: omap-gpmc: Add Kconfig option for debug
> git bisect good 63aa945b1013c34b145dcf218d4ea323cbd93f86
> # first bad commit: [fabbe6df130a46d5b5e7484b2273d69c4be3012a] ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
>
^ permalink raw reply [flat|nested] 10+ messages in thread* Regression with AM43xx devices
@ 2015-06-02 19:25 ` Dave Gerlach
0 siblings, 0 replies; 10+ messages in thread
From: Dave Gerlach @ 2015-06-02 19:25 UTC (permalink / raw)
To: linux-arm-kernel
On 06/02/2015 02:17 PM, Felipe Balbi wrote:
> Hi Dave,
>
> You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx
> hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING
> during boot to all AM43xx-based boards. Full boot logs can be found at
> [1], but it seems like we should, at least for the merge window, revert
> said commit unless a fix could come it the next couple days or so.o
>
> ps: note that boot log is for AM43xx IDK, but the same thing has been
> reproduced on AM437x SK.
>
> [1] http://hastebin.com/kasenikevo
>
This is because the base address will come from the DT node, patch is here:
http://www.spinics.net/lists/arm-kernel/msg416286.html
Regards,
Dave
> ------------------------------------------------------------------------
>
> commit fabbe6df130a46d5b5e7484b2273d69c4be3012a
> Author: Dave Gerlach <d-gerlach@ti.com>
> Date: Mon Jun 1 19:22:11 2015 -0600
>
> ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
>
> Without a hwmod for am43xx emif use counting for emif clockdomain does
> not happen correctly so it may be shut off by pm code unintentionally.
>
> Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
> [paul at pwsan.com: updated to apply]
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
> index 130332c0534d..7f737965f543 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
> +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
> @@ -145,6 +145,7 @@ extern struct omap_hwmod am33xx_uart5_hwmod;
> extern struct omap_hwmod am33xx_uart6_hwmod;
> extern struct omap_hwmod am33xx_wd_timer1_hwmod;
>
> +extern struct omap_hwmod_class am33xx_emif_hwmod_class;
> extern struct omap_hwmod_class am33xx_l4_hwmod_class;
> extern struct omap_hwmod_class am33xx_wkup_m3_hwmod_class;
> extern struct omap_hwmod_class am33xx_control_hwmod_class;
> diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
> index ae0cb673a3d1..907a452b78ea 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
> @@ -203,6 +203,19 @@ struct omap_hwmod am33xx_prcm_hwmod = {
> };
>
> /*
> + * 'emif' class
> + * instance(s): emif
> + */
> +static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = {
> + .rev_offs = 0x0000,
> +};
> +
> +struct omap_hwmod_class am33xx_emif_hwmod_class = {
> + .name = "emif",
> + .sysc = &am33xx_emif_sysc,
> +};
> +
> +/*
> * 'aes0' class
> */
> static struct omap_hwmod_class_sysconfig am33xx_aes0_sysc = {
> diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
> index 0cf7b563dcd1..cc0791d9125b 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
> @@ -34,19 +34,6 @@
> * IP blocks
> */
>
> -/*
> - * 'emif' class
> - * instance(s): emif
> - */
> -static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = {
> - .rev_offs = 0x0000,
> -};
> -
> -static struct omap_hwmod_class am33xx_emif_hwmod_class = {
> - .name = "emif",
> - .sysc = &am33xx_emif_sysc,
> -};
> -
> /* emif */
> static struct omap_hwmod am33xx_emif_hwmod = {
> .name = "emif",
> diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
> index 17e8004fc20f..215d5efa0dba 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
> @@ -24,6 +24,20 @@
>
>
> /* IP blocks */
> +static struct omap_hwmod am43xx_emif_hwmod = {
> + .name = "emif",
> + .class = &am33xx_emif_hwmod_class,
> + .clkdm_name = "emif_clkdm",
> + .flags = HWMOD_INIT_NO_IDLE,
> + .main_clk = "dpll_ddr_m2_ck",
> + .prcm = {
> + .omap4 = {
> + .clkctrl_offs = AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET,
> + .modulemode = MODULEMODE_SWCTRL,
> + },
> + },
> +};
> +
> static struct omap_hwmod am43xx_l4_hs_hwmod = {
> .name = "l4_hs",
> .class = &am33xx_l4_hwmod_class,
> @@ -583,6 +597,13 @@ static struct omap_hwmod am43xx_vpfe1_hwmod = {
> };
>
> /* Interfaces */
> +static struct omap_hwmod_ocp_if am43xx_l3_main__emif = {
> + .master = &am33xx_l3_main_hwmod,
> + .slave = &am43xx_emif_hwmod,
> + .clk = "dpll_core_m4_ck",
> + .user = OCP_USER_MPU | OCP_USER_SDMA,
> +};
> +
> static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = {
> .master = &am33xx_l3_main_hwmod,
> .slave = &am43xx_l4_hs_hwmod,
> @@ -918,6 +939,7 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
> &am33xx_l3_main__l3_instr,
> &am33xx_l3_main__gfx,
> &am33xx_l3_s__l3_main,
> + &am43xx_l3_main__emif,
> &am33xx_pruss__l3_main,
> &am43xx_wkup_m3__l4_wkup,
> &am33xx_gfx__l3_main,
> diff --git a/arch/arm/mach-omap2/prcm43xx.h b/arch/arm/mach-omap2/prcm43xx.h
> index d0261996db6d..7eebc27fa892 100644
> --- a/arch/arm/mach-omap2/prcm43xx.h
> +++ b/arch/arm/mach-omap2/prcm43xx.h
> @@ -146,4 +146,6 @@
> #define AM43XX_CM_PER_HDQ1W_CLKCTRL_OFFSET 0x04a0
> #define AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET 0x0068
> #define AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET 0x0070
> +#define AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET 0x0720
> +
> #endif
>
> --------------------------------------------------------------------------
>
> git bisect start
> # good: [e26081808edadfd257c6c9d81014e3b25e9a6118] Linux 4.1-rc4
> git bisect good e26081808edadfd257c6c9d81014e3b25e9a6118
> # bad: [073c2e3b6d0b06be76e9d80e0879a95f7bd4a421] Merge tag 'omap-for-v4.2/o2_dc' into for-next
> git bisect bad 073c2e3b6d0b06be76e9d80e0879a95f7bd4a421
> # good: [f044523a11ca9b32bfa7f663cded1071e55fb51a] Merge branch 'omap-for-v4.2/dt' into for-next
> git bisect good f044523a11ca9b32bfa7f663cded1071e55fb51a
> # good: [c663484536a2c3f7be583b72c014a850dd1b43c6] Merge tag 'omap-for-v4.1/fixes-rc6' into for-next
> git bisect good c663484536a2c3f7be583b72c014a850dd1b43c6
> # good: [5fbfa07151978e2432bc4321003ac2c40d22382d] Merge tag 'omap-for-v4.2/wakeirq-drivers' into for-next
> git bisect good 5fbfa07151978e2432bc4321003ac2c40d22382d
> # bad: [436bbc12452c23b9e7385f3fcabc82fdd387a55a] Merge tag 'for-v4.2/omap-hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.2/soc
> git bisect bad 436bbc12452c23b9e7385f3fcabc82fdd387a55a
> # bad: [fabbe6df130a46d5b5e7484b2273d69c4be3012a] ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
> git bisect bad fabbe6df130a46d5b5e7484b2273d69c4be3012a
> # good: [63aa945b1013c34b145dcf218d4ea323cbd93f86] memory: omap-gpmc: Add Kconfig option for debug
> git bisect good 63aa945b1013c34b145dcf218d4ea323cbd93f86
> # first bad commit: [fabbe6df130a46d5b5e7484b2273d69c4be3012a] ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Regression with AM43xx devices
2015-06-02 19:17 ` Felipe Balbi
@ 2015-06-02 19:28 ` Paul Walmsley
-1 siblings, 0 replies; 10+ messages in thread
From: Paul Walmsley @ 2015-06-02 19:28 UTC (permalink / raw)
To: Felipe Balbi
Cc: Dave Gerlach, Tony Lindgren, Linux OMAP Mailing List,
Linux ARM Kernel Mailing List
On Tue, 2 Jun 2015, Felipe Balbi wrote:
> You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx
> hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING
> during boot to all AM43xx-based boards. Full boot logs can be found at
> [1],
Speaking of which, could you guys please send along an AM43xx board for
the testbed? That would help avoid these issues earlier.
- Paul
^ permalink raw reply [flat|nested] 10+ messages in thread
* Regression with AM43xx devices
@ 2015-06-02 19:28 ` Paul Walmsley
0 siblings, 0 replies; 10+ messages in thread
From: Paul Walmsley @ 2015-06-02 19:28 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, 2 Jun 2015, Felipe Balbi wrote:
> You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx
> hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING
> during boot to all AM43xx-based boards. Full boot logs can be found at
> [1],
Speaking of which, could you guys please send along an AM43xx board for
the testbed? That would help avoid these issues earlier.
- Paul
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Regression with AM43xx devices
2015-06-02 19:28 ` Paul Walmsley
@ 2015-06-03 15:17 ` Dave Gerlach
-1 siblings, 0 replies; 10+ messages in thread
From: Dave Gerlach @ 2015-06-03 15:17 UTC (permalink / raw)
To: Paul Walmsley, Felipe Balbi
Cc: Tony Lindgren, Linux OMAP Mailing List,
Linux ARM Kernel Mailing List
Hi Paul,
On 06/02/2015 02:28 PM, Paul Walmsley wrote:
> On Tue, 2 Jun 2015, Felipe Balbi wrote:
>
>> You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx
>> hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING
>> during boot to all AM43xx-based boards. Full boot logs can be found at
>> [1],
>
> Speaking of which, could you guys please send along an AM43xx board for
> the testbed? That would help avoid these issues earlier.
>
We can work on this.
Regards,
Dave
>
> - Paul
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Regression with AM43xx devices
@ 2015-06-03 15:17 ` Dave Gerlach
0 siblings, 0 replies; 10+ messages in thread
From: Dave Gerlach @ 2015-06-03 15:17 UTC (permalink / raw)
To: linux-arm-kernel
Hi Paul,
On 06/02/2015 02:28 PM, Paul Walmsley wrote:
> On Tue, 2 Jun 2015, Felipe Balbi wrote:
>
>> You commit fabbe6df130a46d5b5e7484b2273d69c4be3012a (ARM: OMAP: AM43xx
>> hwmod: Add data for am43xx emif hwmod) listed below added a new WARNING
>> during boot to all AM43xx-based boards. Full boot logs can be found at
>> [1],
>
> Speaking of which, could you guys please send along an AM43xx board for
> the testbed? That would help avoid these issues earlier.
>
We can work on this.
Regards,
Dave
>
> - Paul
>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-06-03 15:17 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-02 19:17 Regression with AM43xx devices Felipe Balbi
2015-06-02 19:17 ` Felipe Balbi
2015-06-02 19:23 ` Felipe Balbi
2015-06-02 19:23 ` Felipe Balbi
2015-06-02 19:25 ` Dave Gerlach
2015-06-02 19:25 ` Dave Gerlach
2015-06-02 19:28 ` Paul Walmsley
2015-06-02 19:28 ` Paul Walmsley
2015-06-03 15:17 ` Dave Gerlach
2015-06-03 15:17 ` Dave Gerlach
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.