From nobody Sat Oct 4 03:17:49 2025 Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3474C277C9B for ; Wed, 20 Aug 2025 18:11:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755713464; cv=none; b=Vcg6/pvJ92kyUQ/HwGSVF5Sr08u/MuGomPL/YUUv4Ut+8L4ibncNEBCymwtUHXsN0a+8A74KXcPKvUpMK6IcQyiP7aGVrhfNTC/p87ZCqXrQF0jnNCAj7B18lARtC+MI3YouyB32IL7Z6qoHRARLjeN7V/rbDxONUUqFPG0plhQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755713464; c=relaxed/simple; bh=etqFjPFs3vp08TxiXSqimCaG1/79A2Or3SQaEf8w0P8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=U3J7PMVA6KMh5kbK5g25tUvpWLBFgiNX+fyYtnYxXrCrCcj5WgqFdybHpBC0ZDatQt/zsL11EaJ4qO2GpoAorGOO+FwxQ5Dvk8sovKcNW+Fmtxg7/Ds+rKCnILk0PB1S3xgQyKhKZn4sa+3xQRjeduVnMNlqSX/XVd0rtBlRWrY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=criticallink.com; spf=pass smtp.mailfrom=criticallink.com; dkim=pass (2048-bit key) header.d=criticallink.com header.i=@criticallink.com header.b=S0R+J9io; arc=none smtp.client-ip=209.85.222.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=criticallink.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=criticallink.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=criticallink.com header.i=@criticallink.com header.b="S0R+J9io" Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-7e87035a7c3so13741985a.0 for ; Wed, 20 Aug 2025 11:11:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=criticallink.com; s=google; t=1755713461; x=1756318261; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Sq16eDaTYQMOn9zzBVLH7MX2YKx+OdDLLiqd/RRx9IE=; b=S0R+J9ioxszKJr5W/BtgJq2Gw7MWtJjLlr2E/46CxnSzN7qKi5gK3Wz8dV18BrHz+L 6U1LGKMwGbpzEI1JWU+6TbIOJBXojcKXK2WPU331gpcGw58XSR2gL0JUoiMKiNJYPxsY x3bgTy0+Exo2MRrVN3ui/SffQS73SV8DiBcnqZxyclMT4J+5TphpQJSZZDBwd2K1fd3J zYBJOfoI0hW+J9WbUE8p86hVaWoGXJRTaYor1NUpHHlExL+o0nztH/w2Fg4PwOdHxpG1 SDvEG2J42ys91ELb3KKjqUktnwuwxGuXZt4UDzDFdKW1qb3QupkrhuWcSUTXWpn8Hz7S 0ixQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755713461; x=1756318261; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Sq16eDaTYQMOn9zzBVLH7MX2YKx+OdDLLiqd/RRx9IE=; b=ZYk9gFMJ6mXY9qLc1PXMg7iQSA6TWPa7ZkqkPIlc8B5nGKeai9YIKLADMg5Mw7prUx MHfHKiLHJrDBDokzfOVvcndhcFUwIogiKGNBJndNsH/qikptQx6PygZgBedZ5twyFZYB EXA1tq7Xiiem5c3sVE9COfkFG3NouHv5e1c2SyUAinjeYr50Z89ODbWVH6mSAWia/NY1 T4aomw40i3TAZFaCKfWmTaed1ccsrsVJfdoIDiZe4tPYI8ODhQyuUOdLnMOSE60cmLOV Z/VtvaUSL4lK2Qir4VT/HnXULVMD++ybF8FUOi6wrjfBLi+qb8+grZp5EJ3IVfSZC9wf e0sA== X-Gm-Message-State: AOJu0YztxxYxMj/X6gPa12GKESYWIakOpxVl3N0M2Dlc4oF+EXrWBSHT YgfDyDagH0aLSMYgCT7he/+X/9MwL/W2nMLqFtEfP8gLWAx0WDox7tyg5im/2yPK2A== X-Gm-Gg: ASbGncupAQGaWl4q5jxvdwIagkQnJ+5/cnBDmCKcOA/w6Up4cDAwEeXFOgh6TJmqzTQ jAFLpi/7mo6k7Zijrc9K4OXm2DfjAdQ3mwzqlDqYYq1Mk2tPy4cmP4O18lWtVqIE4AQ3ckCHL+6 uoZ1Tg4lZfuPilxZPKwQAnvfG1XLih23Y1SRZpLSdgA/d9XzyL7d1nZhEpa73S5yr1qXnVxWNWk ahMQVmePeJAcgiqh8iusAirh2ssxBoV3/2ZBWdBeQijR4QVi028yxRrnTo4h6b6xwQHMO3UlM22 LFgqiXtFOV5FeN7Lut4RBOjJ1wKR9Z+e/dxLJLmALKnVUhkAJ/M13ZLrac2yw6aQPebFicpxmU+ OFjHE94sb4NtHRgUrxS6O+tggRN6UvonqHtlmkJ3pgHV4PUrJwAqQqP+5DXHPqyEWg4Y7kzC4Nm TgR1IkbN3lIbqxDdFIO08wewD/wplqlWh542I= X-Google-Smtp-Source: AGHT+IHxSEMhGEa7cC/Xc549bj9LNnxJcU8yUkf8DRST4/na6Np0IFzpa9wqSwyR96VMC4fVeNSogg== X-Received: by 2002:a05:620a:4550:b0:7e6:20a9:1855 with SMTP id af79cd13be357-7e9fcb7b646mr468924185a.44.1755713461000; Wed, 20 Aug 2025 11:11:01 -0700 (PDT) Received: from jcormier-MS-7A93.syr.criticallink.com (static-72-90-70-109.syrcny.fios.verizon.net. [72.90.70.109]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7e87e076811sm977497485a.36.2025.08.20.11.10.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 11:11:00 -0700 (PDT) From: Jonathan Cormier Date: Wed, 20 Aug 2025 14:10:44 -0400 Subject: [PATCH 1/2] firmware: ti_sci: Add trace events Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250820-linux_master_ti_sci_trace-v1-1-2a69c0abf55e@criticallink.com> References: <20250820-linux_master_ti_sci_trace-v1-0-2a69c0abf55e@criticallink.com> In-Reply-To: <20250820-linux_master_ti_sci_trace-v1-0-2a69c0abf55e@criticallink.com> To: Nishanth Menon , Tero Kristo , Santosh Shilimkar , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Nishanth Menon , Vignesh Raghavendra Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-trace-kernel@vger.kernel.org, Jonathan Cormier X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5565; i=jcormier@criticallink.com; h=from:subject:message-id; bh=etqFjPFs3vp08TxiXSqimCaG1/79A2Or3SQaEf8w0P8=; b=owEBbQKS/ZANAwAKAdzX/S4LNuuqAcsmYgBopg+yRRf9U93bUOX/Qf7T3PjkuKN5XsQfsWGwo rTZnMjw3MSJAjMEAAEKAB0WIQT/MozqCeZtYxNnVN/c1/0uCzbrqgUCaKYPsgAKCRDc1/0uCzbr qi3ED/wO/MtdnWf/w4gZK0rTauaX9xNidQJ8Nh0wJMp4R7fjhHDVutuzdwc/uB/l4tBYhWqTVPc jdB+1F01gq5yrNbMDoXMThfKfDnYPMXDd9kSsQZfdltNysj0Mikkx3T1oKcT6iPYLxC4Box4CAu rimQdnMRcfZ4nQ0Vn76Zd5DrhEUlX3vKOuQuUYqGMmEaXjgcRumaWvNrw9vzoN11/61pz6Cq3Ot kFmDBVaqV+CNLgHQ3j3le0AT/dow+0RKx+NQKp5POFcHcMz4PF/wleJusUhSLxVtdp5ZvQFODVB DJFSYLR38U5mpWhL2414tQuUJvd05VIvDxe6HmSUuZjwnPM7HVschUOzKMU0d4fa47vJiehGq7R JCUxRR7qNNjM7DhMYcM14xh/lXEmwhO6nBizfbhAe1eAt6SskCMNbfHASpsRKIqm4zKAdvFiSVM S9ErQSLc5wHV8C3NTgapXnNb67NnP0TF1t5fgEwKO61ST+Wd/AxdtjMs4NCIySeMG48iv1lfvnS wHvaZjzO66h1UpGLsVINxgUnIXIu49Nnm0BGtZzwK0pfj+xAQ+fgKtKW25uyGxJx32yJ6qvd7qm KbIWdvRorQs/Ehbi+DJxJaSiUzj4A0Qwu5H0x8wgGrc7QvZBcsugzrPJZbv8QIIRRzNA6RMF+t5 h/dEZcJcsgnO17g== X-Developer-Key: i=jcormier@criticallink.com; a=openpgp; fpr=FF328CEA09E66D63136754DFDCD7FD2E0B36EBAA Add TI sci trace events to help to debug and measure the speed of the communication channel. The xfer_begin and xfer_end calls can be used to time how long a transfer takes. The rx_callback and msg_dump trace events help track the data that gets returned. Based on tracing done in ARM SCMI Signed-off-by: Jonathan Cormier --- MAINTAINERS | 1 + drivers/firmware/Makefile | 3 ++ drivers/firmware/ti_sci.c | 11 ++++++ drivers/firmware/ti_sci_trace.h | 87 +++++++++++++++++++++++++++++++++++++= ++++ 4 files changed, 102 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index fad6cb025a1918beec113b576cf28b76151745ef..a6fac706feceedfc5039ec07de9= 54ac35a9af848 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -24631,6 +24631,7 @@ F: drivers/pmdomain/ti/ti_sci_pm_domains.c F: include/dt-bindings/soc/ti,sci_pm_domain.h F: include/linux/soc/ti/ti_sci_inta_msi.h F: include/linux/soc/ti/ti_sci_protocol.h +F: include/trace/events/ti_sci.h =20 TEXAS INSTRUMENTS' TMP117 TEMPERATURE SENSOR DRIVER M: Puranjay Mohan diff --git a/drivers/firmware/Makefile b/drivers/firmware/Makefile index 4ddec2820c96fa9be012e89dac3038968bb67039..a055c53bdfa9e5c64adb4e20a9c= a6c6661d80297 100644 --- a/drivers/firmware/Makefile +++ b/drivers/firmware/Makefile @@ -2,6 +2,9 @@ # # Makefile for the linux kernel. # + +ccflags-y +=3D -I$(src) # needed for trace events + obj-$(CONFIG_ARM_SCPI_PROTOCOL) +=3D arm_scpi.o obj-$(CONFIG_ARM_SDE_INTERFACE) +=3D arm_sdei.o obj-$(CONFIG_DMI) +=3D dmi_scan.o diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c index ae5fd1936ad322e5e3a94897cc042f6548f919e6..87b1330305939bb6b19bbdaa594= b17b266092a34 100644 --- a/drivers/firmware/ti_sci.c +++ b/drivers/firmware/ti_sci.c @@ -127,6 +127,9 @@ struct ti_sci_info { #define cl_to_ti_sci_info(c) container_of(c, struct ti_sci_info, cl) #define handle_to_ti_sci_info(h) container_of(h, struct ti_sci_info, handl= e) =20 +#define CREATE_TRACE_POINTS +#include "ti_sci_trace.h" + #ifdef CONFIG_DEBUG_FS =20 /** @@ -269,6 +272,9 @@ static void ti_sci_rx_callback(struct mbox_client *cl, = void *m) return; } =20 + trace_ti_sci_rx_callback(hdr, 0); + trace_ti_sci_msg_dump(hdr, xfer); + ti_sci_dump_header_dbg(dev, hdr); /* Take a copy to the rx buffer.. */ memcpy(xfer->xfer_buf, mbox_msg->buf, xfer->rx_len); @@ -402,6 +408,9 @@ static inline int ti_sci_do_xfer(struct ti_sci_info *in= fo, int timeout; struct device *dev =3D info->dev; bool done_state =3D true; + struct ti_sci_msg_hdr *hdr =3D (struct ti_sci_msg_hdr *)xfer->tx_message.= buf; + + trace_ti_sci_xfer_begin(hdr, 0); =20 ret =3D mbox_send_message(info->chan_tx, &xfer->tx_message); if (ret < 0) @@ -437,6 +446,8 @@ static inline int ti_sci_do_xfer(struct ti_sci_info *in= fo, */ mbox_client_txdone(info->chan_tx, ret); =20 + trace_ti_sci_xfer_end(hdr, ret); + return ret; } =20 diff --git a/drivers/firmware/ti_sci_trace.h b/drivers/firmware/ti_sci_trac= e.h new file mode 100644 index 0000000000000000000000000000000000000000..7f99c41ea08aec6cf64d601576c= ad29b14c6ad5b --- /dev/null +++ b/drivers/firmware/ti_sci_trace.h @@ -0,0 +1,87 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM ti_sci + +#if !defined(_TRACE_TI_SCI_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_TI_SCI_H + +#include + + +DECLARE_EVENT_CLASS(ti_sci_hdr_event_class, + TP_PROTO(struct ti_sci_msg_hdr *hdr, int status), + TP_ARGS(hdr, status), + + TP_STRUCT__entry( + __field(u16, type) + __field(u8, host) + __field(u8, seq) + __field(u32, flags) + __field(int, status) + ), + + TP_fast_assign( + __entry->type =3D hdr->type; + __entry->host =3D hdr->host; + __entry->seq =3D hdr->seq; + __entry->flags =3D hdr->flags; + __entry->status =3D status; + ), + + TP_printk("type=3D%04X host=3D%02X seq=3D%02X flags=3D%08X status=3D%d", + __entry->type, __entry->host, __entry->seq, __entry->flags, __entry->sta= tus) +); + +DEFINE_EVENT(ti_sci_hdr_event_class, + ti_sci_xfer_begin, + TP_PROTO(struct ti_sci_msg_hdr *hdr, int status), + TP_ARGS(hdr, status) +); + +DEFINE_EVENT(ti_sci_hdr_event_class, + ti_sci_rx_callback, + TP_PROTO(struct ti_sci_msg_hdr *hdr, int status), + TP_ARGS(hdr, status) +); + +DEFINE_EVENT(ti_sci_hdr_event_class, + ti_sci_xfer_end, + TP_PROTO(struct ti_sci_msg_hdr *hdr, int status), + TP_ARGS(hdr, status) +); + + +TRACE_EVENT(ti_sci_msg_dump, + TP_PROTO(struct ti_sci_msg_hdr *hdr, struct ti_sci_xfer *xfer), + TP_ARGS(hdr, xfer), + + TP_STRUCT__entry( + __field(u16, type) + __field(u8, host) + __field(u8, seq) + __field(u32, flags) + __field(size_t, len) + __dynamic_array(unsigned char, cmd, xfer->rx_len) + ), + + TP_fast_assign( + __entry->type =3D hdr->type; + __entry->host =3D hdr->host; + __entry->seq =3D hdr->seq; + __entry->flags =3D hdr->flags; + __entry->len =3D xfer->rx_len; + memcpy(__get_dynamic_array(cmd), xfer->xfer_buf, __entry->len); + ), + + TP_printk("type=3D%04X host=3D%02X seq=3D%02X flags=3D%08X data=3D%s", + __entry->type, __entry->host, __entry->seq, __entry->flags, + __print_hex_str(__get_dynamic_array(cmd), __entry->len)) +); +#endif /* _TRACE_TI_SCI_H */ + +/* This part must be outside protection */ +#undef TRACE_INCLUDE_PATH +#define TRACE_INCLUDE_PATH . +#undef TRACE_INCLUDE_FILE +#define TRACE_INCLUDE_FILE ti_sci_trace +#include --=20 2.43.0 From nobody Sat Oct 4 03:17:49 2025 Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 20E79279334 for ; Wed, 20 Aug 2025 18:11:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755713466; cv=none; b=uUhtyE/rbJ9Q9pbthmXfEbAgGvO/QV/1hXBoOgVjG5mMhC64Sxz4BiLMNWMSvGE73Vk4e9+VpFGqNptzxGipye6zxyz1eaLLU/7XuEVqM6pLWsSiipNlzit/D75qrcCjY24QUu8vOCFjaGzIrvWIG0neLwLUbscVahyBUNJCk+4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755713466; c=relaxed/simple; bh=a5AYMxBqdJDz6gkrxlobXlcTTsJboGuBBxIbO2fep+o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Bctav0KPVSxeVTohnv5ymEEclZYB/uPZPbEm4Xl1GIYWS/D8GlAcOuQQJEjCIAebdS23zyaBnexqMvv+oDDm5RqKxRmbVJ+qU8TKMwpr/34h4wzmR3jRoq7F9FK3Slq+ju06gcQ9AHgbufBLWdwpc+8HNPdxpUNJbwyNI6zXI8A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=criticallink.com; spf=pass smtp.mailfrom=criticallink.com; dkim=pass (2048-bit key) header.d=criticallink.com header.i=@criticallink.com header.b=ScQ5WqDX; arc=none smtp.client-ip=209.85.219.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=criticallink.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=criticallink.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=criticallink.com header.i=@criticallink.com header.b="ScQ5WqDX" Received: by mail-qv1-f54.google.com with SMTP id 6a1803df08f44-70a9f5dfa62so2293486d6.3 for ; Wed, 20 Aug 2025 11:11:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=criticallink.com; s=google; t=1755713463; x=1756318263; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=OEg9IzJfORmEUVVC8tp3QP7XHlH+b0gTJgTrq0ptJu0=; b=ScQ5WqDXI7SNslQQibKXPDO/FwX/9aBx3xSJKPEDx5KdgublIoLF3dT3vmr0ozgTmt n2GaACW9DrM9DUUn3fIpN4vfn1ZjkqshxY8Udjdec9iURh5lMDT70YKxaTq3tYpqcZew a1U5m9AJi6rex4guVIAXBJ3PxNz1FvNy9jQNLflP9km9pr6jQLOgvvK9swyvpBTzgy0n F4f647uYzRZjHrI3Aq6LyAyExv551USMtZrPW1ZCCY3b9WTWbm5ohpcgOULh+kudcNH3 VhZlhUaqtKTeIDvpR7tzTAs86+AHS09FOsddi410hhZZL+rvgb/x0AGfRlHFBPA4i+4Q 4Ziw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755713463; x=1756318263; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OEg9IzJfORmEUVVC8tp3QP7XHlH+b0gTJgTrq0ptJu0=; b=hR03jx9asTFBZ14keoktaTts4jCQzZZUZW5AJvn2qX94/Q+AL44KA0Zaqi7ery/K3k cQfCCSbp1gJhZbz4tJhisRzfwqOzwCmHNv9n6bumyF+R5WO/gvlWQ7VTxsOB7WwWCp/+ 64lJc+uLG1MNwY7S0a2vkx0vrygcvVq2iymR7tiiNV5fXcOeRAoGdr2X6xtukib8nfCe UoiZr7Hj0A6i1De0uZJt5DARamo4VG5SHKchteYOrry7htoJeiNJCQi0hYWlbidJxgHd +YO4388dkhmn7S3H5opwGILdgwiQ38tUwUryLBx0IpuaBLsoGevvD32YBezlT0N27sH4 KMOg== X-Gm-Message-State: AOJu0YwFufcU7LmHe+1U0edJtRXY24NFkA1KvswAK0y1TTozvxMi1UrR iTHp5Y4ItrzvEdpGAO+Cx2uPuQh7we2+gZcNnvmKmerECrnX+ZP6PGcQJp4UpH0iUA== X-Gm-Gg: ASbGncs5iIGE4IKYyPd45bK0ko1obWdgggmVGSFppRQmC8ulgaC9box5va949MXt1Kg yjBcWB5WvML5d5e00iMCABSOUxDEJBvZ0V1HQOdCS9ctbM7Flbj1SZdRx/CXtYG3dLsYAuLE0pe stciZl6vgNTwgEyW4NKIOdI/34FCassdv+wpDnLJRW7berrKB9rS+D4Z9PZol5WOQqldOz0l+lx q4D48JLzhElhYHMJh0h/mIsYsSSVk+dz6nB5AzHq1BhB4t2EjwVj2LqdVQJ43A2I45fZLZAMtTD ayV76iZRIwlOUTl2dYlzrGsNyr95Stx1i8xBj6d2aY8Cwx2v8sGkK5UPKPyL2i4+Ns/4T9Ho3Am C8fH5n0alRk59EhwacxvMkxdTIqI0BPn4mwPwgI39hEX7UYf8iqq1B2kyHzPcjULGxKz2JfY0DW iYhYeTeIAqvLzMmlBs+1Ajla4UURo8NSZ7sYJwMqMCTAvzXg== X-Google-Smtp-Source: AGHT+IEhwtbBn17CFSkW+x+E31JWfVdYnrpp1FxIk0F5/CAtt0bQ5xc/VvPHKPM3nmoyKj+xtB3uWQ== X-Received: by 2002:a05:6214:d83:b0:707:6665:eb67 with SMTP id 6a1803df08f44-70d76fe0302mr39522186d6.27.1755713462700; Wed, 20 Aug 2025 11:11:02 -0700 (PDT) Received: from jcormier-MS-7A93.syr.criticallink.com (static-72-90-70-109.syrcny.fios.verizon.net. [72.90.70.109]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7e87e076811sm977497485a.36.2025.08.20.11.11.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 11:11:01 -0700 (PDT) From: Jonathan Cormier Date: Wed, 20 Aug 2025 14:10:45 -0400 Subject: [PATCH 2/2] firmware: ti_sci: trace: Decode message types Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250820-linux_master_ti_sci_trace-v1-2-2a69c0abf55e@criticallink.com> References: <20250820-linux_master_ti_sci_trace-v1-0-2a69c0abf55e@criticallink.com> In-Reply-To: <20250820-linux_master_ti_sci_trace-v1-0-2a69c0abf55e@criticallink.com> To: Nishanth Menon , Tero Kristo , Santosh Shilimkar , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Nishanth Menon , Vignesh Raghavendra Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-trace-kernel@vger.kernel.org, Jonathan Cormier X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4840; i=jcormier@criticallink.com; h=from:subject:message-id; bh=a5AYMxBqdJDz6gkrxlobXlcTTsJboGuBBxIbO2fep+o=; b=owEBbQKS/ZANAwAKAdzX/S4LNuuqAcsmYgBopg+y65DfxJcmBr7YNYJ54nyOqO3l3NJUMUR7E KADuw/pnDiJAjMEAAEKAB0WIQT/MozqCeZtYxNnVN/c1/0uCzbrqgUCaKYPsgAKCRDc1/0uCzbr qnB4D/0TzDsPJ7lRUNl2m1uohyDVNtltT1shOqGDs66CxsyOs6kuIzGUc+yEVSIhPMrkY1iKD8X G+heAKTVSssyrwBiEWItF318NblLONNj9uU8OPndwP39HMJgcPbC/9J3Gvr6S6B3SSsHSST4Svr CaVqCfxh+CNuVrnH2cM/MuNIG0yigWUZS5BkV88qdqG3xVykc91T769HPEqXkCuTc9Qn5SD1VXG T5A0FziX8wFILfXfBXLNztp2+jR5s2f89oYVQFyzZ9+xDLgIQKjIgEFm3sLLy4K1cBJOPjmFdPh g6dcdaNOX6fbRLAlBKebIXRn5xcDieK8IbY9NWRuIND9wrWTCRTBt8zyEJZXgmJpBpmwPEFavm/ uLsyVSE1DJbQi+AQhzf0aghepy1gqWntTK88OXH4hgUeAN2ON8LsHcZOK+665FmZwuWrdbwHGpQ Q0VoETLzgwZdVkJ0BnYIlgIF5KTJ92rXaFJANPVsRbQGWHJvi6GJeFq3tdx9TkM9JvXgrAT6IhU hzfoGW3GvHCMmATRgHFiQeKyymbsD3sCoZEuvZ7nv5xq5eGNJdlc3MAtFsXh6Mig7EiUfWLDdsQ CNwsna+Yv4mGWYItziGkFwyXbqg6VR3rz7ddrJ+DQsUzrXNTK6ZuXPNnQqTtWV/4f0WXjSRbKT6 UMSvOKeRXSdKAkQ== X-Developer-Key: i=jcormier@criticallink.com; a=openpgp; fpr=FF328CEA09E66D63136754DFDCD7FD2E0B36EBAA Make debugging easier by decoding the ti_sci message types Signed-off-by: Jonathan Cormier --- drivers/firmware/ti_sci_trace.h | 69 +++++++++++++++++++++++++++++++++++++= +--- 1 file changed, 64 insertions(+), 5 deletions(-) diff --git a/drivers/firmware/ti_sci_trace.h b/drivers/firmware/ti_sci_trac= e.h index 7f99c41ea08aec6cf64d601576cad29b14c6ad5b..88a159e13907d7d7806b312a2ad= 3103c106d1972 100644 --- a/drivers/firmware/ti_sci_trace.h +++ b/drivers/firmware/ti_sci_trace.h @@ -7,6 +7,63 @@ =20 #include =20 +#define show_ti_sci_msg_type(x) \ + __print_symbolic(x, \ + { TI_SCI_MSG_ENABLE_WDT, "ENABLE_WDT" }, \ + { TI_SCI_MSG_WAKE_RESET, "WAKE_RESET" }, \ + { TI_SCI_MSG_VERSION, "VERSION" }, \ + { TI_SCI_MSG_WAKE_REASON, "WAKE_REASON" }, \ + { TI_SCI_MSG_GOODBYE, "GOODBYE" }, \ + { TI_SCI_MSG_SYS_RESET, "SYS_RESET" }, \ + { TI_SCI_MSG_QUERY_FW_CAPS, "QUERY_FW_CAPS" }, \ + { TI_SCI_MSG_SET_DEVICE_STATE, "SET_DEVICE_STATE" }, \ + { TI_SCI_MSG_GET_DEVICE_STATE, "GET_DEVICE_STATE" }, \ + { TI_SCI_MSG_SET_DEVICE_RESETS, "SET_DEVICE_RESETS" }, \ + { TI_SCI_MSG_SET_CLOCK_STATE, "SET_CLOCK_STATE" }, \ + { TI_SCI_MSG_GET_CLOCK_STATE, "GET_CLOCK_STATE" }, \ + { TI_SCI_MSG_SET_CLOCK_PARENT, "SET_CLOCK_PARENT" }, \ + { TI_SCI_MSG_GET_CLOCK_PARENT, "GET_CLOCK_PARENT" }, \ + { TI_SCI_MSG_GET_NUM_CLOCK_PARENTS, "GET_NUM_CLOCK_PARENTS" }, \ + { TI_SCI_MSG_SET_CLOCK_FREQ, "SET_CLOCK_FREQ" }, \ + { TI_SCI_MSG_QUERY_CLOCK_FREQ, "QUERY_CLOCK_FREQ" }, \ + { TI_SCI_MSG_GET_CLOCK_FREQ, "GET_CLOCK_FREQ" }, \ + { TI_SCI_MSG_PREPARE_SLEEP, "PREPARE_SLEEP" }, \ + { TI_SCI_MSG_LPM_WAKE_REASON, "LPM_WAKE_REASON" }, \ + { TI_SCI_MSG_SET_IO_ISOLATION, "SET_IO_ISOLATION" }, \ + { TI_SCI_MSG_LPM_SET_DEVICE_CONSTRAINT, "LPM_SET_DEVICE_CONSTRAINT" }, \ + { TI_SCI_MSG_LPM_SET_LATENCY_CONSTRAINT, "LPM_SET_LATENCY_CONSTRAINT" },= \ + { TI_SCI_MSG_GET_RESOURCE_RANGE, "GET_RESOURCE_RANGE" }, \ + { TI_SCI_MSG_SET_IRQ, "SET_IRQ" }, \ + { TI_SCI_MSG_FREE_IRQ, "FREE_IRQ" }, \ + { TI_SCI_MSG_RM_RING_ALLOCATE, "RM_RING_ALLOCATE" }, \ + { TI_SCI_MSG_RM_RING_FREE, "RM_RING_FREE" }, \ + { TI_SCI_MSG_RM_RING_RECONFIG, "RM_RING_RECONFIG" }, \ + { TI_SCI_MSG_RM_RING_RESET, "RM_RING_RESET" }, \ + { TI_SCI_MSG_RM_RING_CFG, "RM_RING_CFG" }, \ + { TI_SCI_MSG_RM_PSIL_PAIR, "RM_PSIL_PAIR" }, \ + { TI_SCI_MSG_RM_PSIL_UNPAIR, "RM_PSIL_UNPAIR" }, \ + { TI_SCI_MSG_RM_UDMAP_TX_ALLOC, "RM_UDMAP_TX_ALLOC" }, \ + { TI_SCI_MSG_RM_UDMAP_TX_FREE, "RM_UDMAP_TX_FREE" }, \ + { TI_SCI_MSG_RM_UDMAP_RX_ALLOC, "RM_UDMAP_RX_ALLOC" }, \ + { TI_SCI_MSG_RM_UDMAP_RX_FREE, "RM_UDMAP_RX_FREE" }, \ + { TI_SCI_MSG_RM_UDMAP_FLOW_CFG, "RM_UDMAP_FLOW_CFG" }, \ + { TI_SCI_MSG_RM_UDMAP_OPT_FLOW_CFG, "RM_UDMAP_OPT_FLOW_CFG" }, \ + { TISCI_MSG_RM_UDMAP_TX_CH_CFG, "RM_UDMAP_TX_CH_CFG" }, \ + { TISCI_MSG_RM_UDMAP_TX_CH_GET_CFG, "RM_UDMAP_TX_CH_GET_CFG" }, \ + { TISCI_MSG_RM_UDMAP_RX_CH_CFG, "RM_UDMAP_RX_CH_CFG" }, \ + { TISCI_MSG_RM_UDMAP_RX_CH_GET_CFG, "RM_UDMAP_RX_CH_GET_CFG" }, \ + { TISCI_MSG_RM_UDMAP_FLOW_CFG, "RM_UDMAP_FLOW_CFG" }, \ + { TISCI_MSG_RM_UDMAP_FLOW_SIZE_THRESH_CFG, "RM_UDMAP_FLOW_SIZE_THRESH_CF= G" }, \ + { TISCI_MSG_RM_UDMAP_FLOW_GET_CFG, "RM_UDMAP_FLOW_GET_CFG" }, \ + { TISCI_MSG_RM_UDMAP_FLOW_SIZE_THRESH_GET_CFG, "RM_UDMAP_FLOW_SIZE_THRES= H_GET_CFG" }, \ + { TI_SCI_MSG_PROC_REQUEST, "PROC_REQUEST" }, \ + { TI_SCI_MSG_PROC_RELEASE, "PROC_RELEASE" }, \ + { TI_SCI_MSG_PROC_HANDOVER, "PROC_HANDOVER" }, \ + { TI_SCI_MSG_SET_CONFIG, "SET_CONFIG" }, \ + { TI_SCI_MSG_SET_CTRL, "SET_CTRL" }, \ + { TI_SCI_MSG_GET_STATUS, "GET_STATUS" } \ + ) + =20 DECLARE_EVENT_CLASS(ti_sci_hdr_event_class, TP_PROTO(struct ti_sci_msg_hdr *hdr, int status), @@ -28,8 +85,9 @@ DECLARE_EVENT_CLASS(ti_sci_hdr_event_class, __entry->status =3D status; ), =20 - TP_printk("type=3D%04X host=3D%02X seq=3D%02X flags=3D%08X status=3D%d", - __entry->type, __entry->host, __entry->seq, __entry->flags, __entry->sta= tus) + TP_printk("type=3D%s host=3D%02X seq=3D%02X flags=3D%08X status=3D%d", + show_ti_sci_msg_type(__entry->type), __entry->host, + __entry->seq, __entry->flags, __entry->status) ); =20 DEFINE_EVENT(ti_sci_hdr_event_class, @@ -73,9 +131,10 @@ TRACE_EVENT(ti_sci_msg_dump, memcpy(__get_dynamic_array(cmd), xfer->xfer_buf, __entry->len); ), =20 - TP_printk("type=3D%04X host=3D%02X seq=3D%02X flags=3D%08X data=3D%s", - __entry->type, __entry->host, __entry->seq, __entry->flags, - __print_hex_str(__get_dynamic_array(cmd), __entry->len)) + TP_printk("type=3D%s host=3D%02X seq=3D%02X flags=3D%08X data=3D%s", + show_ti_sci_msg_type(__entry->type), __entry->host, + __entry->seq, __entry->flags, + __print_hex(__get_dynamic_array(cmd), __entry->len)) ); #endif /* _TRACE_TI_SCI_H */ =20 --=20 2.43.0