diff mbox

[V3,7/7] ARM: DRA: Enable Crossbar IP support for DRA7XX

Message ID 1383657257-3458-8-git-send-email-r.sricharan@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

R Sricharan Nov. 5, 2013, 1:14 p.m. UTC
Enable the crossbar IP support for DRA7xx soc.

Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sricharan R <r.sricharan@ti.com>
---
 arch/arm/mach-omap2/Kconfig        |    1 +
 arch/arm/mach-omap2/omap4-common.c |    4 ++++
 2 files changed, 5 insertions(+)

Comments

Rajendra Nayak Nov. 12, 2013, 5:41 a.m. UTC | #1
On Tuesday 05 November 2013 06:44 PM, Sricharan R wrote:
> Enable the crossbar IP support for DRA7xx soc.
> 
> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Cc: Rajendra Nayak <rnayak@ti.com>
> Cc: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Sricharan R <r.sricharan@ti.com>
> ---
>  arch/arm/mach-omap2/Kconfig        |    1 +
>  arch/arm/mach-omap2/omap4-common.c |    4 ++++
>  2 files changed, 5 insertions(+)
> 
> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
> index b5fb5f7..2086c65 100644
> --- a/arch/arm/mach-omap2/Kconfig
> +++ b/arch/arm/mach-omap2/Kconfig
> @@ -141,6 +141,7 @@ config SOC_DRA7XX
>  	select ARM_GIC
>  	select HAVE_SMP
>  	select COMMON_CLK
> +	select IRQ_CROSSBAR
>  
>  comment "OMAP Core Type"
>  	depends on ARCH_OMAP2
> diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
> index 5791143..274cbfa 100644
> --- a/arch/arm/mach-omap2/omap4-common.c
> +++ b/arch/arm/mach-omap2/omap4-common.c
> @@ -22,6 +22,7 @@
>  #include <linux/of_platform.h>
>  #include <linux/export.h>
>  #include <linux/irqchip/arm-gic.h>
> +#include <linux/irqchip/irq-crossbar.h>
>  #include <linux/of_address.h>
>  #include <linux/reboot.h>
>  
> @@ -282,9 +283,12 @@ void __init omap_gic_of_init(void)
>  
>  skip_errata_init:
>  	omap_wakeupgen_init();
> +	if (soc_is_dra7xx())
> +		crossbar_init();

Its good if this is called irqcrossbar_init() to avoid confusion
with the dma crossbar which also exists in dra7 devices.

>  	irqchip_init();
>  }
>  
> +
>  #if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
>  static int omap4_twl6030_hsmmc_late_init(struct device *dev)
>  {
>
R Sricharan Nov. 12, 2013, 5:47 a.m. UTC | #2
Hi Rajendra,

On Tuesday 12 November 2013 11:11 AM, Rajendra Nayak wrote:
> On Tuesday 05 November 2013 06:44 PM, Sricharan R wrote:
>> Enable the crossbar IP support for DRA7xx soc.
>>
>> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
>> Cc: Rajendra Nayak <rnayak@ti.com>
>> Cc: Tony Lindgren <tony@atomide.com>
>> Signed-off-by: Sricharan R <r.sricharan@ti.com>
>> ---
>>  arch/arm/mach-omap2/Kconfig        |    1 +
>>  arch/arm/mach-omap2/omap4-common.c |    4 ++++
>>  2 files changed, 5 insertions(+)
>>
>> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
>> index b5fb5f7..2086c65 100644
>> --- a/arch/arm/mach-omap2/Kconfig
>> +++ b/arch/arm/mach-omap2/Kconfig
>> @@ -141,6 +141,7 @@ config SOC_DRA7XX
>>  	select ARM_GIC
>>  	select HAVE_SMP
>>  	select COMMON_CLK
>> +	select IRQ_CROSSBAR
>>  
>>  comment "OMAP Core Type"
>>  	depends on ARCH_OMAP2
>> diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
>> index 5791143..274cbfa 100644
>> --- a/arch/arm/mach-omap2/omap4-common.c
>> +++ b/arch/arm/mach-omap2/omap4-common.c
>> @@ -22,6 +22,7 @@
>>  #include <linux/of_platform.h>
>>  #include <linux/export.h>
>>  #include <linux/irqchip/arm-gic.h>
>> +#include <linux/irqchip/irq-crossbar.h>
>>  #include <linux/of_address.h>
>>  #include <linux/reboot.h>
>>  
>> @@ -282,9 +283,12 @@ void __init omap_gic_of_init(void)
>>  
>>  skip_errata_init:
>>  	omap_wakeupgen_init();
>> +	if (soc_is_dra7xx())
>> +		crossbar_init();
> Its good if this is called irqcrossbar_init() to avoid confusion
> with the dma crossbar which also exists in dra7 devices.
>
 Ya makes sense. Will change this.

Regards,
 Sricharan
Santosh Shilimkar Nov. 13, 2013, 3:30 p.m. UTC | #3
On Tuesday 05 November 2013 08:14 AM, Sricharan R wrote:
> Enable the crossbar IP support for DRA7xx soc.
> 
> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Cc: Rajendra Nayak <rnayak@ti.com>
> Cc: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Sricharan R <r.sricharan@ti.com>
> ---
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Nishanth Menon Nov. 13, 2013, 3:32 p.m. UTC | #4
On 11/11/2013 11:47 PM, Sricharan R wrote:
> Hi Rajendra,
> 
> On Tuesday 12 November 2013 11:11 AM, Rajendra Nayak wrote:
>> On Tuesday 05 November 2013 06:44 PM, Sricharan R wrote:
>>> Enable the crossbar IP support for DRA7xx soc.
>>>
>>> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>> Cc: Rajendra Nayak <rnayak@ti.com>
>>> Cc: Tony Lindgren <tony@atomide.com>
>>> Signed-off-by: Sricharan R <r.sricharan@ti.com>
>>> ---
>>>  arch/arm/mach-omap2/Kconfig        |    1 +
>>>  arch/arm/mach-omap2/omap4-common.c |    4 ++++
>>>  2 files changed, 5 insertions(+)
>>>
>>> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
>>> index b5fb5f7..2086c65 100644
>>> --- a/arch/arm/mach-omap2/Kconfig
>>> +++ b/arch/arm/mach-omap2/Kconfig
>>> @@ -141,6 +141,7 @@ config SOC_DRA7XX
>>>  	select ARM_GIC
>>>  	select HAVE_SMP
>>>  	select COMMON_CLK
>>> +	select IRQ_CROSSBAR
>>>  
>>>  comment "OMAP Core Type"
>>>  	depends on ARCH_OMAP2
>>> diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
>>> index 5791143..274cbfa 100644
>>> --- a/arch/arm/mach-omap2/omap4-common.c
>>> +++ b/arch/arm/mach-omap2/omap4-common.c
>>> @@ -22,6 +22,7 @@
>>>  #include <linux/of_platform.h>
>>>  #include <linux/export.h>
>>>  #include <linux/irqchip/arm-gic.h>
>>> +#include <linux/irqchip/irq-crossbar.h>
>>>  #include <linux/of_address.h>
>>>  #include <linux/reboot.h>
>>>  
>>> @@ -282,9 +283,12 @@ void __init omap_gic_of_init(void)
>>>  
>>>  skip_errata_init:
>>>  	omap_wakeupgen_init();
>>> +	if (soc_is_dra7xx())
>>> +		crossbar_init();
>> Its good if this is called irqcrossbar_init() to avoid confusion
>> with the dma crossbar which also exists in dra7 devices.
>>
>  Ya makes sense. Will change this.
Also why not call it without explicit soc check? there is already
parse for of_find_matching_node(NULL, crossbar_match); to see if we
have a match in the crossbar_init. OR call it from dra7 init without
SoC check dependency?

Rationale - with more TI SoCs trending towards crossbar, we dont need
to keep adding to the soc_is checks, further, we intend to remove
soc_is checks in it's entirety..
R Sricharan Nov. 13, 2013, 3:35 p.m. UTC | #5
On Wednesday 13 November 2013 09:02 PM, Nishanth Menon wrote:
> On 11/11/2013 11:47 PM, Sricharan R wrote:
>> Hi Rajendra,
>>
>> On Tuesday 12 November 2013 11:11 AM, Rajendra Nayak wrote:
>>> On Tuesday 05 November 2013 06:44 PM, Sricharan R wrote:
>>>> Enable the crossbar IP support for DRA7xx soc.
>>>>
>>>> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
>>>> Cc: Rajendra Nayak <rnayak@ti.com>
>>>> Cc: Tony Lindgren <tony@atomide.com>
>>>> Signed-off-by: Sricharan R <r.sricharan@ti.com>
>>>> ---
>>>>  arch/arm/mach-omap2/Kconfig        |    1 +
>>>>  arch/arm/mach-omap2/omap4-common.c |    4 ++++
>>>>  2 files changed, 5 insertions(+)
>>>>
>>>> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
>>>> index b5fb5f7..2086c65 100644
>>>> --- a/arch/arm/mach-omap2/Kconfig
>>>> +++ b/arch/arm/mach-omap2/Kconfig
>>>> @@ -141,6 +141,7 @@ config SOC_DRA7XX
>>>>  	select ARM_GIC
>>>>  	select HAVE_SMP
>>>>  	select COMMON_CLK
>>>> +	select IRQ_CROSSBAR
>>>>  
>>>>  comment "OMAP Core Type"
>>>>  	depends on ARCH_OMAP2
>>>> diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
>>>> index 5791143..274cbfa 100644
>>>> --- a/arch/arm/mach-omap2/omap4-common.c
>>>> +++ b/arch/arm/mach-omap2/omap4-common.c
>>>> @@ -22,6 +22,7 @@
>>>>  #include <linux/of_platform.h>
>>>>  #include <linux/export.h>
>>>>  #include <linux/irqchip/arm-gic.h>
>>>> +#include <linux/irqchip/irq-crossbar.h>
>>>>  #include <linux/of_address.h>
>>>>  #include <linux/reboot.h>
>>>>  
>>>> @@ -282,9 +283,12 @@ void __init omap_gic_of_init(void)
>>>>  
>>>>  skip_errata_init:
>>>>  	omap_wakeupgen_init();
>>>> +	if (soc_is_dra7xx())
>>>> +		crossbar_init();
>>> Its good if this is called irqcrossbar_init() to avoid confusion
>>> with the dma crossbar which also exists in dra7 devices.
>>>
>>  Ya makes sense. Will change this.
> Also why not call it without explicit soc check? there is already
> parse for of_find_matching_node(NULL, crossbar_match); to see if we
> have a match in the crossbar_init. OR call it from dra7 init without
> SoC check dependency?
>
> Rationale - with more TI SoCs trending towards crossbar, we dont need
> to keep adding to the soc_is checks, further, we intend to remove
> soc_is checks in it's entirety..
>
>
Oh yes. I missed this. Thanks for pointing. Will correct.

Regards,
 Sricharan
Santosh Shilimkar Nov. 13, 2013, 4:04 p.m. UTC | #6
On Wednesday 13 November 2013 10:32 AM, Nishanth Menon wrote:
> On 11/11/2013 11:47 PM, Sricharan R wrote:
[..]

> 
> Rationale - with more TI SoCs trending towards crossbar, we dont need
> to keep adding to the soc_is checks, further, we intend to remove
> soc_is checks in it's entirety..
> 
Just for record, and thats what am pushing the TI hardware folks is not to
build default IRQ configuration considering the software will clean-up the
mess. So hope is that we don't have to use this infrastructure always but
only for exceptional cases.

Regards,
Santosh
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index b5fb5f7..2086c65 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -141,6 +141,7 @@  config SOC_DRA7XX
 	select ARM_GIC
 	select HAVE_SMP
 	select COMMON_CLK
+	select IRQ_CROSSBAR
 
 comment "OMAP Core Type"
 	depends on ARCH_OMAP2
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
index 5791143..274cbfa 100644
--- a/arch/arm/mach-omap2/omap4-common.c
+++ b/arch/arm/mach-omap2/omap4-common.c
@@ -22,6 +22,7 @@ 
 #include <linux/of_platform.h>
 #include <linux/export.h>
 #include <linux/irqchip/arm-gic.h>
+#include <linux/irqchip/irq-crossbar.h>
 #include <linux/of_address.h>
 #include <linux/reboot.h>
 
@@ -282,9 +283,12 @@  void __init omap_gic_of_init(void)
 
 skip_errata_init:
 	omap_wakeupgen_init();
+	if (soc_is_dra7xx())
+		crossbar_init();
 	irqchip_init();
 }
 
+
 #if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
 static int omap4_twl6030_hsmmc_late_init(struct device *dev)
 {