On Tue, May 01, 2018 at 10:10:54AM +0100, Suzuki K Poulose wrote:
> Since the ETR now uses mode specific buffers, we can reliably
> provide the trace data captured in sysfs mode, even when the ETR
> is operating in PERF mode.
> 
> Cc: Mathieu Poirier <[email protected]>
> Signed-off-by: Suzuki K Poulose <[email protected]>
> ---
>  drivers/hwtracing/coresight/coresight-tmc-etr.c | 14 ++++++--------
>  1 file changed, 6 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/hwtracing/coresight/coresight-tmc-etr.c 
> b/drivers/hwtracing/coresight/coresight-tmc-etr.c
> index a35a12f..7551272 100644
> --- a/drivers/hwtracing/coresight/coresight-tmc-etr.c
> +++ b/drivers/hwtracing/coresight/coresight-tmc-etr.c
> @@ -1439,19 +1439,17 @@ int tmc_read_prepare_etr(struct tmc_drvdata *drvdata)
>               goto out;
>       }
>  
> -     /* Don't interfere if operated from Perf */
> -     if (drvdata->mode == CS_MODE_PERF) {
> -             ret = -EINVAL;
> -             goto out;
> -     }
> -
> -     /* If sysfs_buf is NULL the trace data has been read already */
> +     /*
> +      * We can safely allow reads even if the ETR is operating in PERF mode,
> +      * since the sysfs session is captured in mode specific data.
> +      * If drvdata::sysfs_data is NULL the trace data has been read already.
> +      */
>       if (!drvdata->sysfs_buf) {
>               ret = -EINVAL;
>               goto out;
>       }
>  
> -     /* Disable the TMC if we are trying to read from a running session */
> +     /* Disable the TMC if we are trying to read from a running session. */

Move that to the previous patch.

>       if (drvdata->mode == CS_MODE_SYSFS)
>               tmc_etr_disable_hw(drvdata);
>  
> -- 
> 2.7.4
> 

Reply via email to