All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9 v2] introduce generic OMAP SOC features
@ 2010-06-23  2:16 Nishanth Menon
  2010-06-23  2:16 ` [PATCH 1/9] omap1: rename check_revision Nishanth Menon
                   ` (8 more replies)
  0 siblings, 9 replies; 22+ messages in thread
From: Nishanth Menon @ 2010-06-23  2:16 UTC (permalink / raw)
  To: linux-omap
  Cc: Venkatraman S, Senthilvadivu Guruswamy, Tony Lindgren, Nishanth Menon

With OMAP4 we have the need to have SOC independent features
handling. This makes sense from a long run as other OMAP4
derivatives gets generated in parallel to OMAP3 generation
of chips.

V1: http://marc.info/?l=linux-omap&m=127458581708411&w=2

V2 incorporates additional patches which were posted as part
of http://marc.info/?t=127357973500002&r=1&w=2

Example usages:
	http://marc.info/?t=127376415000008&r=1&w=2
	http://marc.info/?t=127265012000008&r=1&w=2

This series attempts to introduce a framework which could
be used from OMAP1 onwards.

Caveat: this series just introduces the framework by reorganizing
the existing data, it introduces just a basic support on OMAP1,2,4
while reorganizing the existing omap3 features as needed for
OMAP1,2,3,4. As usual, comments are welcome.

NOTE: Tested on OMAP3430, 3630, OMAP4. Requesting help to verify on
other platforms as well - OMAP1,2 etc..(only very limited change has
been done for these, expectation is for them to continue to function).

Nishanth Menon (9):
  omap1: rename check_revision
  omap2/3: id: fix sparse warning
  omap: generic: introduce a single check_revision
  omap: improve OMAP3_HAS_FEATURE
  omap: introduce OMAP_SHOW_FEATURE
  omap: move generic omap3 features to generic
  omap: introduce omap4 feature
  omap: introduce omap24xx generic features
  omap: id: add feature check for omap1

 arch/arm/mach-omap1/id.c              |    8 +++-
 arch/arm/mach-omap1/io.c              |    1 -
 arch/arm/mach-omap2/id.c              |   61 +++++++++++++++++++---------
 arch/arm/mach-omap2/io.c              |    2 +-
 arch/arm/plat-omap/common.c           |   16 +++++++
 arch/arm/plat-omap/include/plat/cpu.h |   72 ++++++++++++++++++++++-----------
 6 files changed, 113 insertions(+), 47 deletions(-)

Regards,
Nishanth Menon

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

* [PATCH 1/9] omap1: rename check_revision
  2010-06-23  2:16 [PATCH 0/9 v2] introduce generic OMAP SOC features Nishanth Menon
@ 2010-06-23  2:16 ` Nishanth Menon
  2010-06-23  2:16 ` [PATCH 2/9] omap2/3: id: fix sparse warning Nishanth Menon
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: Nishanth Menon @ 2010-06-23  2:16 UTC (permalink / raw)
  Cc: Venkatraman S, Senthilvadivu Guruswamy, Tony Lindgren,
	Nishanth Menon, Angelo Arrifano, Zebediah C. McClure,
	Alistair Buxton, Paul Walmsley, Sanjeev Premi, Santosh Shilimkar,
	Kevin Hilman, Tomi Valkeinen, Aaro Koskinen, Vikram Pandita,
	Vishwanath S, linux-omap

Rename omap_check_revision to omap1_check_revision to make it
evident that this is omap1 features to check. This will allow
us to introduce a omap generic check feature capability

Cc: Tony Lindgren <tony@atomide.com>
Cc: Angelo Arrifano <miknix@gmail.com>
Cc: "Zebediah C. McClure" <zmc@lurian.net>
Cc: Alistair Buxton <a.j.buxton@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Senthilvadivu Gurusamy <svadivu@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Vishwanath S <vishwa.s@ti.com>
Cc: linux-omap@vger.kernel.org

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 arch/arm/mach-omap1/id.c |    2 +-
 arch/arm/mach-omap1/io.c |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c
index a0e3560..91dbb71 100644
--- a/arch/arm/mach-omap1/id.c
+++ b/arch/arm/mach-omap1/id.c
@@ -118,7 +118,7 @@ static u8 __init omap_get_die_rev(void)
 	return die_rev;
 }
 
-void __init omap_check_revision(void)
+void __init omap1_check_revision(void)
 {
 	int i;
 	u16 jtag_id;
diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c
index 0ce3fec..e4d8680 100644
--- a/arch/arm/mach-omap1/io.c
+++ b/arch/arm/mach-omap1/io.c
@@ -20,7 +20,7 @@
 
 #include "clock.h"
 
-extern void omap_check_revision(void);
+extern void omap1_check_revision(void);
 extern void omap_sram_init(void);
 
 /*
@@ -102,7 +102,7 @@ void __init omap1_map_common_io(void)
 	/* We want to check CPU revision early for cpu_is_omapxxxx() macros.
 	 * IO space mapping must be initialized before we can do that.
 	 */
-	omap_check_revision();
+	omap1_check_revision();
 
 #if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850)
 	if (cpu_is_omap7xx()) {
-- 
1.6.3.3


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

* [PATCH 2/9] omap2/3: id: fix sparse warning
  2010-06-23  2:16 [PATCH 0/9 v2] introduce generic OMAP SOC features Nishanth Menon
  2010-06-23  2:16 ` [PATCH 1/9] omap1: rename check_revision Nishanth Menon
@ 2010-06-23  2:16 ` Nishanth Menon
  2010-06-23  2:16 ` [PATCH 3/9] omap: generic: introduce a single check_revision Nishanth Menon
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: Nishanth Menon @ 2010-06-23  2:16 UTC (permalink / raw)
  Cc: Venkatraman S, Senthilvadivu Guruswamy, Tony Lindgren,
	Nishanth Menon, Angelo Arrifano, Zebediah C. McClure,
	Alistair Buxton, Paul Walmsley, Sanjeev Premi, Santosh Shilimkar,
	Kevin Hilman, Tomi Valkeinen, Aaro Koskinen, Vikram Pandita,
	Vishwanath S, linux-omap

omap24xx_check_revision, omap3_check_features,
omap3_check_revision, omap4_check_revision, omap3_cpuinfo
are not used elsewhere, it should be static

Also fixes the following sparse warnings:
arch/arm/mach-omap2/id.c:105:13: warning: symbol 'omap24xx_check_revision' was not declared. Should it be static?
arch/arm/mach-omap2/id.c:167:13: warning: symbol 'omap3_check_features' was not declared. Should it be static?
arch/arm/mach-omap2/id.c:189:13: warning: symbol 'omap3_check_revision' was not declared. Should it be static?
arch/arm/mach-omap2/id.c:270:13: warning: symbol 'omap4_check_revision' was not declared. Should it be static?
arch/arm/mach-omap2/id.c:300:13: warning: symbol 'omap3_cpuinfo' was not declared. Should it be static?

Cc: Tony Lindgren <tony@atomide.com>
Cc: Angelo Arrifano <miknix@gmail.com>
Cc: "Zebediah C. McClure" <zmc@lurian.net>
Cc: Alistair Buxton <a.j.buxton@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Senthilvadivu Gurusamy <svadivu@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Vishwanath S <vishwa.s@ti.com>
Cc: linux-omap@vger.kernel.org

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 arch/arm/mach-omap2/id.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 37b8a1a..c7bf0e1 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -102,7 +102,7 @@ static struct omap_id omap_ids[] __initdata = {
 static void __iomem *tap_base;
 static u16 tap_prod_id;
 
-void __init omap24xx_check_revision(void)
+static void __init omap24xx_check_revision(void)
 {
 	int i, j;
 	u32 idcode, prod_id;
@@ -164,7 +164,7 @@ void __init omap24xx_check_revision(void)
 		omap3_features |= OMAP3_HAS_ ##feat;			\
 	}
 
-void __init omap3_check_features(void)
+static void __init omap3_check_features(void)
 {
 	u32 status;
 
@@ -186,7 +186,7 @@ void __init omap3_check_features(void)
 	 */
 }
 
-void __init omap3_check_revision(void)
+static void __init omap3_check_revision(void)
 {
 	u32 cpuid, idcode;
 	u16 hawkeye;
@@ -267,7 +267,7 @@ void __init omap3_check_revision(void)
 	}
 }
 
-void __init omap4_check_revision(void)
+static void __init omap4_check_revision(void)
 {
 	u32 idcode;
 	u16 hawkeye;
@@ -297,7 +297,7 @@ void __init omap4_check_revision(void)
 	if (omap3_has_ ##feat())		\
 		printk(#feat" ");
 
-void __init omap3_cpuinfo(void)
+static void __init omap3_cpuinfo(void)
 {
 	u8 rev = GET_OMAP_REVISION();
 	char cpu_name[16], cpu_rev[16];
-- 
1.6.3.3


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

* [PATCH 3/9] omap: generic: introduce a single check_revision
  2010-06-23  2:16 [PATCH 0/9 v2] introduce generic OMAP SOC features Nishanth Menon
  2010-06-23  2:16 ` [PATCH 1/9] omap1: rename check_revision Nishanth Menon
  2010-06-23  2:16 ` [PATCH 2/9] omap2/3: id: fix sparse warning Nishanth Menon
@ 2010-06-23  2:16 ` Nishanth Menon
  2010-06-25  9:31   ` Grazvydas Ignotas
  2010-06-23  2:16 ` [PATCH 4/9] omap: improve OMAP3_HAS_FEATURE Nishanth Menon
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 22+ messages in thread
From: Nishanth Menon @ 2010-06-23  2:16 UTC (permalink / raw)
  Cc: Venkatraman S, Senthilvadivu Guruswamy, Tony Lindgren,
	Nishanth Menon, Angelo Arrifano, Zebediah C. McClure,
	Alistair Buxton, Paul Walmsley, Sanjeev Premi, Santosh Shilimkar,
	Kevin Hilman, Tomi Valkeinen, Aaro Koskinen, Vikram Pandita,
	Vishwanath S, linux-omap

Introduce a single omap generic check_revision that routes the
request to the right revision of check_revision.

Cc: Tony Lindgren <tony@atomide.com>
Cc: Angelo Arrifano <miknix@gmail.com>
Cc: "Zebediah C. McClure" <zmc@lurian.net>
Cc: Alistair Buxton <a.j.buxton@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Senthilvadivu Gurusamy <svadivu@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Vishwanath S <vishwa.s@ti.com>
Cc: linux-omap@vger.kernel.org

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 arch/arm/mach-omap1/io.c              |    3 +--
 arch/arm/mach-omap2/io.c              |    2 +-
 arch/arm/plat-omap/common.c           |   12 ++++++++++++
 arch/arm/plat-omap/include/plat/cpu.h |   13 ++++++++++++-
 4 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c
index e4d8680..4f9ee73 100644
--- a/arch/arm/mach-omap1/io.c
+++ b/arch/arm/mach-omap1/io.c
@@ -20,7 +20,6 @@
 
 #include "clock.h"
 
-extern void omap1_check_revision(void);
 extern void omap_sram_init(void);
 
 /*
@@ -102,7 +101,7 @@ void __init omap1_map_common_io(void)
 	/* We want to check CPU revision early for cpu_is_omapxxxx() macros.
 	 * IO space mapping must be initialized before we can do that.
 	 */
-	omap1_check_revision();
+	omap_check_revision();
 
 #if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850)
 	if (cpu_is_omap7xx()) {
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 4e1f53d..eeb0e30 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -238,7 +238,7 @@ static void __init _omap2_map_common_io(void)
 	local_flush_tlb_all();
 	flush_cache_all();
 
-	omap2_check_revision();
+	omap_check_revision();
 	omap_sram_init();
 }
 
diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
index fca73cd..538e170 100644
--- a/arch/arm/plat-omap/common.c
+++ b/arch/arm/plat-omap/common.c
@@ -89,6 +89,18 @@ void __init omap_reserve(void)
 	omap_vram_reserve_sdram_lmb();
 }
 
+void __init omap_check_revision()
+{
+#ifdef CONFIG_ARCH_OMAP1
+	if (cpu_is_omap7xx() || cpu_is_omap15xx() || cpu_is_omap16xx())
+		omap1_check_revision();
+#endif
+#ifdef CONFIG_ARCH_OMAP2PLUS
+	if (cpu_is_omap24xx() || cpu_is_omap34xx() || cpu_is_omap44xx())
+		omap2_check_revision();
+#endif
+}
+
 /*
  * 32KHz clocksource ... always available, on pretty most chips except
  * OMAP 730 and 1510.  Other timers could be used as clocksources, with
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
index 7514174..5f12a0b 100644
--- a/arch/arm/plat-omap/include/plat/cpu.h
+++ b/arch/arm/plat-omap/include/plat/cpu.h
@@ -431,7 +431,18 @@ IS_OMAP_TYPE(3517, 0x3517)
 
 
 int omap_chip_is(struct omap_chip_id oci);
-void omap2_check_revision(void);
+#ifdef CONFIG_ARCH_OMAP2PLUS
+extern void omap2_check_revision(void);
+#else
+static inline void omap2_check_revision(void) {}
+#endif
+
+#ifdef CONFIG_ARCH_OMAP1
+extern void omap1_check_revision(void);
+#else
+static inline void omap1_check_revision(void) {}
+#endif
+void omap_check_revision(void);
 
 /*
  * Runtime detection of OMAP3 features
-- 
1.6.3.3


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

* [PATCH 4/9] omap: improve OMAP3_HAS_FEATURE
  2010-06-23  2:16 [PATCH 0/9 v2] introduce generic OMAP SOC features Nishanth Menon
                   ` (2 preceding siblings ...)
  2010-06-23  2:16 ` [PATCH 3/9] omap: generic: introduce a single check_revision Nishanth Menon
@ 2010-06-23  2:16 ` Nishanth Menon
  2010-07-07 12:28   ` Tony Lindgren
  2010-06-23  2:16 ` [PATCH 5/9] omap: introduce OMAP_SHOW_FEATURE Nishanth Menon
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 22+ messages in thread
From: Nishanth Menon @ 2010-06-23  2:16 UTC (permalink / raw)
  Cc: Venkatraman S, Senthilvadivu Guruswamy, Tony Lindgren,
	Nishanth Menon, Angelo Arrifano, Zebediah C. McClure,
	Alistair Buxton, Paul Walmsley, Sanjeev Premi, Santosh Shilimkar,
	Kevin Hilman, Tomi Valkeinen, Aaro Koskinen, Vikram Pandita,
	Vishwanath S, linux-omap

Replace OMAP3_HAS_FEATURE with OMAP_HAS_FEATURE allowing
us to support multiple chip features

Cc: Tony Lindgren <tony@atomide.com>
Cc: Angelo Arrifano <miknix@gmail.com>
Cc: "Zebediah C. McClure" <zmc@lurian.net>
Cc: Alistair Buxton <a.j.buxton@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Senthilvadivu Gurusamy <svadivu@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Vishwanath S <vishwa.s@ti.com>
Cc: linux-omap@vger.kernel.org

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 arch/arm/plat-omap/include/plat/cpu.h |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
index 5f12a0b..c71dbf4 100644
--- a/arch/arm/plat-omap/include/plat/cpu.h
+++ b/arch/arm/plat-omap/include/plat/cpu.h
@@ -444,6 +444,12 @@ static inline void omap1_check_revision(void) {}
 #endif
 void omap_check_revision(void);
 
+#define OMAP_HAS_FEATURE(rev, feat, flag)				\
+static inline unsigned int omap##rev##_has_ ##feat(void)		\
+{									\
+	return omap##rev##_features & OMAP##rev##_HAS_ ##flag;		\
+}									\
+
 /*
  * Runtime detection of OMAP3 features
  */
@@ -456,17 +462,11 @@ extern u32 omap3_features;
 #define OMAP3_HAS_ISP			BIT(4)
 #define OMAP3_HAS_192MHZ_CLK		BIT(5)
 
-#define OMAP3_HAS_FEATURE(feat,flag)			\
-static inline unsigned int omap3_has_ ##feat(void)	\
-{							\
-	return (omap3_features & OMAP3_HAS_ ##flag);	\
-}							\
-
-OMAP3_HAS_FEATURE(l2cache, L2CACHE)
-OMAP3_HAS_FEATURE(sgx, SGX)
-OMAP3_HAS_FEATURE(iva, IVA)
-OMAP3_HAS_FEATURE(neon, NEON)
-OMAP3_HAS_FEATURE(isp, ISP)
-OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK)
+OMAP_HAS_FEATURE(3, l2cache, L2CACHE)
+OMAP_HAS_FEATURE(3, sgx, SGX)
+OMAP_HAS_FEATURE(3, iva, IVA)
+OMAP_HAS_FEATURE(3, neon, NEON)
+OMAP_HAS_FEATURE(3, isp, ISP)
+OMAP_HAS_FEATURE(3, 192mhz_clk, 192MHZ_CLK)
 
 #endif
-- 
1.6.3.3


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

* [PATCH 5/9] omap: introduce OMAP_SHOW_FEATURE
  2010-06-23  2:16 [PATCH 0/9 v2] introduce generic OMAP SOC features Nishanth Menon
                   ` (3 preceding siblings ...)
  2010-06-23  2:16 ` [PATCH 4/9] omap: improve OMAP3_HAS_FEATURE Nishanth Menon
@ 2010-06-23  2:16 ` Nishanth Menon
  2010-06-23  2:16 ` [PATCH 6/9] omap: move generic omap3 features to generic Nishanth Menon
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: Nishanth Menon @ 2010-06-23  2:16 UTC (permalink / raw)
  Cc: Venkatraman S, Senthilvadivu Guruswamy, Tony Lindgren,
	Nishanth Menon, Angelo Arrifano, Zebediah C. McClure,
	Alistair Buxton, Paul Walmsley, Sanjeev Premi, Santosh Shilimkar,
	Kevin Hilman, Tomi Valkeinen, Aaro Koskinen, Vikram Pandita,
	Vishwanath S, linux-omap

change OMAP3_SHOW_FEATURE into OMAP_SHOW_FEATURE to make the usage
generic.

Cc: Tony Lindgren <tony@atomide.com>
Cc: Angelo Arrifano <miknix@gmail.com>
Cc: "Zebediah C. McClure" <zmc@lurian.net>
Cc: Alistair Buxton <a.j.buxton@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Senthilvadivu Gurusamy <svadivu@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Vishwanath S <vishwa.s@ti.com>
Cc: linux-omap@vger.kernel.org

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 arch/arm/mach-omap2/id.c              |   16 ++++++----------
 arch/arm/plat-omap/include/plat/cpu.h |    6 ++++++
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index c7bf0e1..809e13a 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -293,10 +293,6 @@ static void __init omap4_check_revision(void)
 	pr_err("Unknown OMAP4 CPU id\n");
 }
 
-#define OMAP3_SHOW_FEATURE(feat)		\
-	if (omap3_has_ ##feat())		\
-		printk(#feat" ");
-
 static void __init omap3_cpuinfo(void)
 {
 	u8 rev = GET_OMAP_REVISION();
@@ -358,12 +354,12 @@ static void __init omap3_cpuinfo(void)
 	/* Print verbose information */
 	pr_info("%s ES%s (", cpu_name, cpu_rev);
 
-	OMAP3_SHOW_FEATURE(l2cache);
-	OMAP3_SHOW_FEATURE(iva);
-	OMAP3_SHOW_FEATURE(sgx);
-	OMAP3_SHOW_FEATURE(neon);
-	OMAP3_SHOW_FEATURE(isp);
-	OMAP3_SHOW_FEATURE(192mhz_clk);
+	OMAP_SHOW_FEATURE(3, l2cache);
+	OMAP_SHOW_FEATURE(3, iva);
+	OMAP_SHOW_FEATURE(3, sgx);
+	OMAP_SHOW_FEATURE(3, neon);
+	OMAP_SHOW_FEATURE(3, isp);
+	OMAP_SHOW_FEATURE(3, 192mhz_clk);
 
 	printk(")\n");
 }
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
index c71dbf4..f8ecbc4 100644
--- a/arch/arm/plat-omap/include/plat/cpu.h
+++ b/arch/arm/plat-omap/include/plat/cpu.h
@@ -450,6 +450,12 @@ static inline unsigned int omap##rev##_has_ ##feat(void)		\
 	return omap##rev##_features & OMAP##rev##_HAS_ ##flag;		\
 }									\
 
+#define OMAP_SHOW_FEATURE(rev, feat)					\
+{									\
+	if (omap##rev##_has_ ##feat())					\
+		printk(#feat" ");					\
+}									\
+
 /*
  * Runtime detection of OMAP3 features
  */
-- 
1.6.3.3


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

* [PATCH 6/9] omap: move generic omap3 features to generic
  2010-06-23  2:16 [PATCH 0/9 v2] introduce generic OMAP SOC features Nishanth Menon
                   ` (4 preceding siblings ...)
  2010-06-23  2:16 ` [PATCH 5/9] omap: introduce OMAP_SHOW_FEATURE Nishanth Menon
@ 2010-06-23  2:16 ` Nishanth Menon
  2010-07-07 12:30   ` Tony Lindgren
  2010-06-23  2:16 ` [PATCH 7/9] omap: introduce omap4 feature Nishanth Menon
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 22+ messages in thread
From: Nishanth Menon @ 2010-06-23  2:16 UTC (permalink / raw)
  Cc: Venkatraman S, Senthilvadivu Guruswamy, Tony Lindgren,
	Nishanth Menon, Angelo Arrifano, Zebediah C. McClure,
	Alistair Buxton, Paul Walmsley, Sanjeev Premi, Santosh Shilimkar,
	Kevin Hilman, Tomi Valkeinen, Aaro Koskinen, Vikram Pandita,
	Vishwanath S, linux-omap

sgx, iva, l2cache, sgx, neon, isp are generic features, make
them generic features, current OMAP3 detection mechanism
is still retained. 192Mhz is more specific OMAP3 feature
so it is retained as is

Cc: Tony Lindgren <tony@atomide.com>
Cc: Angelo Arrifano <miknix@gmail.com>
Cc: "Zebediah C. McClure" <zmc@lurian.net>
Cc: Alistair Buxton <a.j.buxton@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Senthilvadivu Gurusamy <svadivu@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Vishwanath S <vishwa.s@ti.com>
Cc: linux-omap@vger.kernel.org

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 arch/arm/mach-omap2/id.c              |   20 ++++++++--------
 arch/arm/plat-omap/common.c           |    4 +++
 arch/arm/plat-omap/include/plat/cpu.h |   39 +++++++++++++++++++-------------
 3 files changed, 37 insertions(+), 26 deletions(-)

diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 809e13a..01555b6 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -161,7 +161,7 @@ static void __init omap24xx_check_revision(void)
 #define OMAP3_CHECK_FEATURE(status,feat)				\
 	if (((status & OMAP3_ ##feat## _MASK) 				\
 		>> OMAP3_ ##feat## _SHIFT) != FEAT_ ##feat## _NONE) { 	\
-		omap3_features |= OMAP3_HAS_ ##feat;			\
+		omap_features |= OMAP_HAS_ ##feat;			\
 	}
 
 static void __init omap3_check_features(void)
@@ -310,20 +310,20 @@ static void __init omap3_cpuinfo(void)
 		/*
 		 * AM35xx devices
 		 */
-		if (omap3_has_sgx()) {
+		if (omap_has_sgx()) {
 			omap_revision = OMAP3517_REV(rev);
 			strcpy(cpu_name, "AM3517");
 		} else {
 			/* Already set in omap3_check_revision() */
 			strcpy(cpu_name, "AM3505");
 		}
-	} else if (omap3_has_iva() && omap3_has_sgx()) {
+	} else if (omap_has_iva() && omap_has_sgx()) {
 		/* OMAP3430, OMAP3525, OMAP3515, OMAP3503 devices */
 		strcpy(cpu_name, "OMAP3430/3530");
-	} else if (omap3_has_iva()) {
+	} else if (omap_has_iva()) {
 		omap_revision = OMAP3525_REV(rev);
 		strcpy(cpu_name, "OMAP3525");
-	} else if (omap3_has_sgx()) {
+	} else if (omap_has_sgx()) {
 		omap_revision = OMAP3515_REV(rev);
 		strcpy(cpu_name, "OMAP3515");
 	} else {
@@ -354,11 +354,11 @@ static void __init omap3_cpuinfo(void)
 	/* Print verbose information */
 	pr_info("%s ES%s (", cpu_name, cpu_rev);
 
-	OMAP_SHOW_FEATURE(3, l2cache);
-	OMAP_SHOW_FEATURE(3, iva);
-	OMAP_SHOW_FEATURE(3, sgx);
-	OMAP_SHOW_FEATURE(3, neon);
-	OMAP_SHOW_FEATURE(3, isp);
+	OMAP_SHOW_FEATURE(, l2cache);
+	OMAP_SHOW_FEATURE(, iva);
+	OMAP_SHOW_FEATURE(, sgx);
+	OMAP_SHOW_FEATURE(, neon);
+	OMAP_SHOW_FEATURE(, isp);
 	OMAP_SHOW_FEATURE(3, 192mhz_clk);
 
 	printk(")\n");
diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
index 538e170..6d4d295 100644
--- a/arch/arm/plat-omap/common.c
+++ b/arch/arm/plat-omap/common.c
@@ -89,6 +89,10 @@ void __init omap_reserve(void)
 	omap_vram_reserve_sdram_lmb();
 }
 
+/* OMAP Generic features */
+u32 omap_features;
+EXPORT_SYMBOL(omap_features);
+
 void __init omap_check_revision()
 {
 #ifdef CONFIG_ARCH_OMAP1
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
index f8ecbc4..3cc4947 100644
--- a/arch/arm/plat-omap/include/plat/cpu.h
+++ b/arch/arm/plat-omap/include/plat/cpu.h
@@ -331,14 +331,14 @@ IS_OMAP_TYPE(3517, 0x3517)
 # undef cpu_is_omap3517
 # define cpu_is_omap3430()		is_omap3430()
 # define cpu_is_omap3503()		(cpu_is_omap3430() &&		\
-						(!omap3_has_iva()) &&	\
-						(!omap3_has_sgx()))
+						(!omap_has_iva()) &&	\
+						(!omap_has_sgx()))
 # define cpu_is_omap3515()		(cpu_is_omap3430() &&		\
-						(!omap3_has_iva()) &&	\
-						(omap3_has_sgx()))
+						(!omap_has_iva()) &&	\
+						(omap_has_sgx()))
 # define cpu_is_omap3525()		(cpu_is_omap3430() &&		\
-						(!omap3_has_sgx()) &&	\
-						(omap3_has_iva()))
+						(!omap_has_sgx()) &&	\
+						(omap_has_iva()))
 # define cpu_is_omap3530()		(cpu_is_omap3430())
 # define cpu_is_omap3505()		is_omap3505()
 # define cpu_is_omap3517()		is_omap3517()
@@ -457,22 +457,29 @@ static inline unsigned int omap##rev##_has_ ##feat(void)		\
 }									\
 
 /*
+ * Runtime detection of Generic OMAP features
+ */
+extern u32 omap_features;
+
+#define OMAP_HAS_L2CACHE		BIT(0)
+#define OMAP_HAS_IVA			BIT(1)
+#define OMAP_HAS_SGX			BIT(2)
+#define OMAP_HAS_NEON			BIT(3)
+#define OMAP_HAS_ISP			BIT(4)
+
+OMAP_HAS_FEATURE(, l2cache, L2CACHE)
+OMAP_HAS_FEATURE(, sgx, SGX)
+OMAP_HAS_FEATURE(, iva, IVA)
+OMAP_HAS_FEATURE(, neon, NEON)
+OMAP_HAS_FEATURE(, isp, ISP)
+
+/*
  * Runtime detection of OMAP3 features
  */
 extern u32 omap3_features;
 
-#define OMAP3_HAS_L2CACHE		BIT(0)
-#define OMAP3_HAS_IVA			BIT(1)
-#define OMAP3_HAS_SGX			BIT(2)
-#define OMAP3_HAS_NEON			BIT(3)
-#define OMAP3_HAS_ISP			BIT(4)
 #define OMAP3_HAS_192MHZ_CLK		BIT(5)
 
-OMAP_HAS_FEATURE(3, l2cache, L2CACHE)
-OMAP_HAS_FEATURE(3, sgx, SGX)
-OMAP_HAS_FEATURE(3, iva, IVA)
-OMAP_HAS_FEATURE(3, neon, NEON)
-OMAP_HAS_FEATURE(3, isp, ISP)
 OMAP_HAS_FEATURE(3, 192mhz_clk, 192MHZ_CLK)
 
 #endif
-- 
1.6.3.3


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

* [PATCH 7/9] omap: introduce omap4 feature
  2010-06-23  2:16 [PATCH 0/9 v2] introduce generic OMAP SOC features Nishanth Menon
                   ` (5 preceding siblings ...)
  2010-06-23  2:16 ` [PATCH 6/9] omap: move generic omap3 features to generic Nishanth Menon
@ 2010-06-23  2:16 ` Nishanth Menon
  2010-06-23  2:16 ` [PATCH 8/9] omap: introduce omap24xx generic features Nishanth Menon
  2010-06-23  2:16 ` [PATCH 9/9] omap: id: add feature check for omap1 Nishanth Menon
  8 siblings, 0 replies; 22+ messages in thread
From: Nishanth Menon @ 2010-06-23  2:16 UTC (permalink / raw)
  To: linux-omap
  Cc: Venkatraman S, Senthilvadivu Guruswamy, Tony Lindgren, Nishanth Menon

introduce basic omap4 feature framework

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 arch/arm/mach-omap2/id.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 01555b6..e3f5994 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -267,6 +267,19 @@ static void __init omap3_check_revision(void)
 	}
 }
 
+static void __init omap4_check_features(void)
+{
+	/*
+	 * TODO: add a better check feature once we have
+	 * more decent feature check
+	 */
+	if (cpu_is_omap4430())
+		omap_features |= OMAP_HAS_L2CACHE |
+			OMAP_HAS_IVA |
+			OMAP_HAS_SGX |
+			OMAP_HAS_NEON;
+}
+
 static void __init omap4_check_revision(void)
 {
 	u32 idcode;
@@ -382,6 +395,7 @@ void __init omap2_check_revision(void)
 		return;
 	} else if (cpu_is_omap44xx()) {
 		omap4_check_revision();
+		omap4_check_features();
 		return;
 	} else {
 		pr_err("OMAP revision unknown, please fix!\n");
-- 
1.6.3.3


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

* [PATCH 8/9] omap: introduce omap24xx generic features
  2010-06-23  2:16 [PATCH 0/9 v2] introduce generic OMAP SOC features Nishanth Menon
                   ` (6 preceding siblings ...)
  2010-06-23  2:16 ` [PATCH 7/9] omap: introduce omap4 feature Nishanth Menon
@ 2010-06-23  2:16 ` Nishanth Menon
  2010-06-23  2:16 ` [PATCH 9/9] omap: id: add feature check for omap1 Nishanth Menon
  8 siblings, 0 replies; 22+ messages in thread
From: Nishanth Menon @ 2010-06-23  2:16 UTC (permalink / raw)
  To: linux-omap
  Cc: Venkatraman S, Senthilvadivu Guruswamy, Tony Lindgren, Nishanth Menon

introduce generic features for omap2. omap2 uses mbx, not sgx, and
it still has a dsp, though not iva2 as omap3 uses..

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 arch/arm/mach-omap2/id.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index e3f5994..fe634dd 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -102,6 +102,16 @@ static struct omap_id omap_ids[] __initdata = {
 static void __iomem *tap_base;
 static u16 tap_prod_id;
 
+static void __init omap24xx_check_features(void)
+{
+	/*
+	 * TODO: add a better check feature once we have
+	 * more decent feature check
+	 */
+	omap_features |= OMAP_HAS_L2CACHE |
+		OMAP_HAS_IVA;
+}
+
 static void __init omap24xx_check_revision(void)
 {
 	int i, j;
@@ -388,6 +398,7 @@ void __init omap2_check_revision(void)
 	 */
 	if (cpu_is_omap24xx()) {
 		omap24xx_check_revision();
+		omap24xx_check_features();
 	} else if (cpu_is_omap34xx()) {
 		omap3_check_revision();
 		omap3_check_features();
-- 
1.6.3.3


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

* [PATCH 9/9] omap: id: add feature check for omap1
  2010-06-23  2:16 [PATCH 0/9 v2] introduce generic OMAP SOC features Nishanth Menon
                   ` (7 preceding siblings ...)
  2010-06-23  2:16 ` [PATCH 8/9] omap: introduce omap24xx generic features Nishanth Menon
@ 2010-06-23  2:16 ` Nishanth Menon
  2010-07-06 12:46   ` Tony Lindgren
  8 siblings, 1 reply; 22+ messages in thread
From: Nishanth Menon @ 2010-06-23  2:16 UTC (permalink / raw)
  To: linux-omap
  Cc: Venkatraman S, Senthilvadivu Guruswamy, Tony Lindgren, Nishanth Menon

add a minimalist feature - l2cache for omap1.

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 arch/arm/mach-omap1/id.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c
index 91dbb71..b98a17f 100644
--- a/arch/arm/mach-omap1/id.c
+++ b/arch/arm/mach-omap1/id.c
@@ -200,5 +200,11 @@ void __init omap1_check_revision(void)
 	printk(KERN_INFO " revision %i handled as %02xxx id: %08x%08x\n",
 	       die_rev, omap_revision & 0xff, system_serial_low,
 	       system_serial_high);
+
+	/*
+	 * TODO: add a better check feature once we have
+	 * more decent feature check
+	 */
+	omap_features |= OMAP_HAS_L2CACHE;
 }
 
-- 
1.6.3.3


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

* Re: [PATCH 3/9] omap: generic: introduce a single check_revision
  2010-06-23  2:16 ` [PATCH 3/9] omap: generic: introduce a single check_revision Nishanth Menon
@ 2010-06-25  9:31   ` Grazvydas Ignotas
  2010-06-25 13:18     ` Nishanth Menon
  0 siblings, 1 reply; 22+ messages in thread
From: Grazvydas Ignotas @ 2010-06-25  9:31 UTC (permalink / raw)
  To: Nishanth Menon; +Cc: linux-omap

On Wed, Jun 23, 2010 at 5:16 AM, Nishanth Menon <nm@ti.com> wrote:
> Introduce a single omap generic check_revision that routes the
> request to the right revision of check_revision.
>
> Cc: Tony Lindgren <tony@atomide.com>
> Cc: Angelo Arrifano <miknix@gmail.com>
> Cc: "Zebediah C. McClure" <zmc@lurian.net>
> Cc: Alistair Buxton <a.j.buxton@gmail.com>
> Cc: Paul Walmsley <paul@pwsan.com>
> Cc: Sanjeev Premi <premi@ti.com>
> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Cc: Senthilvadivu Gurusamy <svadivu@ti.com>
> Cc: Kevin Hilman <khilman@deeprootsystems.com>
> Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
> Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
> Cc: Vikram Pandita <vikram.pandita@ti.com>
> Cc: Vishwanath S <vishwa.s@ti.com>
> Cc: linux-omap@vger.kernel.org
>
> Signed-off-by: Nishanth Menon <nm@ti.com>
> ---
>  arch/arm/mach-omap1/io.c              |    3 +--
>  arch/arm/mach-omap2/io.c              |    2 +-
>  arch/arm/plat-omap/common.c           |   12 ++++++++++++
>  arch/arm/plat-omap/include/plat/cpu.h |   13 ++++++++++++-
>  4 files changed, 26 insertions(+), 4 deletions(-)
>

<snip>

> diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
> index fca73cd..538e170 100644
> --- a/arch/arm/plat-omap/common.c
> +++ b/arch/arm/plat-omap/common.c
> @@ -89,6 +89,18 @@ void __init omap_reserve(void)
>        omap_vram_reserve_sdram_lmb();
>  }
>
> +void __init omap_check_revision()

minor nitpick:
void __init omap_check_revision(void)?
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 3/9] omap: generic: introduce a single check_revision
  2010-06-25  9:31   ` Grazvydas Ignotas
@ 2010-06-25 13:18     ` Nishanth Menon
  0 siblings, 0 replies; 22+ messages in thread
From: Nishanth Menon @ 2010-06-25 13:18 UTC (permalink / raw)
  To: Grazvydas Ignotas; +Cc: linux-omap

Grazvydas Ignotas had written, on 06/25/2010 04:31 AM, the following:
> On Wed, Jun 23, 2010 at 5:16 AM, Nishanth Menon <nm@ti.com> wrote:
>> Introduce a single omap generic check_revision that routes the
>> request to the right revision of check_revision.
[...]
> 
>> diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
>> index fca73cd..538e170 100644
>> --- a/arch/arm/plat-omap/common.c
>> +++ b/arch/arm/plat-omap/common.c
>> @@ -89,6 +89,18 @@ void __init omap_reserve(void)
>>        omap_vram_reserve_sdram_lmb();
>>  }
>>
>> +void __init omap_check_revision()
> 
> minor nitpick:
> void __init omap_check_revision(void)?
ack. thanks for catching this.

-- 
Regards,
Nishanth Menon

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

* Re: [PATCH 9/9] omap: id: add feature check for omap1
  2010-06-23  2:16 ` [PATCH 9/9] omap: id: add feature check for omap1 Nishanth Menon
@ 2010-07-06 12:46   ` Tony Lindgren
  2010-07-06 12:53     ` Nishanth Menon
  0 siblings, 1 reply; 22+ messages in thread
From: Tony Lindgren @ 2010-07-06 12:46 UTC (permalink / raw)
  To: Nishanth Menon; +Cc: linux-omap, Venkatraman S, Senthilvadivu Guruswamy

* Nishanth Menon <nm@ti.com> [100623 05:10]:
> add a minimalist feature - l2cache for omap1.
> 
> Signed-off-by: Nishanth Menon <nm@ti.com>
> ---
>  arch/arm/mach-omap1/id.c |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c
> index 91dbb71..b98a17f 100644
> --- a/arch/arm/mach-omap1/id.c
> +++ b/arch/arm/mach-omap1/id.c
> @@ -200,5 +200,11 @@ void __init omap1_check_revision(void)
>  	printk(KERN_INFO " revision %i handled as %02xxx id: %08x%08x\n",
>  	       die_rev, omap_revision & 0xff, system_serial_low,
>  	       system_serial_high);
> +
> +	/*
> +	 * TODO: add a better check feature once we have
> +	 * more decent feature check
> +	 */
> +	omap_features |= OMAP_HAS_L2CACHE;
>  }

There's no L2 cache on omap1?

Tony

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

* Re: [PATCH 9/9] omap: id: add feature check for omap1
  2010-07-06 12:46   ` Tony Lindgren
@ 2010-07-06 12:53     ` Nishanth Menon
  2010-07-06 13:14       ` Tony Lindgren
  0 siblings, 1 reply; 22+ messages in thread
From: Nishanth Menon @ 2010-07-06 12:53 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, S, Venkatraman, Guruswamy, Senthilvadivu

On 07/06/2010 07:46 AM, Tony Lindgren wrote:
> * Nishanth Menon<nm@ti.com>  [100623 05:10]:
>> add a minimalist feature - l2cache for omap1.
>>
>> Signed-off-by: Nishanth Menon<nm@ti.com>
>> ---
>>   arch/arm/mach-omap1/id.c |    6 ++++++
>>   1 files changed, 6 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c
>> index 91dbb71..b98a17f 100644
>> --- a/arch/arm/mach-omap1/id.c
>> +++ b/arch/arm/mach-omap1/id.c
>> @@ -200,5 +200,11 @@ void __init omap1_check_revision(void)
>>   	printk(KERN_INFO " revision %i handled as %02xxx id: %08x%08x\n",
>>   	       die_rev, omap_revision&  0xff, system_serial_low,
>>   	       system_serial_high);
>> +
>> +	/*
>> +	 * TODO: add a better check feature once we have
>> +	 * more decent feature check
>> +	 */
>> +	omap_features |= OMAP_HAS_L2CACHE;
>>   }
>
> There's no L2 cache on omap1?

I thought it did, hence added.. am I wrong?
Regards,
Nishanth Menon


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

* Re: [PATCH 9/9] omap: id: add feature check for omap1
  2010-07-06 12:53     ` Nishanth Menon
@ 2010-07-06 13:14       ` Tony Lindgren
  2010-07-06 16:07         ` Nishanth Menon
  0 siblings, 1 reply; 22+ messages in thread
From: Tony Lindgren @ 2010-07-06 13:14 UTC (permalink / raw)
  To: Nishanth Menon; +Cc: linux-omap, S, Venkatraman, Guruswamy, Senthilvadivu

* Nishanth Menon <nm@ti.com> [100706 15:47]:
> On 07/06/2010 07:46 AM, Tony Lindgren wrote:
> >* Nishanth Menon<nm@ti.com>  [100623 05:10]:
> >>add a minimalist feature - l2cache for omap1.
> >>
> >>Signed-off-by: Nishanth Menon<nm@ti.com>
> >>---
> >>  arch/arm/mach-omap1/id.c |    6 ++++++
> >>  1 files changed, 6 insertions(+), 0 deletions(-)
> >>
> >>diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c
> >>index 91dbb71..b98a17f 100644
> >>--- a/arch/arm/mach-omap1/id.c
> >>+++ b/arch/arm/mach-omap1/id.c
> >>@@ -200,5 +200,11 @@ void __init omap1_check_revision(void)
> >>  	printk(KERN_INFO " revision %i handled as %02xxx id: %08x%08x\n",
> >>  	       die_rev, omap_revision&  0xff, system_serial_low,
> >>  	       system_serial_high);
> >>+
> >>+	/*
> >>+	 * TODO: add a better check feature once we have
> >>+	 * more decent feature check
> >>+	 */
> >>+	omap_features |= OMAP_HAS_L2CACHE;
> >>  }
> >
> >There's no L2 cache on omap1?
> 
> I thought it did, hence added.. am I wrong?

Maybe you're thinking something else.. But for example, 1710 TRM says:

ARM926EJ
L1 32K-byte, four-way set-associative instruction cache
L1 16K-byte, four-way set-associative data cache with write buffer

Then 2430 TRM says:

ARM1136JF-S
32K-byte instructions and 32K-byte data--4-way associative
64-entry instruction and 64-entry data memory management units (MMUs)

So no L2 until 34xx I believe.

Regards,

Tony

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

* Re: [PATCH 9/9] omap: id: add feature check for omap1
  2010-07-06 13:14       ` Tony Lindgren
@ 2010-07-06 16:07         ` Nishanth Menon
  0 siblings, 0 replies; 22+ messages in thread
From: Nishanth Menon @ 2010-07-06 16:07 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap, S, Venkatraman, Guruswamy, Senthilvadivu

Tony Lindgren had written, on 07/06/2010 08:14 AM, the following:
> * Nishanth Menon <nm@ti.com> [100706 15:47]:
>> On 07/06/2010 07:46 AM, Tony Lindgren wrote:
>>> * Nishanth Menon<nm@ti.com>  [100623 05:10]:
>>>> add a minimalist feature - l2cache for omap1.
>>>>
>>>> Signed-off-by: Nishanth Menon<nm@ti.com>
>>>> ---
>>>>  arch/arm/mach-omap1/id.c |    6 ++++++
>>>>  1 files changed, 6 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c
>>>> index 91dbb71..b98a17f 100644
>>>> --- a/arch/arm/mach-omap1/id.c
>>>> +++ b/arch/arm/mach-omap1/id.c
>>>> @@ -200,5 +200,11 @@ void __init omap1_check_revision(void)
>>>>  	printk(KERN_INFO " revision %i handled as %02xxx id: %08x%08x\n",
>>>>  	       die_rev, omap_revision&  0xff, system_serial_low,
>>>>  	       system_serial_high);
>>>> +
>>>> +	/*
>>>> +	 * TODO: add a better check feature once we have
>>>> +	 * more decent feature check
>>>> +	 */
>>>> +	omap_features |= OMAP_HAS_L2CACHE;
>>>>  }
>>> There's no L2 cache on omap1?
>> I thought it did, hence added.. am I wrong?
> 
> Maybe you're thinking something else.. But for example, 1710 TRM says:
> 
> ARM926EJ
> L1 32K-byte, four-way set-associative instruction cache
> L1 16K-byte, four-way set-associative data cache with write buffer
> 
> Then 2430 TRM says:
> 
> ARM1136JF-S
> 32K-byte instructions and 32K-byte data--4-way associative
> 64-entry instruction and 64-entry data memory management units (MMUs)
> 
> So no L2 until 34xx I believe.
> 
> Regards,
> 
> Tony
Arrgh.. my bad. you are right.

here is a bigger list I just checked internally with TRMs

1510 - TI925T - no L2.
	A separate 16K-byte instruction cache and 8K-byte data cache. Both are 
two-way associative with virtual index virtual tag (VIVT)

1610 - ARM926EJ
	L1 16K-byte, four-way set-associative instruction cache
	L1 8K-byte, four-way set-associative data cache with write buffer
1710 - ARM926EJ
	L1 32K-byte, four-way set-associative instruction cache
	L1 16K-byte, four-way set-associative data cache with write buffer

2420 (2.3) - ARM1136JF-S
	– 32-KB instruction and 32-KB data; 4-way set associative memory 
management units (MMUs)
	– 64-entry instruction and 64-entry data write buffer
2430 (2.1) -
	– 32K-byte instructions and 32K-byte data—4-way associative
	– 64-entry instruction and 64-entry data memory management units (MMUs)

Please drop 9/9, and I will post a new revision of 8/9 without L2 enabled.

-- 
Regards,
Nishanth Menon
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 4/9] omap: improve OMAP3_HAS_FEATURE
  2010-06-23  2:16 ` [PATCH 4/9] omap: improve OMAP3_HAS_FEATURE Nishanth Menon
@ 2010-07-07 12:28   ` Tony Lindgren
  2010-07-07 13:15     ` Nishanth Menon
  0 siblings, 1 reply; 22+ messages in thread
From: Tony Lindgren @ 2010-07-07 12:28 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: linux-omap, Venkatraman S, Senthilvadivu Guruswamy,
	Angelo Arrifano, Zebediah C. McClure, Alistair Buxton,
	Paul Walmsley, Sanjeev Premi, Santosh Shilimkar, Kevin Hilman,
	Tomi Valkeinen, Aaro Koskinen, Vikram Pandita, Vishwanath S

* Nishanth Menon <nm@ti.com> [100623 05:10]:
> Replace OMAP3_HAS_FEATURE with OMAP_HAS_FEATURE allowing
> us to support multiple chip features
> 
> Cc: Tony Lindgren <tony@atomide.com>
> Cc: Angelo Arrifano <miknix@gmail.com>
> Cc: "Zebediah C. McClure" <zmc@lurian.net>
> Cc: Alistair Buxton <a.j.buxton@gmail.com>
> Cc: Paul Walmsley <paul@pwsan.com>
> Cc: Sanjeev Premi <premi@ti.com>
> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Cc: Senthilvadivu Gurusamy <svadivu@ti.com>
> Cc: Kevin Hilman <khilman@deeprootsystems.com>
> Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
> Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
> Cc: Vikram Pandita <vikram.pandita@ti.com>
> Cc: Vishwanath S <vishwa.s@ti.com>
> Cc: linux-omap@vger.kernel.org
> 
> Signed-off-by: Nishanth Menon <nm@ti.com>
> ---
>  arch/arm/plat-omap/include/plat/cpu.h |   24 ++++++++++++------------
>  1 files changed, 12 insertions(+), 12 deletions(-)
> 
> diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
> index 5f12a0b..c71dbf4 100644
> --- a/arch/arm/plat-omap/include/plat/cpu.h
> +++ b/arch/arm/plat-omap/include/plat/cpu.h
> @@ -444,6 +444,12 @@ static inline void omap1_check_revision(void) {}
>  #endif
>  void omap_check_revision(void);
>  
> +#define OMAP_HAS_FEATURE(rev, feat, flag)				\
> +static inline unsigned int omap##rev##_has_ ##feat(void)		\
> +{									\
> +	return omap##rev##_features & OMAP##rev##_HAS_ ##flag;		\
> +}									\
> +
>  /*
>   * Runtime detection of OMAP3 features
>   */
> @@ -456,17 +462,11 @@ extern u32 omap3_features;
>  #define OMAP3_HAS_ISP			BIT(4)
>  #define OMAP3_HAS_192MHZ_CLK		BIT(5)
>  
> -#define OMAP3_HAS_FEATURE(feat,flag)			\
> -static inline unsigned int omap3_has_ ##feat(void)	\
> -{							\
> -	return (omap3_features & OMAP3_HAS_ ##flag);	\
> -}							\
> -
> -OMAP3_HAS_FEATURE(l2cache, L2CACHE)
> -OMAP3_HAS_FEATURE(sgx, SGX)
> -OMAP3_HAS_FEATURE(iva, IVA)
> -OMAP3_HAS_FEATURE(neon, NEON)
> -OMAP3_HAS_FEATURE(isp, ISP)
> -OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK)
> +OMAP_HAS_FEATURE(3, l2cache, L2CACHE)
> +OMAP_HAS_FEATURE(3, sgx, SGX)
> +OMAP_HAS_FEATURE(3, iva, IVA)
> +OMAP_HAS_FEATURE(3, neon, NEON)
> +OMAP_HAS_FEATURE(3, isp, ISP)
> +OMAP_HAS_FEATURE(3, 192mhz_clk, 192MHZ_CLK)

Why don't you just rename u32 omap3_features to omap_features?

Then maybe move omap_features to plat-omap/common.c, and have
a generic function for getting features?

There should not be any need to have separate features variable
for each omap.

Tony

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

* Re: [PATCH 6/9] omap: move generic omap3 features to generic
  2010-06-23  2:16 ` [PATCH 6/9] omap: move generic omap3 features to generic Nishanth Menon
