[PATCH] coresight: Fix data argument to coresight_enable_helpers

Leo Yan leo.yan at arm.com
Wed Sep 17 02:37:40 PDT 2025


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



More information about the linux-arm-kernel mailing list