OMAP3515 vs 3525 inversion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, all!
I think I found a bug in processor detection code.
as I see,
> > +	/* OMAP3430 and OMAP3530 are assumed to be same.
> > +	 *
> > +	 * OMAP3525, OMAP3515 and OMAP3503 can be detected only based
> > +	 * on available features. Upon detection, update the CPU id
> > +	 * and CPU class bits.
> > +	 */
> > +	if (omap3_has_iva() && omap3_has_sgx()) {
> > +		strcpy(cpu_name, "3430/3530");
> > +	}
> > +	else if (omap3_has_sgx()) {
> > +		omap_revision = OMAP3525_REV (rev);
> > +		strcpy(cpu_name, "3525");
> > +	}
> > +	else if (omap3_has_iva()) {
> > +		omap_revision = OMAP3515_REV (rev);
> > +		strcpy(cpu_name, "3515");
> > +	}
> > +	else {
> > +		omap_revision = OMAP3503_REV (rev);
> > +		strcpy(cpu_name, "3503");
> > +	}

But, actually, 3515 has no DSP, but has PowerVR,
and 3525 has no PowerVR but has DSP. In-tree code inverses this detection.

Please consider applying attached patch. (sorry, no git-send-email
available here).
From 93ac9c6b2dccb0cedb28414612ed2b1b77537dec Mon Sep 17 00:00:00 2001
From: Sergey Lapin <slapin@xxxxxxxxxxx>
Date: Mon, 16 Nov 2009 13:23:45 +0300
Subject: [PATCH] OMAP3: id code detection 3525 vs 3515

In current tree CPU detection of 3525 vs 3515 is reversed


Signed-off-by: Sergey Lapin <slapin@xxxxxxxxxxx>
---
 arch/arm/mach-omap2/id.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index f48a4b2..2f97577 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -278,11 +278,11 @@ void __init omap3_cpuinfo(void)
 		/* OMAP3430, OMAP3525, OMAP3515, OMAP3503 devices */
 		strcpy(cpu_name, "OMAP3430/3530");
 	} else if (omap3_has_sgx()) {
-		omap_revision = OMAP3525_REV(rev);
-		strcpy(cpu_name, "OMAP3525");
-	} else if (omap3_has_iva()) {
 		omap_revision = OMAP3515_REV(rev);
 		strcpy(cpu_name, "OMAP3515");
+	} else if (omap3_has_iva()) {
+		omap_revision = OMAP3525_REV(rev);
+		strcpy(cpu_name, "OMAP3525");
 	} else {
 		omap_revision = OMAP3503_REV(rev);
 		strcpy(cpu_name, "OMAP3503");
-- 
1.6.5


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux