Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: d-gerlach@ti.com (Dave Gerlach)
To: linux-arm-kernel@lists.infradead.org
Subject: Regression with AM43xx devices
Date: Tue, 2 Jun 2015 14:25:40 -0500	[thread overview]
Message-ID: <556E0334.2020603@ti.com> (raw)
In-Reply-To: <20150602191752.GE9623@saruman.tx.rr.com>

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
> 

  parent reply	other threads:[~2015-06-02 19:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-02 19:17 Regression with AM43xx devices Felipe Balbi
2015-06-02 19:23 ` Felipe Balbi
2015-06-02 19:25 ` Dave Gerlach [this message]
2015-06-02 19:28 ` Paul Walmsley
2015-06-03 15:17   ` Dave Gerlach

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=556E0334.2020603@ti.com \
    --to=d-gerlach@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox