Skip to contentSkip to conversation

powerpc/85xx: Add command to report errata workarounds

PATCH New Kumar Gala 3 participants 17 messages Jun 10, 2010 – Jul 14, 2010 PowerPC

lore
Share & tools
lore

Kumar Gala

author
#0 lore raw

PATCH 1/2 powerpc/85xx: Add command to report errata workarounds

Add 'errata' command to report what errata we workaround

---
 arch/powerpc/cpu/mpc85xx/Makefile     |    1 +
 arch/powerpc/cpu/mpc85xx/cmd_errata.c |   35 +++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/cpu/mpc85xx/cmd_errata.c
arch/powerpc/cpu/mpc85xx/Makefile +1 -0
index f064fee..e3746e6 100644
@@ -32,6 +32,7 @@ START	= start.o resetvec.o
 SOBJS-$(CONFIG_MP)	+= release.o
 SOBJS	= $(SOBJS-y)
 
+COBJS-$(CONFIG_CMD_ERRATA) += cmd_errata.o
 COBJS-$(CONFIG_CPM2)	+= commproc.o
 
 # supports ddr1
arch/powerpc/cpu/mpc85xx/cmd_errata.c new file +35 -0
new file mode 100644
index 0000000..6824ebf
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2010 Freescale Semiconductor, Inc.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <command.h>
+
+static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+	return 0;
+}
+
+U_BOOT_CMD(
+	errata, 1, 0,	do_errata,
+	"Report errata workarounds",
+	""
+);
Signature · 1 line
1.6.0.6
author Applied
#1 lore raw

PATCH 1/2 powerpc/85xx: Add command to report errata workarounds

Quoted 8 lines · Kumar Gala

Add 'errata' command to report what errata we workaround

---
arch/powerpc/cpu/mpc85xx/Makefile | 1 +
arch/powerpc/cpu/mpc85xx/cmd_errata.c | 35 +++++++++++++++++++++++++++++++++

2 files changed, 36 insertions(+), 0 deletions(-)

create mode 100644 arch/powerpc/cpu/mpc85xx/cmd_errata.c

applied to 85xx

- k

author
#2 lore raw

PATCH 2/2 powerpc/85xx: Report workaround of errata SATA-A001

In reply to Kumar Gala
---
 arch/powerpc/cpu/mpc85xx/cmd_errata.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
arch/powerpc/cpu/mpc85xx/cmd_errata.c +14 -0
index 6824ebf..81078bd 100644
@@ -22,9 +22,23 @@
 
 #include <common.h>
 #include <command.h>
+#include <linux/compiler.h>
+#include <asm/processor.h>
 
 static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
+	__maybe_unused u32 svr = get_svr();
+
+#if defined(CONFIG_FSL_SATA_V2) && defined(CONFIG_FSL_SATA_ERRATUM_A001)
+	if (IS_SVR_REV(svr, 1, 0) &&
+	    ((SVR_SOC_VER(svr) == SVR_P1022) ||
+	     (SVR_SOC_VER(svr) == SVR_P1022_E) ||
+	     (SVR_SOC_VER(svr) == SVR_P1013) ||
+	     (SVR_SOC_VER(svr) == SVR_P1013_E))) {
+		puts("Work-around for Erratum SATA A001 enabled\n");
+	}
+#endif
+
 	return 0;
 }
 
Signature · 1 line
1.6.0.6
#3 lore raw

PATCH 2/2 powerpc/85xx: Report workaround of errata SATA-A001

Quoted 14 lines · Kumar Gala

?static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ?{
+ ? ? ? __maybe_unused u32 svr = get_svr();

(quoted diff) +11 -0
+
+#if defined(CONFIG_FSL_SATA_V2) && defined(CONFIG_FSL_SATA_ERRATUM_A001)
+ ? ? ? if (IS_SVR_REV(svr, 1, 0) &&
+ ? ? ? ? ? ((SVR_SOC_VER(svr) == SVR_P1022) ||
+ ? ? ? ? ? ?(SVR_SOC_VER(svr) == SVR_P1022_E) ||
+ ? ? ? ? ? ?(SVR_SOC_VER(svr) == SVR_P1013) ||
+ ? ? ? ? ? ?(SVR_SOC_VER(svr) == SVR_P1013_E))) {
+ ? ? ? ? ? ? ? puts("Work-around for Erratum SATA A001 enabled\n");
+ ? ? ? }
+#endif
+
Quoted 2 lines

? ? ? ?return 0;
?}

How are you planning on handling chip-specific errata? Do you forsee do_errata() containing code for every erratum of every chip?

Signature · 2 lines
Timur Tabi
Linux kernel developer at Freescale
author
#4 lore raw

PATCH 2/2 powerpc/85xx: Report workaround of errata SATA-A001

Quoted 12 lines · Timur Tabi
Quoted 11 lines · Kumar Gala

static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) {

arch/powerpc/cpu/mpc85xx/cmd_errata.c +9 -0
+       __maybe_unused u32 svr = get_svr();
+
+#if defined(CONFIG_FSL_SATA_V2) && defined(CONFIG_FSL_SATA_ERRATUM_A001)
+       if (IS_SVR_REV(svr, 1, 0) &&
+           ((SVR_SOC_VER(svr) == SVR_P1022) ||
+            (SVR_SOC_VER(svr) == SVR_P1022_E) ||
+            (SVR_SOC_VER(svr) == SVR_P1013) ||
+            (SVR_SOC_VER(svr) == SVR_P1013_E))) {
+               puts("Work-around for Erratum SATA A001 enabled\n");
Quoted 8 lines

arch/powerpc/cpu/mpc85xx/cmd_errata.c line 43

Quoted 5 lines
arch/powerpc/cpu/mpc85xx/cmd_errata.c +3 -0
+       }
+#endif
+
       return 0;
 }

How are you planning on handling chip-specific errata? Do you forsee do_errata() containing code for every erratum of every chip?

Yes, we can split it up into functions as it grows.

- k

#6 lore raw

PATCH 2/2 powerpc/85xx: Report workaround of errata SATA-A001

In reply to Kumar Gala

Dear Kumar Gala,

Quoted 16 lines · In message <[email protected]> you…
---
 arch/powerpc/cpu/mpc85xx/cmd_errata.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
arch/powerpc/cpu/mpc85xx/cmd_errata.c +2 -0
index 6824ebf..81078bd 100644
@@ -22,9 +22,23 @@
 
 #include <common.h>
 #include <command.h>
+#include <linux/compiler.h>
+#include <asm/processor.h>
 

arch/powerpc/cpu/mpc85xx/cmd_errata.c line 37

Quoted 10 lines
arch/powerpc/cpu/mpc85xx/cmd_errata.c +8 -0
 static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
+	__maybe_unused u32 svr = get_svr();
+
+#if defined(CONFIG_FSL_SATA_V2) && defined(CONFIG_FSL_SATA_ERRATUM_A001)
+	if (IS_SVR_REV(svr, 1, 0) &&
+	    ((SVR_SOC_VER(svr) == SVR_P1022) ||
+	     (SVR_SOC_VER(svr) == SVR_P1022_E) ||
+	     (SVR_SOC_VER(svr) == SVR_P1013) ||
+	     (SVR_SOC_VER(svr) == SVR_P1013_E))) {

Please use a switch().

Best regards,

Wolfgang Denk

Signature · 6 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"The first rule of magic is simple. Don't waste your time waving your
hands and hoping when a rock or a club will do."
                                               - McCloctnik the Lucid
author
#7 lore raw

PATCH 2/2 powerpc/85xx: Report workaround of errata SATA-A001

Quoted 19 lines · Wolfgang Denk

Dear Kumar Gala,

Quoted 16 lines · In message <[email protected]> you…

---
arch/powerpc/cpu/mpc85xx/cmd_errata.c | 14 ++++++++++++++

1 files changed, 14 insertions(+), 0 deletions(-)
arch/powerpc/cpu/mpc85xx/cmd_errata.c +2 -0
index 6824ebf..81078bd 100644
@@ -22,9 +22,23 @@
 
 #include <common.h>
 #include <command.h>
+#include <linux/compiler.h>
+#include <asm/processor.h>
 
Quoted 12 lines

arch/powerpc/cpu/mpc85xx/cmd_errata.c line 37

Quoted 10 lines
arch/powerpc/cpu/mpc85xx/cmd_errata.c +8 -0
 static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
+	__maybe_unused u32 svr = get_svr();
+
+#if defined(CONFIG_FSL_SATA_V2) && defined(CONFIG_FSL_SATA_ERRATUM_A001)
+	if (IS_SVR_REV(svr, 1, 0) &&
+	    ((SVR_SOC_VER(svr) == SVR_P1022) ||
+	     (SVR_SOC_VER(svr) == SVR_P1022_E) ||
+	     (SVR_SOC_VER(svr) == SVR_P1013) ||
+	     (SVR_SOC_VER(svr) == SVR_P1013_E))) {

Please use a switch().

Really? There is only 1 case, you want:

	switch(SVR_SOC_VER(svr)) {
		case SVR_P1022:
		case SVR_P1022_E:
		case SVR_P1013:
		case SVR_P1013_E:
			....
			break;
	}

- k

#8 lore raw

PATCH 2/2 powerpc/85xx: Report workaround of errata SATA-A001

Dear Kumar Gala,

Quoted 12 lines · In message <[email protected]> you wrote:
Quoted 9 lines

arch/powerpc/cpu/mpc85xx/cmd_errata.c line 37

Quoted 7 lines
arch/powerpc/cpu/mpc85xx/cmd_errata.c +6 -0
+#if defined(CONFIG_FSL_SATA_V2) && > defined(CONFIG_FSL_SATA_ERRATUM_A001)
+	if (IS_SVR_REV(svr, 1, 0) &&
+	    ((SVR_SOC_VER(svr) == SVR_P1022) ||
+	     (SVR_SOC_VER(svr) == SVR_P1022_E) ||
+	     (SVR_SOC_VER(svr) == SVR_P1013) ||
+	     (SVR_SOC_VER(svr) == SVR_P1013_E))) {

Please use a switch().

Really? There is only 1 case, you want:

Quoted 8 lines
	switch(SVR_SOC_VER(svr)) {
		case SVR_P1022:
		case SVR_P1022_E:
		case SVR_P1013:
		case SVR_P1013_E:
			....
			break;
	}

Yes - don't you think it's much easier to write and to read?

Also it shows clearly that you are missing a default: case...

BTW: your indentation is wrong, and please sort the list...

Best regards,

Wolfgang Denk

Signature · 6 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"He only drinks when he gets depressed." "Why does he get depressed?"
"Sometimes it's because he hasn't had a drink."
                                     - Terry Pratchett, _Men at Arms_
author
#9 lore raw

PATCH 1/1 powerpc/85xx: Add command to report errata workarounds

In reply to Kumar Gala

Add 'errata' command to report what errata we workaround. Report workaround for erratum SATA-A001 on P1022/P1013.

---
 arch/powerpc/cpu/mpc85xx/Makefile     |    1 +
 arch/powerpc/cpu/mpc85xx/cmd_errata.c |   51 +++++++++++++++++++++++++++++++++
 include/configs/P1022DS.h             |    1 +
 3 files changed, 53 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/cpu/mpc85xx/cmd_errata.c
arch/powerpc/cpu/mpc85xx/Makefile +1 -0
index a481326..4ee0e9a 100644
@@ -32,6 +32,7 @@ START	= start.o resetvec.o
 SOBJS-$(CONFIG_MP)	+= release.o
 SOBJS	= $(SOBJS-y)
 
+COBJS-$(CONFIG_CMD_ERRATA) += cmd_errata.o
 COBJS-$(CONFIG_CPM2)	+= commproc.o
 
 # supports ddr1
arch/powerpc/cpu/mpc85xx/cmd_errata.c new file +51 -0

51 lines not on this page · raw message

include/configs/P1022DS.h +1 -0
index e444179..ce9a4d1 100644
@@ -345,6 +345,7 @@
 #define CONFIG_CMD_ELF
 #define CONFIG_CMD_IRQ
 #define CONFIG_CMD_SETEXPR
+#define CONFIG_CMD_ERRATA
 
 #ifdef CONFIG_PCI
 #define CONFIG_CMD_PCI
Signature · 1 line
1.6.0.6
#10 lore raw

PATCH 1/1 powerpc/85xx: Add command to report errata workarounds

Dear Kumar Gala,

Quoted 4 lines · In message <[email protected]> you…

Add 'errata' command to report what errata we workaround. Report workaround for erratum SATA-A001 on P1022/P1013.

...

arch/powerpc/cpu/mpc85xx/cmd_errata.c line 40

Quoted 9 lines
arch/powerpc/cpu/mpc85xx/cmd_errata.c new file +9 -0
+#if defined(CONFIG_FSL_SATA_V2) && defined(CONFIG_FSL_SATA_ERRATUM_A001)
+	if (IS_SVR_REV(svr, 1, 0)) {
+		switch (SVR_SOC_VER(svr)) {
+		case SVR_P1013:
+		case SVR_P1013_E:
+		case SVR_P1022:
+		case SVR_P1022_E:
+			puts("Work-around for Erratum SATA A001 enabled\n");
+		}

I think there should be a "default" case?

include/configs/P1022DS.h line 348

Quoted 6 lines

+++ b/include/configs/P1022DS.h

include/configs/P1022DS.h +1 -0
@@ -345,6 +345,7 @@
 #define CONFIG_CMD_ELF
 #define CONFIG_CMD_IRQ
 #define CONFIG_CMD_SETEXPR
+#define CONFIG_CMD_ERRATA

Please sort the list.

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I really hate this damned machine     It never does quite what I want
I wish that they would sell it.              But only what I tell it.
author
#11 lore raw

PATCH 1/1 powerpc/85xx: Add command to report errata workarounds

Quoted 8 lines · Wolfgang Denk

Dear Kumar Gala,

Quoted 4 lines · In message <[email protected]> you…

Add 'errata' command to report what errata we workaround. Report workaround for erratum SATA-A001 on P1022/P1013.

...

Quoted 11 lines

arch/powerpc/cpu/mpc85xx/cmd_errata.c line 40

Quoted 9 lines
arch/powerpc/cpu/mpc85xx/cmd_errata.c new file +9 -0
+#if defined(CONFIG_FSL_SATA_V2) && defined(CONFIG_FSL_SATA_ERRATUM_A001)
+	if (IS_SVR_REV(svr, 1, 0)) {
+		switch (SVR_SOC_VER(svr)) {
+		case SVR_P1013:
+		case SVR_P1013_E:
+		case SVR_P1022:
+		case SVR_P1022_E:
+			puts("Work-around for Erratum SATA A001 enabled\n");
+		}

I think there should be a "default" case?

No, since if you dont match you dont have the errata.

Quoted 7 lines

include/configs/P1022DS.h line 348

Quoted 7 lines

+++ b/include/configs/P1022DS.h

include/configs/P1022DS.h +1 -0
@@ -345,6 +345,7 @@
 #define CONFIG_CMD_ELF
 #define CONFIG_CMD_IRQ
 #define CONFIG_CMD_SETEXPR
+#define CONFIG_CMD_ERRATA

will do

- k

author
#12 lore raw

PATCH v3 1/1 powerpc/85xx: Add command to report errata workarounds

In reply to Kumar Gala

Add 'errata' command to report what errata we workaround. Report workaround for erratum SATA-A001 on P1022/P1013.

Also sorted the CONFIG_CMD_* list.

---
* Sorted the CMD list

 arch/powerpc/cpu/mpc85xx/Makefile     |    1 +
 arch/powerpc/cpu/mpc85xx/cmd_errata.c |   51 +++++++++++++++++++++++++++++++++
 include/configs/P1022DS.h             |    6 ++--
 3 files changed, 55 insertions(+), 3 deletions(-)
 create mode 100644 arch/powerpc/cpu/mpc85xx/cmd_errata.c
arch/powerpc/cpu/mpc85xx/Makefile +1 -0
index a481326..4ee0e9a 100644
@@ -32,6 +32,7 @@ START	= start.o resetvec.o
 SOBJS-$(CONFIG_MP)	+= release.o
 SOBJS	= $(SOBJS-y)
 
+COBJS-$(CONFIG_CMD_ERRATA) += cmd_errata.o
 COBJS-$(CONFIG_CPM2)	+= commproc.o
 
 # supports ddr1
arch/powerpc/cpu/mpc85xx/cmd_errata.c new file +51 -0

51 lines not on this page · raw message

include/configs/P1022DS.h +3 -3
index e444179..b42b5d0 100644
@@ -338,12 +338,12 @@
  */
 #include <config_cmd_default.h>
 
+#define CONFIG_CMD_ELF
+#define CONFIG_CMD_ERRATA
 #define CONFIG_CMD_IRQ
-#define CONFIG_CMD_PING
 #define CONFIG_CMD_I2C
 #define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
-#define CONFIG_CMD_IRQ
+#define CONFIG_CMD_PING
 #define CONFIG_CMD_SETEXPR
 
 #ifdef CONFIG_PCI
Signature · 1 line
1.6.0.6
#13 lore raw

PATCH 1/2 powerpc/85xx: Add command to report errata workarounds

In reply to Kumar Gala

Dear Kumar Gala,

Quoted 8 lines · In message <[email protected]> you…

Add 'errata' command to report what errata we workaround

---
 arch/powerpc/cpu/mpc85xx/Makefile     |    1 +
 arch/powerpc/cpu/mpc85xx/cmd_errata.c |   35 +++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/cpu/mpc85xx/cmd_errata.c

...

arch/powerpc/cpu/mpc85xx/cmd_errata.c line 29

Quoted 4 lines
arch/powerpc/cpu/mpc85xx/cmd_errata.c new file +4 -0
+static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+	return 0;
+}

NAK. Please do not add dead code.

Please re-submit when you really add code here.

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Time is fluid ... like a river with currents, eddies, backwash.
	-- Spock, "The City on the Edge of Forever", stardate 3134.0
author
#14 lore raw

PATCH 1/2 powerpc/85xx: Add command to report errata workarounds

Quoted 19 lines · Wolfgang Denk

Dear Kumar Gala,

Quoted 8 lines · In message <[email protected]> you…

Add 'errata' command to report what errata we workaround

---
arch/powerpc/cpu/mpc85xx/Makefile | 1 +
arch/powerpc/cpu/mpc85xx/cmd_errata.c | 35 +++++++++++++++++++++++++++++++++

2 files changed, 36 insertions(+), 0 deletions(-)

create mode 100644 arch/powerpc/cpu/mpc85xx/cmd_errata.c

...

arch/powerpc/cpu/mpc85xx/cmd_errata.c line 29

Quoted 4 lines
arch/powerpc/cpu/mpc85xx/cmd_errata.c new file +4 -0
+static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+	return 0;
+}

NAK. Please do not add dead code.

Quoted 5 lines

Please re-submit when you really add code here.

Best regards,

Wolfgang Denk

Do you want me to just merge w/the patch that does add code here?

- k

#15 lore raw

PATCH 1/2 powerpc/85xx: Add command to report errata workarounds

Dear Kumar Gala,

Quoted 10 lines · In message <[email protected]> you wrote:
Quoted 8 lines

NAK. Please do not add dead code.

Please re-submit when you really add code here.

Best regards,

Wolfgang Denk

Do you want me to just merge w/the patch that does add code here?

Yes, squash these two commits (sorry, I saw the secont patch only after sending the message).

BTW: it makes sense to wait a couple of days for reviews.

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Ada is PL/I trying to be Smalltalk.                 - Codoso diBlini
author
#16 lore raw

PATCH 1/2 powerpc/85xx: Add command to report errata workarounds

Quoted 8 lines · Wolfgang Denk

Dear Kumar Gala,

Quoted 5 lines · In message <[email protected]> you wrote:
Quoted 5 lines

NAK. Please do not add dead code.

Please re-submit when you really add code here.

Quoted 8 lines
Quoted 5 lines
Quoted 3 lines

Best regards,

Wolfgang Denk

Do you want me to just merge w/the patch that does add code here?

Yes, squash these two commits (sorry, I saw the secont patch only after sending the message).

ok

Quoted 1 line

BTW: it makes sense to wait a couple of days for reviews.

I posted this on Jun 10th. Seems like a month is a few days ;)

- k