We don't support ETR in perf mode yet. Temporarily fail the
operation until we add proper support.

Cc: Mathieu Poirier <mathieu.poir...@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poul...@arm.com>
---
 drivers/hwtracing/coresight/coresight-tmc-etr.c | 28 ++-----------------------
 1 file changed, 2 insertions(+), 26 deletions(-)

diff --git a/drivers/hwtracing/coresight/coresight-tmc-etr.c 
b/drivers/hwtracing/coresight/coresight-tmc-etr.c
index 68fbc8f7450e..d0208f01afd9 100644
--- a/drivers/hwtracing/coresight/coresight-tmc-etr.c
+++ b/drivers/hwtracing/coresight/coresight-tmc-etr.c
@@ -192,32 +192,8 @@ static int tmc_enable_etr_sink_sysfs(struct 
coresight_device *csdev)
 
 static int tmc_enable_etr_sink_perf(struct coresight_device *csdev)
 {
-       int ret = 0;
-       unsigned long flags;
-       struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
-
-       spin_lock_irqsave(&drvdata->spinlock, flags);
-       if (drvdata->reading) {
-               ret = -EINVAL;
-               goto out;
-       }
-
-       /*
-        * In Perf mode there can be only one writer per sink.  There
-        * is also no need to continue if the ETR is already operated
-        * from sysFS.
-        */
-       if (drvdata->mode != CS_MODE_DISABLED) {
-               ret = -EINVAL;
-               goto out;
-       }
-
-       drvdata->mode = CS_MODE_PERF;
-       tmc_etr_enable_hw(drvdata);
-out:
-       spin_unlock_irqrestore(&drvdata->spinlock, flags);
-
-       return ret;
+       /* We don't support perf mode yet ! */
+       return -EINVAL;
 }
 
 static int tmc_enable_etr_sink(struct coresight_device *csdev, u32 mode)
-- 
2.13.6

Reply via email to