All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] at91: fix at91rm9200 soc subtype handling
@ 2011-12-28 11:10 Veli-Pekka Peltola
  2012-01-02 14:21 ` Nicolas Ferre
  2012-01-07 11:19 ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 2 replies; 7+ messages in thread
From: Veli-Pekka Peltola @ 2011-12-28 11:10 UTC (permalink / raw)
  To: linux-arm-kernel

BGA should be the default SoC subtype but it is set to unknown if
not explicitly set to PQFP. Currently setting it to PQFP sets subtype
to BGA as subtypes are swapped in at91rm9200_set_type().

Wrong subtype causes GPIO bank D not to work at all.

After this fix BGA subtype is set as default. On boot BGA is printed
always but it is set to PQFP if requested before setting amount of GPIO
banks.

Signed-off-by: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com>
---
 arch/arm/mach-at91/setup.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
index aa64294..e6b07ad 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -27,9 +27,9 @@ EXPORT_SYMBOL(at91_soc_initdata);
 void __init at91rm9200_set_type(int type)
 {
 	if (type == ARCH_REVISON_9200_PQFP)
-		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
-	else
 		at91_soc_initdata.subtype = AT91_SOC_RM9200_PQFP;
+	else
+		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
 }
 
 void __init at91_init_irq_default(void)
@@ -118,6 +118,7 @@ static void __init soc_detect(u32 dbgu_base)
 
 	case ARCH_ID_AT91RM9200:
 		at91_soc_initdata.type = AT91_SOC_RM9200;
+		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
 		at91_boot_soc = at91rm9200_soc;
 		break;
 
-- 
1.7.5.4

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

* [PATCH] at91: fix at91rm9200 soc subtype handling
  2011-12-28 11:10 [PATCH] at91: fix at91rm9200 soc subtype handling Veli-Pekka Peltola
@ 2012-01-02 14:21 ` Nicolas Ferre
  2012-01-03  9:23   ` Nicolas Ferre
  2012-01-07 11:19 ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 1 reply; 7+ messages in thread
From: Nicolas Ferre @ 2012-01-02 14:21 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/28/2011 12:10 PM, Veli-Pekka Peltola :
> BGA should be the default SoC subtype but it is set to unknown if
> not explicitly set to PQFP. Currently setting it to PQFP sets subtype
> to BGA as subtypes are swapped in at91rm9200_set_type().
> 
> Wrong subtype causes GPIO bank D not to work at all.
> 
> After this fix BGA subtype is set as default. On boot BGA is printed
> always but it is set to PQFP if requested before setting amount of GPIO
> banks.
> 
> Signed-off-by: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com>

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>

I will queue it in a "fixes" branch (hopefully for 3.3).

thanks a lot. Best regards,


> ---
>  arch/arm/mach-at91/setup.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
> index aa64294..e6b07ad 100644
> --- a/arch/arm/mach-at91/setup.c
> +++ b/arch/arm/mach-at91/setup.c
> @@ -27,9 +27,9 @@ EXPORT_SYMBOL(at91_soc_initdata);
>  void __init at91rm9200_set_type(int type)
>  {
>  	if (type == ARCH_REVISON_9200_PQFP)
> -		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
> -	else
>  		at91_soc_initdata.subtype = AT91_SOC_RM9200_PQFP;
> +	else
> +		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
>  }
>  
>  void __init at91_init_irq_default(void)
> @@ -118,6 +118,7 @@ static void __init soc_detect(u32 dbgu_base)
>  
>  	case ARCH_ID_AT91RM9200:
>  		at91_soc_initdata.type = AT91_SOC_RM9200;
> +		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
>  		at91_boot_soc = at91rm9200_soc;
>  		break;
>  


-- 
Nicolas Ferre

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

* [PATCH] at91: fix at91rm9200 soc subtype handling
  2012-01-02 14:21 ` Nicolas Ferre
