coresight: etm4x: adding config and traceid registers
authorMathieu Poirier <mathieu.poirier@linaro.org>
Tue, 5 Apr 2016 17:53:43 +0000 (11:53 -0600)
committerMathieu Poirier <mathieu.poirier@linaro.org>
Wed, 1 Jun 2016 21:43:27 +0000 (15:43 -0600)
Adding new sysFS management interface to query the configuration
and the traceid registers.  Both are required to convey information
to the perf cmd line tools when using ETMv4 tracers as PMU.

Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 7c38aa4b03b3fc6ce17e5a00327f8c0be18daf8a)

Documentation/ABI/testing/sysfs-bus-coresight-devices-etm4x
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c

index 2355ed8ae31f732d1567f2b9085d86574f817523..36258bc1b473a9c826d272bd3328f7c79562e49a 100644 (file)
@@ -359,6 +359,19 @@ Contact:   Mathieu Poirier <mathieu.poirier@linaro.org>
 Description:   (R) Print the content of the Peripheral ID3 Register
                (0xFEC).  The value is taken directly from the HW.
 
+What:          /sys/bus/coresight/devices/<memory_map>.etm/mgmt/trcconfig
+Date:          February 2016
+KernelVersion: 4.07
+Contact:       Mathieu Poirier <mathieu.poirier@linaro.org>
+Description:   (R) Print the content of the trace configuration register
+               (0x010) as currently set by SW.
+
+What:          /sys/bus/coresight/devices/<memory_map>.etm/mgmt/trctraceid
+Date:          February 2016
+KernelVersion: 4.07
+Contact:       Mathieu Poirier <mathieu.poirier@linaro.org>
+Description:   (R) Print the content of the trace ID register (0x040).
+
 What:          /sys/bus/coresight/devices/<memory_map>.etm/trcidr/trcidr0
 Date:          April 2015
 KernelVersion: 4.01
index 5db0de7d4e0ec2e6f638910b56c39e8352b24e0a..39a8b077e0c2cad3b5a03d922ee6d6e19e7c7ea1 100644 (file)
@@ -1972,6 +1972,8 @@ coresight_simple_func(trcoslsr, TRCOSLSR);
 coresight_simple_func(trcpdcr, TRCPDCR);
 coresight_simple_func(trcpdsr, TRCPDSR);
 coresight_simple_func(trclsr, TRCLSR);
+coresight_simple_func(trcconfig, TRCCONFIGR);
+coresight_simple_func(trctraceid, TRCTRACEIDR);
 coresight_simple_func(trcauthstatus, TRCAUTHSTATUS);
 coresight_simple_func(trcdevid, TRCDEVID);
 coresight_simple_func(trcdevtype, TRCDEVTYPE);
@@ -1985,6 +1987,8 @@ static struct attribute *coresight_etmv4_mgmt_attrs[] = {
        &dev_attr_trcpdcr.attr,
        &dev_attr_trcpdsr.attr,
        &dev_attr_trclsr.attr,
+       &dev_attr_trcconfig.attr,
+       &dev_attr_trctraceid.attr,
        &dev_attr_trcauthstatus.attr,
        &dev_attr_trcdevid.attr,
        &dev_attr_trcdevtype.attr,