@ 2010-07-07 12:30   ` Tony Lindgren
  0 siblings, 0 replies; 22+ messages in thread
From: Tony Lindgren @ 2010-07-07 12:30 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: linux-omap, Venkatraman S, Senthilvadivu Guruswamy,
	Angelo Arrifano, Zebediah C. McClure, Alistair Buxton,
	Paul Walmsley, Sanjeev Premi, Santosh Shilimkar, Kevin Hilman,
	Tomi Valkeinen, Aaro Koskinen, Vikram Pandita, Vishwanath S

* Nishanth Menon <nm@ti.com> [100623 05:15]:
> @@ -354,11 +354,11 @@ static void __init omap3_cpuinfo(void)
>  	/* Print verbose information */
>  	pr_info("%s ES%s (", cpu_name, cpu_rev);
>  
> -	OMAP_SHOW_FEATURE(3, l2cache);
> -	OMAP_SHOW_FEATURE(3, iva);
> -	OMAP_SHOW_FEATURE(3, sgx);
> -	OMAP_SHOW_FEATURE(3, neon);
> -	OMAP_SHOW_FEATURE(3, isp);
> +	OMAP_SHOW_FEATURE(, l2cache);
> +	OMAP_SHOW_FEATURE(, iva);
> +	OMAP_SHOW_FEATURE(, sgx);
> +	OMAP_SHOW_FEATURE(, neon);
> +	OMAP_SHOW_FEATURE(, isp);
>  	OMAP_SHOW_FEATURE(3, 192mhz_clk);

Then you can simplify OMAP_SHOW_FEATURE too as
the "3, " should not be needed?

Tony

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

* Re: [PATCH 4/9] omap: improve OMAP3_HAS_FEATURE
  2010-07-07 12:28   ` Tony Lindgren