@ 2012-01-03  9:23   ` Nicolas Ferre
  2012-01-03 11:38     ` [PATCH v2] ARM: " Nicolas Ferre
  2012-01-07 11:20     ` [PATCH] " Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 2 replies; 7+ messages in thread
From: Nicolas Ferre @ 2012-01-03  9:23 UTC (permalink / raw)
  To: linux-arm-kernel

On 01/02/2012 03:21 PM, Nicolas Ferre :
> On 12/28/2011 12:10 PM, Veli-Pekka Peltola :
>> BGA should be the default SoC subtype but it is set to unknown if
>> not explicitly set to PQFP. Currently setting it to PQFP sets subtype
>> to BGA as subtypes are swapped in at91rm9200_set_type().
>>
>> Wrong subtype causes GPIO bank D not to work at all.
>>
>> After this fix BGA subtype is set as default. On boot BGA is printed
>> always but it is set to PQFP if requested before setting amount of GPIO
>> banks.
>>
>> Signed-off-by: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com>
> 
> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> 
> I will queue it in a "fixes" branch (hopefully for 3.3).

I come back to this:
1/ There is definitively a bug in at91rm9200_set_type()
2/ I do not know if it is a good idea to set BGA subtype by default. I
would simply keep the "unknown" subtype printed out until the real
subtype is set by the "*_init_early()" of the board code.

So, I may modify your original patch and submit it for discussion...
Jean-Christophe, I would like to have your opinion on this.

Best regards,


> 
> thanks a lot. Best regards,
> 
> 
>> ---
>>  arch/arm/mach-at91/setup.c |    5 +++--
>>  1 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
>> index aa64294..e6b07ad 100644
>> --- a/arch/arm/mach-at91/setup.c
>> +++ b/arch/arm/mach-at91/setup.c
>> @@ -27,9 +27,9 @@ EXPORT_SYMBOL(at91_soc_initdata);
>>  void __init at91rm9200_set_type(int type)
>>  {
>>  	if (type == ARCH_REVISON_9200_PQFP)
>> -		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
>> -	else
>>  		at91_soc_initdata.subtype = AT91_SOC_RM9200_PQFP;
>> +	else
>> +		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
>>  }
>>  
>>  void __init at91_init_irq_default(void)
>> @@ -118,6 +118,7 @@ static void __init soc_detect(u32 dbgu_base)
>>  
>>  	case ARCH_ID_AT91RM9200:
>>  		at91_soc_initdata.type = AT91_SOC_RM9200;
>> +		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
>>  		at91_boot_soc = at91rm9200_soc;
>>  		break;
>>  
> 
> 


-- 
Nicolas Ferre

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

* [PATCH v2] ARM: at91: fix at91rm9200 soc subtype handling
  2012-01-03  9:23   ` Nicolas Ferre
@ 2012-01-03 11:38     ` Nicolas Ferre
  2012-01-07 11:21       ` Jean-Christophe PLAGNIOL-VILLARD
  2012-01-07 11:20     ` [PATCH] " Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 1 reply; 7+ messages in thread
From: Nicolas Ferre @ 2012-01-03 11:38 UTC (permalink / raw)
  To: linux-arm-kernel

Currently setting it to PQFP changes subtype to BGA as subtypes are
swapped in at91rm9200_set_type().

Wrong subtype causes GPIO bank D not to work at all.

After this fix, subtype is still set as unknown. But board code should
fill it in with proper value. Another information is thus printed.

Bug discovery and first implementation made by Veli-Pekka Peltola.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: stable <stable@vger.kernel.org>
---
 arch/arm/mach-at91/setup.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
index aa64294..f5bbe0ef 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -27,9 +27,12 @@ EXPORT_SYMBOL(at91_soc_initdata);
 void __init at91rm9200_set_type(int type)
 {
 	if (type == ARCH_REVISON_9200_PQFP)
-		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
-	else
 		at91_soc_initdata.subtype = AT91_SOC_RM9200_PQFP;
+	else
+		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
+
+	pr_info("AT91: filled in soc subtype: %s\n",
+		at91_get_soc_subtype(&at91_soc_initdata));
 }
 
 void __init at91_init_irq_default(void)
-- 
1.7.5.4

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

* [PATCH] at91: fix at91rm9200 soc subtype handling
  2011-12-28 11:10 [PATCH] at91: fix at91rm9200 soc subtype handling Veli-Pekka Peltola
  2012-01-02 14:21 ` Nicolas Ferre
@ 2012-01-07 11:19 ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 7+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-01-07 11:19 UTC (permalink / raw)
  To: linux-arm-kernel

On 13:10 Wed 28 Dec     , Veli-Pekka Peltola wrote:
> BGA should be the default SoC subtype but it is set to unknown if
> not explicitly set to PQFP. Currently setting it to PQFP sets subtype
> to BGA as subtypes are swapped in at91rm9200_set_type().
> 
> Wrong subtype causes GPIO bank D not to work at all.
> 
> After this fix BGA subtype is set as default. On boot BGA is printed
> always but it is set to PQFP if requested before setting amount of GPIO
> banks.
> 
> Signed-off-by: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com>
> ---
>  arch/arm/mach-at91/setup.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
> index aa64294..e6b07ad 100644
> --- a/arch/arm/mach-at91/setup.c
> +++ b/arch/arm/mach-at91/setup.c
> @@ -27,9 +27,9 @@ EXPORT_SYMBOL(at91_soc_initdata);
>  void __init at91rm9200_set_type(int type)
>  {
>  	if (type == ARCH_REVISON_9200_PQFP)
> -		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
> -	else
>  		at91_soc_initdata.subtype = AT91_SOC_RM9200_PQFP;
> +	else
> +		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
>  }
>  
>  void __init at91_init_irq_default(void)
> @@ -118,6 +118,7 @@ static void __init soc_detect(u32 dbgu_base)
>  
>  	case ARCH_ID_AT91RM9200:
>  		at91_soc_initdata.type = AT91_SOC_RM9200;
> +		at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
>  		at91_boot_soc = at91rm9200_soc;
disagree here 
as we can not detect it the board MUST set it

Best Regards,
J.

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

* [PATCH] at91: fix at91rm9200 soc subtype handling
  2012-01-03  9:23   ` Nicolas Ferre
  2012-01-03 11:38     ` [PATCH v2] ARM: " Nicolas Ferre
@ 2012-01-07 11:20     ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 7+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-01-07 11:20 UTC (permalink / raw)
  To: linux-arm-kernel

On 10:23 Tue 03 Jan     , Nicolas Ferre wrote:
> On 01/02/2012 03:21 PM, Nicolas Ferre :
> > On 12/28/2011 12:10 PM, Veli-Pekka Peltola :
> >> BGA should be the default SoC subtype but it is set to unknown if
> >> not explicitly set to PQFP. Currently setting it to PQFP sets subtype
> >> to BGA as subtypes are swapped in at91rm9200_set_type().
> >>
> >> Wrong subtype causes GPIO bank D not to work at all.
> >>
> >> After this fix BGA subtype is set as default. On boot BGA is printed
> >> always but it is set to PQFP if requested before setting amount of GPIO
> >> banks.
> >>
> >> Signed-off-by: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com>
> > 
> > Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> > 
> > I will queue it in a "fixes" branch (hopefully for 3.3).
> 
> I come back to this:
> 1/ There is definitively a bug in at91rm9200_set_type()
> 2/ I do not know if it is a good idea to set BGA subtype by default. I
> would simply keep the "unknown" subtype printed out until the real
> subtype is set by the "*_init_early()" of the board code.
> 
> So, I may modify your original patch and submit it for discussion...
> Jean-Christophe, I would like to have your opinion on this.
agreed

Best Regards,
J.

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

* [PATCH v2] ARM: at91: fix at91rm9200 soc subtype handling
  2012-01-03 11:38     ` [PATCH v2] ARM: " Nicolas Ferre
@ 2012-01-07 11:21       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 7+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-01-07 11:21 UTC (permalink / raw)
  To: linux-arm-kernel

On 12:38 Tue 03 Jan     , Nicolas Ferre wrote:
> Currently setting it to PQFP changes subtype to BGA as subtypes are
> swapped in at91rm9200_set_type().
> 
> Wrong subtype causes GPIO bank D not to work at all.
> 
> After this fix, subtype is still set as unknown. But board code should
> fill it in with proper value. Another information is thus printed.
> 
> Bug discovery and first implementation made by Veli-Pekka Peltola.
> 
> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: stable <stable@vger.kernel.org>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

Best Regards,
J.
> ---

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

end of thread, other threads:[~2012-01-07 11:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-28 11:10 [PATCH] at91: fix at91rm9200 soc subtype handling Veli-Pekka Peltola
2012-01-02 14:21 ` Nicolas Ferre
2012-01-03  9:23   ` Nicolas Ferre
2012-01-03 11:38     ` [PATCH v2] ARM: " Nicolas Ferre
2012-01-07 11:21       ` Jean-Christophe PLAGNIOL-VILLARD
2012-01-07 11:20     ` [PATCH] " Jean-Christophe PLAGNIOL-VILLARD
2012-01-07 11:19 ` Jean-Christophe PLAGNIOL-VILLARD

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.