From nobody Thu Apr 2 20:17:59 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E86E735E535; Thu, 12 Feb 2026 16:24:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770913446; cv=none; b=Xxy7nnXeM7fWxylUeRFH6QUuUQa2gn5TMKnCVbgTjRBF5oKSv1UAmxx5Ck6pN8ppHFK3WUnYhS3HacWER37rp9sMVwNd3W35YUmX0vq2CudNzNhtU/ROMEqJ1OOuvmo4HbZJSLyxYwVLPJNZnkALw72vjbXfngaIxf84qgvkeFc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770913446; c=relaxed/simple; bh=kuaeeU6LpMHASQxhXNRqsVcHur7yHgGgjDZb5xy+6BI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qCFp4enAbvub0ZxOHBHy1954CcwH9sbP4a5RlzWCB/hqVIU5o8ydPVWWACbJhsaS825/Cy/wf5JrbjosZAl/mC2gVevYvwh0m4/MiikapIirNZZ+DWD+t17hseo693Rl5OZsTKp/9DLp1SSIUwG8fFH8NZqT2Z+uWUbKtF8e3EE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=DalFuv4s; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="DalFuv4s" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1770913443; bh=kuaeeU6LpMHASQxhXNRqsVcHur7yHgGgjDZb5xy+6BI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DalFuv4sw1iBmN+oew0RmVeMydia1jt2wNpk2m9oxceoQE2DFFIydqvYa18h8KbbF kVFzRKs8tupT9/1CikfUvwpjm97aeUani1+k2mXN/KapaYjyK5lZeL39Kv1RWWA2Cd IQZXnsTN1pO4fa+HS8B3YG5ObduMQ+KMKo2JpMYOetX8+sWzKw/qbcRfvx6Muv4htC yc19QOkMYoRwKmUla4CDygVtMD/aQyZZv+Kw9GCUADyztr+fAARjrxZ0jBHkuahrka 5HsaisjI79vg7Bpp0YDyGVVUYpjsbgBb/QQfSJ+VwEVeS3wbcTEw9O2LhuBueGJHS7 AtAIQbTDBBwnQ== Received: from trenzalore (modemcable014.2-22-96.mc.videotron.ca [96.22.2.14]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: detlev) by bali.collaboradmins.com (Postfix) with ESMTPSA id 318EE17E0A49; Thu, 12 Feb 2026 17:24:00 +0100 (CET) From: Detlev Casanova To: linux-kernel@vger.kernel.org Cc: Nicolas Dufresne , Benjamin Gaignard , Philipp Zabel , Mauro Carvalho Chehab , Heiko Stuebner , Daniel Almeida , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Hans Verkuil , Laurent Pinchart , Ricardo Ribalda , Yunke Cao , Detlev Casanova , Sakari Ailus , Pavan Bobba , James Cowgill , Ma Ke , Jacopo Mondi , Daniel Scally , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-trace-kernel@vger.kernel.org, kernel@collabora.com Subject: [PATCH 08/11] media: Add HW run/done trace events Date: Thu, 12 Feb 2026 11:23:25 -0500 Message-ID: <20260212162328.192217-9-detlev.casanova@collabora.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260212162328.192217-1-detlev.casanova@collabora.com> References: <20260212162328.192217-1-detlev.casanova@collabora.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The events can be fired by drivers when the hardware is run and when it is done. That can be used by userspace tracers to see HW performance and usage. The hw_done event allows setting the number of clock cycles the HW needed to do the work, to help tools evaluate performances. Signed-off-by: Detlev Casanova --- drivers/media/v4l2-core/v4l2-trace.c | 3 +++ include/trace/events/v4l2.h | 30 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/drivers/media/v4l2-core/v4l2-trace.c b/drivers/media/v4l2-core= /v4l2-trace.c index 9ce54c1968ef..2fbc05dde346 100644 --- a/drivers/media/v4l2-core/v4l2-trace.c +++ b/drivers/media/v4l2-core/v4l2-trace.c @@ -12,6 +12,9 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(vb2_v4l2_buf_queue); EXPORT_TRACEPOINT_SYMBOL_GPL(vb2_v4l2_dqbuf); EXPORT_TRACEPOINT_SYMBOL_GPL(vb2_v4l2_qbuf); =20 +EXPORT_TRACEPOINT_SYMBOL_GPL(v4l2_hw_run); +EXPORT_TRACEPOINT_SYMBOL_GPL(v4l2_hw_done); + /* Export AV1 controls */ EXPORT_TRACEPOINT_SYMBOL_GPL(v4l2_ctrl_av1_sequence); EXPORT_TRACEPOINT_SYMBOL_GPL(v4l2_ctrl_av1_frame); diff --git a/include/trace/events/v4l2.h b/include/trace/events/v4l2.h index bec310eaedc7..4a9dcdbea22b 100644 --- a/include/trace/events/v4l2.h +++ b/include/trace/events/v4l2.h @@ -290,6 +290,36 @@ DEFINE_EVENT(v4l2_stream_class, v4l2_streamoff, TP_ARGS(tgid, fd) ); =20 +DEFINE_EVENT(v4l2_stream_class, v4l2_hw_run, + TP_PROTO(u32 tgid, u32 fd), + TP_ARGS(tgid, fd) +); + +DECLARE_EVENT_CLASS(v4l2_hw_done_class, + TP_PROTO(u32 tgid, u32 fd, u32 hw_cycles), + TP_ARGS(tgid, fd, hw_cycles), + + TP_STRUCT__entry( + __field(u32, tgid) + __field(u32, fd) + __field(u32, hw_cycles) + ), + + TP_fast_assign( + __entry->tgid =3D tgid; + __entry->fd =3D fd; + __entry->hw_cycles =3D hw_cycles; + ), + + TP_printk("tgid =3D %u, fd =3D %u, hw_cycles =3D %u", + __entry->tgid, __entry->fd, __entry->hw_cycles) +); + +DEFINE_EVENT(v4l2_hw_done_class, v4l2_hw_done, + TP_PROTO(u32 tgid, u32 fd, u32 hw_cycles), + TP_ARGS(tgid, fd, hw_cycles) +); + #endif /* if !defined(_TRACE_V4L2_H) || defined(TRACE_HEADER_MULTI_READ) */ =20 /* This part must be outside protection */ --=20 2.53.0