coresight: trbe: Fix incorrect access of the sink specific data
authorSuzuki K Poulose <suzuki.poulose@arm.com>
Tue, 21 Sep 2021 13:41:05 +0000 (14:41 +0100)
committerMathieu Poirier <mathieu.poirier@linaro.org>
Wed, 27 Oct 2021 17:45:37 +0000 (11:45 -0600)
The TRBE driver wrongly treats the aux private data as the TRBE driver
specific buffer for a given perf handle, while it is the ETM PMU's
event specific data. Fix this by correcting the instance to use
appropriate helper.

Cc: stable <stable@vger.kernel.org>
Fixes: 3fbf7f011f24 ("coresight: sink: Add TRBE driver")
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20210921134121.2423546-2-suzuki.poulose@arm.com
[Fixed 13 character SHA down to 12]
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
drivers/hwtracing/coresight/coresight-trbe.c

index a53ee98..2825ccb 100644 (file)
@@ -382,7 +382,7 @@ static unsigned long __trbe_normal_offset(struct perf_output_handle *handle)
 
 static unsigned long trbe_normal_offset(struct perf_output_handle *handle)
 {
-       struct trbe_buf *buf = perf_get_aux(handle);
+       struct trbe_buf *buf = etm_perf_sink_config(handle);
        u64 limit = __trbe_normal_offset(handle);
        u64 head = PERF_IDX2OFF(handle->head, buf);