@ 2010-07-07 13:15     ` Nishanth Menon
  2010-07-07 13:30       ` Tony Lindgren
  0 siblings, 1 reply; 22+ messages in thread
From: Nishanth Menon @ 2010-07-07 13:15 UTC (permalink / raw)
  To: Tony Lindgren
  Cc: linux-omap, S, Venkatraman, Guruswamy, Senthilvadivu,
	Angelo Arrifano, Zebediah C. McClure, Alistair Buxton,
	Paul Walmsley, Premi, Sanjeev, Shilimkar, Santosh, Kevin Hilman,
	Tomi Valkeinen, Aaro Koskinen, Pandita, Vikram, S, Vishwanath

Tony Lindgren had written, on 07/07/2010 07:28 AM, the following:
> * Nishanth Menon <nm@ti.com> [100623 05:10]:
>> Replace OMAP3_HAS_FEATURE with OMAP_HAS_FEATURE allowing
>> us to support multiple chip features
>>
>> Cc: Tony Lindgren <tony@atomide.com>
>> Cc: Angelo Arrifano <miknix@gmail.com>
>> Cc: "Zebediah C. McClure" <zmc@lurian.net>
>> Cc: Alistair Buxton <a.j.buxton@gmail.com>
>> Cc: Paul Walmsley <paul@pwsan.com>
>> Cc: Sanjeev Premi <premi@ti.com>
>> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
>> Cc: Senthilvadivu Gurusamy <svadivu@ti.com>
>> Cc: Kevin Hilman <khilman@deeprootsystems.com>
>> Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
>> Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
>> Cc: Vikram Pandita <vikram.pandita@ti.com>
>> Cc: Vishwanath S <vishwa.s@ti.com>
>> Cc: linux-omap@vger.kernel.org
>>
>> Signed-off-by: Nishanth Menon <nm@ti.com>
>> ---
>>  arch/arm/plat-omap/include/plat/cpu.h |   24 ++++++++++++------------
>>  1 files changed, 12 insertions(+), 12 deletions(-)
>>
>> diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
>> index 5f12a0b..c71dbf4 100644
>> --- a/arch/arm/plat-omap/include/plat/cpu.h
>> +++ b/arch/arm/plat-omap/include/plat/cpu.h
>> @@ -444,6 +444,12 @@ static inline void omap1_check_revision(void) {}
>>  #endif
>>  void omap_check_revision(void);
>>  
>> +#define OMAP_HAS_FEATURE(rev, feat, flag)				\
>> +static inline unsigned int omap##rev##_has_ ##feat(void)		\
>> +{									\
>> +	return omap##rev##_features & OMAP##rev##_HAS_ ##flag;		\
>> +}									\
>> +
>>  /*
>>   * Runtime detection of OMAP3 features
>>   */
>> @@ -456,17 +462,11 @@ extern u32 omap3_features;
>>  #define OMAP3_HAS_ISP			BIT(4)
>>  #define OMAP3_HAS_192MHZ_CLK		BIT(5)
>>  
>> -#define OMAP3_HAS_FEATURE(feat,flag)			\
>> -static inline unsigned int omap3_has_ ##feat(void)	\
>> -{							\
>> -	return (omap3_features & OMAP3_HAS_ ##flag);	\
>> -}							\
>> -
>> -OMAP3_HAS_FEATURE(l2cache, L2CACHE)
>> -OMAP3_HAS_FEATURE(sgx, SGX)
>> -OMAP3_HAS_FEATURE(iva, IVA)
>> -OMAP3_HAS_FEATURE(neon, NEON)
>> -OMAP3_HAS_FEATURE(isp, ISP)
>> -OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK)
>> +OMAP_HAS_FEATURE(3, l2cache, L2CACHE)
>> +OMAP_HAS_FEATURE(3, sgx, SGX)
>> +OMAP_HAS_FEATURE(3, iva, IVA)
>> +OMAP_HAS_FEATURE(3, neon, NEON)
>> +OMAP_HAS_FEATURE(3, isp, ISP)
>> +OMAP_HAS_FEATURE(3, 192mhz_clk, 192MHZ_CLK)
> 
> Why don't you just rename u32 omap3_features to omap_features?
> 
> Then maybe move omap_features to plat-omap/common.c, and have
> a generic function for getting features?
> 
> There should not be any need to have separate features variable
> for each omap.
192Mhz_clk is a OMAP3 only feature(differentiator b/w omap3430,35xx and 
3630, 37xx).

