ARM: tegra: mcerr: Update message printing
Alex Waterman [Mon, 7 Oct 2013 22:00:54 +0000 (15:00 -0700)]
Upgdate and upgrade the messages that get printed by mcerr.
Now both the swgid and the actual specific client are printed
when an error is detected.

Change-Id: Id4b27ace8dad5823ecbc7b5d8fd5eb64d212b709
Signed-off-by: Alex Waterman <alexw@nvidia.com>
Reviewed-on: http://git-master/r/288593
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>

arch/arm/mach-tegra/mcerr-t11.c
arch/arm/mach-tegra/mcerr-t12.c
arch/arm/mach-tegra/mcerr-t14.c
arch/arm/mach-tegra/mcerr.c

index 0d05dde..5405b91 100644 (file)
@@ -143,7 +143,7 @@ static void mcerr_t11x_print(const struct mc_error *err,
                             u32 status, phys_addr_t addr,
                             int secure, int rw, const char *smmu_info)
 {
-       pr_err("[mcerr] %s: %s\n", client->name, err->msg);
+       pr_err("[mcerr] (%s) %s: %s\n", client->swgid, client->name, err->msg);
        pr_err("[mcerr]   status = 0x%08x; addr = [0x%08lx -> 0x%08lx]",
               status, (ulong)(addr & ~0x1f), (ulong)(addr | 0x1f));
        pr_err("[mcerr]   secure: %s, access-type: %s, SMMU fault: %s\n",
@@ -151,13 +151,15 @@ static void mcerr_t11x_print(const struct mc_error *err,
               smmu_info ? smmu_info : "none");
 }
 
+#define fmt_hdr "%-18s %-18s %-9s %-9s %-9s %-10s %-10s %-9s\n"
+#define fmt_cli "%-18s %-18s %-9u %-9u %-9u %-10u %-10u %-9u\n"
 static int mcerr_t11x_debugfs_show(struct seq_file *s, void *v)
 {
        int i, j;
        int do_print;
 
-       seq_printf(s, "%-18s %-9s %-9s %-9s %-10s %-10s %-9s\n",
-                  "client", "decerr", "secerr", "smmuerr",
+       seq_printf(s, fmt_hdr,
+                  "swgid", "client", "decerr", "secerr", "smmuerr",
                   "decerr-VPR", "secerr-SEC", "unknown");
        for (i = 0; i < ARRAY_SIZE(mc_clients); i++) {
                do_print = 0;
@@ -171,7 +173,8 @@ static int mcerr_t11x_debugfs_show(struct seq_file *s, void *v)
                        }
                }
                if (do_print)
-                       seq_printf(s, "%-18s %-9u %-9u %-9u %-10u %-10u %-9u\n",
+                       seq_printf(s, fmt_cli,
+                                  mc_clients[i].swgid,
                                   mc_clients[i].name,
                                   mc_clients[i].intr_counts[0],
                                   mc_clients[i].intr_counts[1],
index 141f8ec..3cb5763 100644 (file)
@@ -168,13 +168,15 @@ static void mcerr_t12x_info_update(struct mc_client *c, u32 stat)
                c->intr_counts[7]++;
 }
 
+#define fmt_hdr "%-18s %-18s %-9s %-9s %-9s %-10s %-10s %-10s %-10s %-9s\n"
+#define fmt_cli "%-18s %-18s %-9u %-9u %-9u %-10u %-10u %-10u %-10u %-9u\n"
 static int mcerr_t12x_debugfs_show(struct seq_file *s, void *v)
 {
        int i, j;
        int do_print;
 
-       seq_printf(s, "%-18s %-9s %-9s %-9s %-10s %-10s %-10s %-10s %-9s\n",
-                  "client", "decerr", "secerr", "smmuerr",
+       seq_printf(s, fmt_hdr,
+                  "swgid", "client", "decerr", "secerr", "smmuerr",
                   "apberr", "decerr-VPR", "secerr-SEC",
                   "decerr_MST", "unknown");
        for (i = 0; i < ARRAY_SIZE(mc_clients); i++) {
@@ -189,8 +191,8 @@ static int mcerr_t12x_debugfs_show(struct seq_file *s, void *v)
                        }
                }
                if (do_print)
-                       seq_printf(s, "%-18s %-9u %-9u %-9u %-10u "
-                                       "%-10u %-10u %-10u %-9u\n",
+                       seq_printf(s, fmt_cli,
+                                  mc_clients[i].swgid,
                                   mc_clients[i].name,
                                   mc_clients[i].intr_counts[0],
                                   mc_clients[i].intr_counts[1],
index 8ca8231..67800c8 100644 (file)
@@ -145,14 +145,15 @@ static void mcerr_t14x_info_update(struct mc_client *c, u32 stat)
                c->intr_counts[7]++;
 }
 
+#define fmt_hdr "%-18s %-18s %-9s %-9s %-9s %-10s %-10s %-9s %-9s %-9s\n"
+#define fmt_cli "%-18s %-18s %-9u %-9u %-9u %-10u %-10u %-9u %-9u %-9u\n";
 static int mcerr_t14x_debugfs_show(struct seq_file *s, void *v)
 {
        int i, j;
        int do_print;
-       const char *fmt = "%-18s %-9u %-9u %-9u %-10u %-10u %-9u %-9u %-9u\n";
 
-       seq_printf(s, "%-18s %-9s %-9s %-9s %-10s %-10s %-9s %-9s %-9s\n",
-                  "client", "decerr", "secerr", "smmuerr",
+       seq_printf(s, fmt_hdr,
+                  "swgid", "client", "decerr", "secerr", "smmuerr",
                   "decerr-VPR", "secerr-SEC", "priv-bbc", "decerr-bbc",
                   "unknown");
        for (i = 0; i < ARRAY_SIZE(mc_clients); i++) {
@@ -167,7 +168,8 @@ static int mcerr_t14x_debugfs_show(struct seq_file *s, void *v)
                        }
                }
                if (do_print)
-                       seq_printf(s, fmt,
+                       seq_printf(s, fmt_cli,
+                                  mc_clients[i].swgid,
                                   mc_clients[i].name,
                                   mc_clients[i].intr_counts[0],
                                   mc_clients[i].intr_counts[1],
index 889354f..c606b9b 100644 (file)
@@ -318,7 +318,7 @@ static void mcerr_default_print(const struct mc_error *err,
                                u32 status, phys_addr_t addr,
                                int secure, int rw, const char *smmu_info)
 {
-       pr_err("[mcerr] %s: %s\n", client->name, err->msg);
+       pr_err("[mcerr] (%s) %s: %s\n", client->swgid, client->name, err->msg);
        pr_err("[mcerr]   status = 0x%08x; addr = 0x%08llx", status,
               (long long unsigned int)addr);
        pr_err("[mcerr]   secure: %s, access-type: %s, SMMU fault: %s\n",
@@ -334,8 +334,8 @@ static int mcerr_default_debugfs_show(struct seq_file *s, void *v)
        int i, j;
        int do_print;
 
-       seq_printf(s, "%-24s %-9s %-9s %-9s %-9s\n", "client", "decerr",
-                  "secerr", "smmuerr", "unknown");
+       seq_printf(s, "%-24s $-24s %-9s %-9s %-9s %-9s\n", "swgid", "client",
+                  "decerr", "secerr", "smmuerr", "unknown");
        for (i = 0; i < chip_specific.nr_clients; i++) {
                do_print = 0;
 
@@ -348,8 +348,9 @@ static int mcerr_default_debugfs_show(struct seq_file *s, void *v)
                }
 
                if (do_print)
-                       seq_printf(s, "%-24s %-9u %-9u %-9u %-9u\n",
+                       seq_printf(s, "%-24s %-24s %-9u %-9u %-9u %-9u\n",
                                   mc_clients[i].name,
+                                  mc_clients[i].swgid,
                                   mc_clients[i].intr_counts[0],
                                   mc_clients[i].intr_counts[1],
                                   mc_clients[i].intr_counts[2],