Commit a40318fb authored by Mathieu Poirier's avatar Mathieu Poirier Committed by Greg Kroah-Hartman

coresight: tmc: dump system memory content only when needed

Calling tmc_etf/etr_dump_hw() is required only when operating from
sysFS.  When working from Perf, the system memory is harvested
from the AUX trace API.
Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f2facc33
...@@ -74,6 +74,11 @@ static void tmc_etb_disable_hw(struct tmc_drvdata *drvdata) ...@@ -74,6 +74,11 @@ static void tmc_etb_disable_hw(struct tmc_drvdata *drvdata)
CS_UNLOCK(drvdata->base); CS_UNLOCK(drvdata->base);
tmc_flush_and_stop(drvdata); tmc_flush_and_stop(drvdata);
/*
* When operating in sysFS mode the content of the buffer needs to be
* read before the TMC is disabled.
*/
if (local_read(&drvdata->mode) == CS_MODE_SYSFS)
tmc_etb_dump_hw(drvdata); tmc_etb_dump_hw(drvdata);
tmc_disable_hw(drvdata); tmc_disable_hw(drvdata);
......
...@@ -76,6 +76,11 @@ static void tmc_etr_disable_hw(struct tmc_drvdata *drvdata) ...@@ -76,6 +76,11 @@ static void tmc_etr_disable_hw(struct tmc_drvdata *drvdata)
CS_UNLOCK(drvdata->base); CS_UNLOCK(drvdata->base);
tmc_flush_and_stop(drvdata); tmc_flush_and_stop(drvdata);
/*
* When operating in sysFS mode the content of the buffer needs to be
* read before the TMC is disabled.
*/
if (local_read(&drvdata->mode) == CS_MODE_SYSFS)
tmc_etr_dump_hw(drvdata); tmc_etr_dump_hw(drvdata);
tmc_disable_hw(drvdata); tmc_disable_hw(drvdata);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment