aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwtracing
diff options
context:
space:
mode:
authorSuzuki K Poulose <suzuki.poulose@arm.com>2016-08-25 17:19:00 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-08-31 07:05:42 -0400
commit67337e8d8dc44ceb720a1ba5d1f2ff230a53a888 (patch)
treee37ec31ece453f57fab1c2d2afbb989afa491b53 /drivers/hwtracing
parent1c9cbe118413dbb869d146c45932ba092a8ff485 (diff)
coresight: Add better messages for coresight_timeout
When we encounter a timeout waiting for a status change via coresight_timeout, the caller always print the offset which was tried. This is pretty much useless as it doesn't specify the bit position we wait for. Also, one needs to lookup the TRM to figure out, what was wrong. This patch changes all such error messages to print something more meaningful. Cc: Mathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hwtracing')
-rw-r--r--drivers/hwtracing/coresight/coresight-etb10.c6
-rw-r--r--drivers/hwtracing/coresight/coresight-etm4x.c6
-rw-r--r--drivers/hwtracing/coresight/coresight-tmc.c6
3 files changed, 6 insertions, 12 deletions
diff --git a/drivers/hwtracing/coresight/coresight-etb10.c b/drivers/hwtracing/coresight/coresight-etb10.c
index 4d20b0be0c0b..3b483e3f00ee 100644
--- a/drivers/hwtracing/coresight/coresight-etb10.c
+++ b/drivers/hwtracing/coresight/coresight-etb10.c
@@ -184,8 +184,7 @@ static void etb_disable_hw(struct etb_drvdata *drvdata)
184 184
185 if (coresight_timeout(drvdata->base, ETB_FFCR, ETB_FFCR_BIT, 0)) { 185 if (coresight_timeout(drvdata->base, ETB_FFCR, ETB_FFCR_BIT, 0)) {
186 dev_err(drvdata->dev, 186 dev_err(drvdata->dev,
187 "timeout observed when probing at offset %#x\n", 187 "timeout while waiting for completion of Manual Flush\n");
188 ETB_FFCR);
189 } 188 }
190 189
191 /* disable trace capture */ 190 /* disable trace capture */
@@ -193,8 +192,7 @@ static void etb_disable_hw(struct etb_drvdata *drvdata)
193 192
194 if (coresight_timeout(drvdata->base, ETB_FFSR, ETB_FFSR_BIT, 1)) { 193 if (coresight_timeout(drvdata->base, ETB_FFSR, ETB_FFSR_BIT, 1)) {
195 dev_err(drvdata->dev, 194 dev_err(drvdata->dev,
196 "timeout observed when probing at offset %#x\n", 195 "timeout while waiting for Formatter to Stop\n");
197 ETB_FFCR);
198 } 196 }
199 197
200 CS_LOCK(drvdata->base); 198 CS_LOCK(drvdata->base);
diff --git a/drivers/hwtracing/coresight/coresight-etm4x.c b/drivers/hwtracing/coresight/coresight-etm4x.c
index bc5ed207a3b5..3b16f8a9e44d 100644
--- a/drivers/hwtracing/coresight/coresight-etm4x.c
+++ b/drivers/hwtracing/coresight/coresight-etm4x.c
@@ -99,8 +99,7 @@ static void etm4_enable_hw(void *info)
99 /* wait for TRCSTATR.IDLE to go up */ 99 /* wait for TRCSTATR.IDLE to go up */
100 if (coresight_timeout(drvdata->base, TRCSTATR, TRCSTATR_IDLE_BIT, 1)) 100 if (coresight_timeout(drvdata->base, TRCSTATR, TRCSTATR_IDLE_BIT, 1))
101 dev_err(drvdata->dev, 101 dev_err(drvdata->dev,
102 "timeout observed when probing at offset %#x\n", 102 "timeout while waiting for Idle Trace Status\n");
103 TRCSTATR);
104 103
105 writel_relaxed(config->pe_sel, drvdata->base + TRCPROCSELR); 104 writel_relaxed(config->pe_sel, drvdata->base + TRCPROCSELR);
106 writel_relaxed(config->cfg, drvdata->base + TRCCONFIGR); 105 writel_relaxed(config->cfg, drvdata->base + TRCCONFIGR);
@@ -172,8 +171,7 @@ static void etm4_enable_hw(void *info)
172 /* wait for TRCSTATR.IDLE to go back down to '0' */ 171 /* wait for TRCSTATR.IDLE to go back down to '0' */
173 if (coresight_timeout(drvdata->base, TRCSTATR, TRCSTATR_IDLE_BIT, 0)) 172 if (coresight_timeout(drvdata->base, TRCSTATR, TRCSTATR_IDLE_BIT, 0))
174 dev_err(drvdata->dev, 173 dev_err(drvdata->dev,
175 "timeout observed when probing at offset %#x\n", 174 "timeout while waiting for Idle Trace Status\n");
176 TRCSTATR);
177 175
178 CS_LOCK(drvdata->base); 176 CS_LOCK(drvdata->base);
179 177
diff --git a/drivers/hwtracing/coresight/coresight-tmc.c b/drivers/hwtracing/coresight/coresight-tmc.c
index b3275bb4d035..84052c72462c 100644
--- a/drivers/hwtracing/coresight/coresight-tmc.c
+++ b/drivers/hwtracing/coresight/coresight-tmc.c
@@ -38,8 +38,7 @@ void tmc_wait_for_tmcready(struct tmc_drvdata *drvdata)
38 if (coresight_timeout(drvdata->base, 38 if (coresight_timeout(drvdata->base,
39 TMC_STS, TMC_STS_TMCREADY_BIT, 1)) { 39 TMC_STS, TMC_STS_TMCREADY_BIT, 1)) {
40 dev_err(drvdata->dev, 40 dev_err(drvdata->dev,
41 "timeout observed when probing at offset %#x\n", 41 "timeout while waiting for TMC to be Ready\n");
42 TMC_STS);
43 } 42 }
44} 43}
45 44
@@ -56,8 +55,7 @@ void tmc_flush_and_stop(struct tmc_drvdata *drvdata)
56 if (coresight_timeout(drvdata->base, 55 if (coresight_timeout(drvdata->base,
57 TMC_FFCR, TMC_FFCR_FLUSHMAN_BIT, 0)) { 56 TMC_FFCR, TMC_FFCR_FLUSHMAN_BIT, 0)) {
58 dev_err(drvdata->dev, 57 dev_err(drvdata->dev,
59 "timeout observed when probing at offset %#x\n", 58 "timeout while waiting for completion of Manual Flush\n");
60 TMC_FFCR);
61 } 59 }
62 60
63 tmc_wait_for_tmcready(drvdata); 61 tmc_wait_for_tmcready(drvdata);