overall, we will face this in the future. there are OMAP generic 
features and OMAP family specific features. currently OMAP3 has 34xx, 
35xx series and 3630 and 37xx series. in future we may see similar 
things for OMAP4+ as well.. we need a differentiator when it comes to 
omap3 specific features Vs omap generic feature.
-- 
Regards,
Nishanth Menon

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

* Re: [PATCH 4/9] omap: improve OMAP3_HAS_FEATURE
  2010-07-07 13:15     ` Nishanth Menon
@ 2010-07-07 13:30       ` Tony Lindgren
  2010-07-07 13:50         ` Nishanth Menon
  0 siblings, 1 reply; 22+ messages in thread
From: Tony Lindgren @ 2010-07-07 13:30 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: linux-omap, S, Venkatraman, Guruswamy, Senthilvadivu,
	Angelo Arrifano, Zebediah C. McClure, Alistair Buxton,
	Paul Walmsley, Premi, Sanjeev, Shilimkar, Santosh, Kevin Hilman,
	Tomi Valkeinen, Aaro Koskinen, Pandita, Vikram, S, Vishwanath

* Nishanth Menon <nm@ti.com> [100707 16:09]:
> >
> >Why don't you just rename u32 omap3_features to omap_features?
> >
> >Then maybe move omap_features to plat-omap/common.c, and have
> >a generic function for getting features?
> >
> >There should not be any need to have separate features variable
> >for each omap.
> 192Mhz_clk is a OMAP3 only feature(differentiator b/w omap3430,35xx
> and 3630, 37xx).

Hmm, maybe it should be defined as l3_max_clk or similar instead?
 
> overall, we will face this in the future. there are OMAP generic
> features and OMAP family specific features. currently OMAP3 has
> 34xx, 35xx series and 3630 and 37xx series. in future we may see
> similar things for OMAP4+ as well.. we need a differentiator when it
> comes to omap3 specific features Vs omap generic feature.

Sounds it will get more complex.. We should probably set it up
with something like this then:

#define FEAT_MPU_L2_OUTER	BIT(1)
#define FEAT_MPU_L2		BIT(0)
...

#define FEAT_IVA2		BIT(1)
#define FEAT_IVA		BIT(0)
...

#define FEAT_L3_192		BIT(0)
...

struct omap_feature {
	u32	mpu;		/* MPU features */
	u32	iva;		/* IVA features */
	u32	l3_max_clk;
	...
};

Regards,

Tony

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

* Re: [PATCH 4/9] omap: improve OMAP3_HAS_FEATURE
  2010-07-07 13:30       ` Tony Lindgren
