Re: [PATCH 03/10] coresight: trbe: Add a helper to pad a given buffer area

From: Anshuman Khandual
Date: Fri Jul 30 2021 - 06:05:08 EST




On 7/28/21 7:22 PM, Suzuki K Poulose wrote:
> Refactor the helper to pad a given AUX buffer area to allow
> "filling" ignore packets, without moving any handle pointers.
> This will be useful in working around errata, where we may
> have to fill the buffer after a session.
>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
> ---
> drivers/hwtracing/coresight/coresight-trbe.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/hwtracing/coresight/coresight-trbe.c b/drivers/hwtracing/coresight/coresight-trbe.c
> index a0168ad204b3..0af644331b99 100644
> --- a/drivers/hwtracing/coresight/coresight-trbe.c
> +++ b/drivers/hwtracing/coresight/coresight-trbe.c
> @@ -228,12 +228,18 @@ static void trbe_stop_and_truncate_event(struct perf_output_handle *handle)
> * consumed from the user space. The enabled TRBE buffer area is a moving subset of
> * the allocated perf auxiliary buffer.
> */
> +
> +static void __trbe_pad_buf(struct trbe_buf *buf, u64 offset, int len)
> +{
> + memset((void *)buf->trbe_base + offset, ETE_IGNORE_PACKET, len);
> +}
> +
> static void trbe_pad_buf(struct perf_output_handle *handle, int len)
> {
> struct trbe_buf *buf = etm_perf_sink_config(handle);
> u64 head = PERF_IDX2OFF(handle->head, buf);
>
> - memset((void *)buf->trbe_base + head, ETE_IGNORE_PACKET, len);
> + __trbe_pad_buf(buf, head, len);
> if (!buf->snapshot)
> perf_aux_output_skip(handle, len);
> }
>

Reviewed-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>