On Wed, Sep 17, 2025 at 09:35:55AM +0800, Jie Gan wrote:
[...]
diff --git a/drivers/hwtracing/coresight/coresight-core.c b/drivers/hwtracing/coresight/coresight-core.c index fa758cc21827..b1077d73c988 100644 --- a/drivers/hwtracing/coresight/coresight-core.c +++ b/drivers/hwtracing/coresight/coresight-core.c @@ -510,7 +510,7 @@ int coresight_enable_path(struct coresight_path *path, enum cs_mode mode, type = csdev->type; /* Enable all helpers adjacent to the path first */
ret = coresight_enable_helpers(csdev, mode, path);
ret = coresight_enable_helpers(csdev, mode, sink_data);
I dont think we can change back to sink_data since we introduced coresight_path to wrap 'data' which is needed by the path.
This change can fix catu issue but will cause regression for ctcu driver.
I suggest you to add the struct perf_output_handle to the coresight_path, then retrieving it with data->perf_handle in tmc_etr_get_buffer.
before: struct perf_output_handle *handle = data;
after: struct coresight_path *path = data; struct perf_output_handle *handle = path->perf_handle;
We can assign the perf_output_handle to the coresight_path after we constructed the coresight_path in perf mode.
The suggestion looks good to me.
Thanks, Leo