@ 2010-07-07 13:50         ` Nishanth Menon
  2010-07-08  9:24           ` Tony Lindgren
  0 siblings, 1 reply; 22+ messages in thread
From: Nishanth Menon @ 2010-07-07 13:50 UTC (permalink / raw)
  To: Tony Lindgren
  Cc: linux-omap, S, Venkatraman, Guruswamy, Senthilvadivu,
	Angelo Arrifano, Zebediah C. McClure, Alistair Buxton,
	Paul Walmsley, Premi, Sanjeev, Shilimkar, Santosh, Kevin Hilman,
	Tomi Valkeinen, Aaro Koskinen, Pandita, Vikram, S, Vishwanath

Tony Lindgren had written, on 07/07/2010 08:30 AM, the following:
> * Nishanth Menon <nm@ti.com> [100707 16:09]:
>>> Why don't you just rename u32 omap3_features to omap_features?
>>>
>>> Then maybe move omap_features to plat-omap/common.c, and have
>>> a generic function for getting features?
>>>
>>> There should not be any need to have separate features variable
>>> for each omap.
>> 192Mhz_clk is a OMAP3 only feature(differentiator b/w omap3430,35xx
>> and 3630, 37xx).
> 
> Hmm, maybe it should be defined as l3_max_clk or similar instead?
it was meant as special feature of DPLL4 as i recollect
Reference:
http://marc.info/?t=126578936600005&r=1&w=2

>  
>> overall, we will face this in the future. there are OMAP generic
>> features and OMAP family specific features. currently OMAP3 has
>> 34xx, 35xx series and 3630 and 37xx series. in future we may see
>> similar things for OMAP4+ as well.. we need a differentiator when it
>> comes to omap3 specific features Vs omap generic feature.
> 
> Sounds it will get more complex.. We should probably set it up
> with something like this then:
> 
> #define FEAT_MPU_L2_OUTER	BIT(1)
> #define FEAT_MPU_L2		BIT(0)
> ...
> 
> #define FEAT_IVA2		BIT(1)
> #define FEAT_IVA		BIT(0)
> ...
> 
> #define FEAT_L3_192		BIT(0)
> ...
> 
> struct omap_feature {
> 	u32	mpu;		/* MPU features */
> 	u32	iva;		/* IVA features */
> 	u32	l3_max_clk;
> 	...
> };
I think I understand your intent here is to introduce per IP based 
feature - that is really not necessary yet (we dont really have a 
usecase needing this level of complexity yet). it will be a natural 
evolution when we need to have such a feature handling.

currently a need for errata handling per ip is required, and we have a 
mechanism (quirks) to handle it on a IP basis. here the intent was to 
identify OMAP specific features in some common way.


> 
> Regards,
> 
> Tony


-- 
Regards,
Nishanth Menon

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

* Re: [PATCH 4/9] omap: improve OMAP3_HAS_FEATURE
  2010-07-07 13:50         ` Nishanth Menon
@ 2010-07-08  9:24           ` Tony Lindgren
  0 siblings, 0 replies; 22+ messages in thread
From: Tony Lindgren @ 2010-07-08  9:24 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: linux-omap, S, Venkatraman, Guruswamy, Senthilvadivu,
	Angelo Arrifano, Zebediah C. McClure, Alistair Buxton,
	Paul Walmsley, Premi, Sanjeev, Shilimkar, Santosh, Kevin Hilman,
	Tomi Valkeinen, Aaro Koskinen, Pandita, Vikram, S, Vishwanath

* Nishanth Menon <nm@ti.com> [100707 16:44]:
 
> >>overall, we will face this in the future. there are OMAP generic
> >>features and OMAP family specific features. currently OMAP3 has
> >>34xx, 35xx series and 3630 and 37xx series. in future we may see
> >>similar things for OMAP4+ as well.. we need a differentiator when it
> >>comes to omap3 specific features Vs omap generic feature.
> >
> >Sounds it will get more complex.. We should probably set it up
> >with something like this then:
> >
> >#define FEAT_MPU_L2_OUTER	BIT(1)
> >#define FEAT_MPU_L2		BIT(0)
> >...
> >
> >#define FEAT_IVA2		BIT(1)
> >#define FEAT_IVA		BIT(0)
> >...
> >
> >#define FEAT_L3_192		BIT(0)
> >...
> >
> >struct omap_feature {
> >	u32	mpu;		/* MPU features */
> >	u32	iva;		/* IVA features */
> >	u32	l3_max_clk;
> >	...
> >};
> I think I understand your intent here is to introduce per IP based
> feature - that is really not necessary yet (we dont really have a
> usecase needing this level of complexity yet). it will be a natural
> evolution when we need to have such a feature handling.

But we already have a problem where we need to check for various
revisions and features and use cpu_is_omapxxxx. It would be nice to
just call omap_has_feature without having to worry about which omap
it is.
 
> currently a need for errata handling per ip is required, and we have
> a mechanism (quirks) to handle it on a IP basis. here the intent was
> to identify OMAP specific features in some common way.

OK. I'll post an experimental series shortly, let's see if that
works for you.

Regards,

Tony

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

end of thread, other threads:[~2010-07-08  9:24 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-23  2:16 [PATCH 0/9 v2] introduce generic OMAP SOC features Nishanth Menon
2010-06-23  2:16 ` [PATCH 1/9] omap1: rename check_revision Nishanth Menon
2010-06-23  2:16 ` [PATCH 2/9] omap2/3: id: fix sparse warning Nishanth Menon
2010-06-23  2:16 ` [PATCH 3/9] omap: generic: introduce a single check_revision Nishanth Menon
2010-06-25  9:31   ` Grazvydas Ignotas
2010-06-25 13:18     ` Nishanth Menon
2010-06-23  2:16 ` [PATCH 4/9] omap: improve OMAP3_HAS_FEATURE Nishanth Menon
2010-07-07 12:28   ` Tony Lindgren
2010-07-07 13:15     ` Nishanth Menon
2010-07-07 13:30       ` Tony Lindgren
2010-07-07 13:50         ` Nishanth Menon
2010-07-08  9:24           ` Tony Lindgren
2010-06-23  2:16 ` [PATCH 5/9] omap: introduce OMAP_SHOW_FEATURE Nishanth Menon
2010-06-23  2:16 ` [PATCH 6/9] omap: move generic omap3 features to generic Nishanth Menon
2010-07-07 12:30   ` Tony Lindgren
2010-06-23  2:16 ` [PATCH 7/9] omap: introduce omap4 feature Nishanth Menon
2010-06-23  2:16 ` [PATCH 8/9] omap: introduce omap24xx generic features Nishanth Menon
2010-06-23  2:16 ` [PATCH 9/9] omap: id: add feature check for omap1 Nishanth Menon
2010-07-06 12:46   ` Tony Lindgren
2010-07-06 12:53     ` Nishanth Menon
2010-07-06 13:14       ` Tony Lindgren
2010-07-06 16:07         ` Nishanth Menon

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.