162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#if !defined(_VISL_TRACE_FWHT_H_) || defined(TRACE_HEADER_MULTI_READ)
362306a36Sopenharmony_ci#define _VISL_TRACE_FWHT_H_
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <linux/tracepoint.h>
662306a36Sopenharmony_ci#include "visl.h"
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#undef TRACE_SYSTEM
962306a36Sopenharmony_ci#define TRACE_SYSTEM visl_fwht_controls
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciDECLARE_EVENT_CLASS(v4l2_ctrl_fwht_params_tmpl,
1262306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_fwht_params *p),
1362306a36Sopenharmony_ci	TP_ARGS(p),
1462306a36Sopenharmony_ci	TP_STRUCT__entry(
1562306a36Sopenharmony_ci			 __field(u64, backward_ref_ts)
1662306a36Sopenharmony_ci			 __field(u32, version)
1762306a36Sopenharmony_ci			 __field(u32, width)
1862306a36Sopenharmony_ci			 __field(u32, height)
1962306a36Sopenharmony_ci			 __field(u32, flags)
2062306a36Sopenharmony_ci			 __field(u32, colorspace)
2162306a36Sopenharmony_ci			 __field(u32, xfer_func)
2262306a36Sopenharmony_ci			 __field(u32, ycbcr_enc)
2362306a36Sopenharmony_ci			 __field(u32, quantization)
2462306a36Sopenharmony_ci			 ),
2562306a36Sopenharmony_ci	TP_fast_assign(
2662306a36Sopenharmony_ci		       __entry->backward_ref_ts = p->backward_ref_ts;
2762306a36Sopenharmony_ci		       __entry->version = p->version;
2862306a36Sopenharmony_ci		       __entry->width = p->width;
2962306a36Sopenharmony_ci		       __entry->height = p->height;
3062306a36Sopenharmony_ci		       __entry->flags = p->flags;
3162306a36Sopenharmony_ci		       __entry->colorspace = p->colorspace;
3262306a36Sopenharmony_ci		       __entry->xfer_func = p->xfer_func;
3362306a36Sopenharmony_ci		       __entry->ycbcr_enc = p->ycbcr_enc;
3462306a36Sopenharmony_ci		       __entry->quantization = p->quantization;
3562306a36Sopenharmony_ci		       ),
3662306a36Sopenharmony_ci	TP_printk("backward_ref_ts %llu version %u width %u height %u flags %s colorspace %u xfer_func %u ycbcr_enc %u quantization %u",
3762306a36Sopenharmony_ci		  __entry->backward_ref_ts, __entry->version, __entry->width, __entry->height,
3862306a36Sopenharmony_ci		  __print_flags(__entry->flags, "|",
3962306a36Sopenharmony_ci		  {V4L2_FWHT_FL_IS_INTERLACED, "IS_INTERLACED"},
4062306a36Sopenharmony_ci		  {V4L2_FWHT_FL_IS_BOTTOM_FIRST, "IS_BOTTOM_FIRST"},
4162306a36Sopenharmony_ci		  {V4L2_FWHT_FL_IS_ALTERNATE, "IS_ALTERNATE"},
4262306a36Sopenharmony_ci		  {V4L2_FWHT_FL_IS_BOTTOM_FIELD, "IS_BOTTOM_FIELD"},
4362306a36Sopenharmony_ci		  {V4L2_FWHT_FL_LUMA_IS_UNCOMPRESSED, "LUMA_IS_UNCOMPRESSED"},
4462306a36Sopenharmony_ci		  {V4L2_FWHT_FL_CB_IS_UNCOMPRESSED, "CB_IS_UNCOMPRESSED"},
4562306a36Sopenharmony_ci		  {V4L2_FWHT_FL_CR_IS_UNCOMPRESSED, "CR_IS_UNCOMPRESSED"},
4662306a36Sopenharmony_ci		  {V4L2_FWHT_FL_ALPHA_IS_UNCOMPRESSED, "ALPHA_IS_UNCOMPRESSED"},
4762306a36Sopenharmony_ci		  {V4L2_FWHT_FL_I_FRAME, "I_FRAME"},
4862306a36Sopenharmony_ci		  {V4L2_FWHT_FL_PIXENC_HSV, "PIXENC_HSV"},
4962306a36Sopenharmony_ci		  {V4L2_FWHT_FL_PIXENC_RGB, "PIXENC_RGB"},
5062306a36Sopenharmony_ci		  {V4L2_FWHT_FL_PIXENC_YUV, "PIXENC_YUV"}),
5162306a36Sopenharmony_ci		  __entry->colorspace, __entry->xfer_func, __entry->ycbcr_enc,
5262306a36Sopenharmony_ci		  __entry->quantization)
5362306a36Sopenharmony_ci);
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciDEFINE_EVENT(v4l2_ctrl_fwht_params_tmpl, v4l2_ctrl_fwht_params,
5662306a36Sopenharmony_ci	TP_PROTO(const struct v4l2_ctrl_fwht_params *p),
5762306a36Sopenharmony_ci	TP_ARGS(p)
5862306a36Sopenharmony_ci);
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci#endif
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci#undef TRACE_INCLUDE_PATH
6362306a36Sopenharmony_ci#undef TRACE_INCLUDE_FILE
6462306a36Sopenharmony_ci#define TRACE_INCLUDE_PATH ../../drivers/media/test-drivers/visl
6562306a36Sopenharmony_ci#define TRACE_INCLUDE_FILE visl-trace-fwht
6662306a36Sopenharmony_ci#include <trace/define_trace.h>
67