From 073685cd4311982603d7e5aa94e056b1c962c799 Mon Sep 17 00:00:00 2001 From: Ashok Vuyyuru Date: Mon, 22 Mar 2021 14:05:53 +0530 Subject: [PATCH] msm: ipa3: Adding trace in lan path Adding trace in lan path. Change-Id: I633ab398c57ff84513db55d9e4fb8046d312febf Signed-off-by: Ashok Vuyyuru --- drivers/platform/msm/ipa/ipa_v3/ipa_dp.c | 9 ++- drivers/platform/msm/ipa/ipa_v3/ipa_trace.h | 88 ++++++++++++++++++++- 2 files changed, 92 insertions(+), 5 deletions(-) diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_dp.c b/drivers/platform/msm/ipa/ipa_v3/ipa_dp.c index b2b1903f7ac9..dd32f95b068d 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_dp.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_dp.c @@ -2878,7 +2878,7 @@ static int ipa3_lan_rx_pyld_hdlr(struct sk_buff *skb, unsigned long ptr; IPA_DUMP_BUFF(skb->data, 0, skb->len); - + trace_ipa3_lan_rx_pyld_hdlr_entry(skb,sys->ep->client); if (skb->len == 0) { IPAERR("ZLT packet arrived to AP\n"); goto out; @@ -3160,6 +3160,7 @@ begin: out: ipa3_skb_recycle(skb); + trace_ipa3_lan_rx_pyld_hdlr_exit(sys->ep->client); return 0; } @@ -3426,6 +3427,7 @@ void ipa3_lan_rx_cb(void *priv, enum ipa_dp_evt_type evt, unsigned long data) void *client_priv; ipahal_pkt_status_parse_thin(rx_skb->data, &status); + trace_ipa3_lan_rx_cb_entry(status.endp_src_idx); src_pipe = status.endp_src_idx; metadata = status.metadata; ucp = status.ucp; @@ -3467,6 +3469,7 @@ void ipa3_lan_rx_cb(void *priv, enum ipa_dp_evt_type evt, unsigned long data) dev_kfree_skb_any(rx_skb); } + trace_ipa3_lan_rx_cb_exit(status.endp_src_idx); } static void ipa3_recycle_rx_wrapper(struct ipa3_rx_pkt_wrapper *rx_pkt) @@ -5239,6 +5242,7 @@ int ipa3_lan_rx_poll(u32 clnt_hdl, int weight) return cnt; } ep = &ipa3_ctx->ep[clnt_hdl]; + trace_ipa3_napi_poll_entry(ep->client); start_poll: /* @@ -5278,6 +5282,7 @@ start_poll: IPA_ACTIVE_CLIENTS_DEC_EP_NO_BLOCK(ep->client); } + trace_ipa3_napi_poll_exit(ep->client, cnt, ep->sys->len); return cnt; } @@ -5380,7 +5385,7 @@ start_poll: IPADBG_LOW("Client = %d not replenished free descripotrs\n", ep->client); } - trace_ipa3_napi_poll_exit(ep->client); + trace_ipa3_napi_poll_exit(ep->client, cnt, ep->sys->len); return cnt; } diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_trace.h b/drivers/platform/msm/ipa/ipa_v3/ipa_trace.h index e83e48251981..bbb8b78d66da 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_trace.h +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_trace.h @@ -230,19 +230,23 @@ TRACE_EVENT( TRACE_EVENT( ipa3_napi_poll_exit, - TP_PROTO(unsigned long client), + TP_PROTO(unsigned long client, u32 cnt, u32 len), - TP_ARGS(client), + TP_ARGS(client, cnt, len), TP_STRUCT__entry( __field(unsigned long, client) + __field(unsigned int, cnt) + __field(unsigned int, len) ), TP_fast_assign( __entry->client = client; + __entry->cnt = cnt; + __entry->len = len; ), - TP_printk("client=%lu", __entry->client) + TP_printk("client=%lu napi weight cnt = %d sys->len = %d", __entry->client, __entry->cnt, __entry->len) ); TRACE_EVENT( @@ -297,6 +301,84 @@ TRACE_EVENT( TP_printk("client=%lu", __entry->client) ); +TRACE_EVENT( + ipa3_lan_rx_pyld_hdlr_entry, + + TP_PROTO(const struct sk_buff *skb, unsigned long client), + + TP_ARGS(skb, client), + + TP_STRUCT__entry( + __field(unsigned int, len) + __field(unsigned int, data_len) + __field(unsigned long, client) + ), + + TP_fast_assign( + __entry->len = skb->len; + __entry->data_len = skb->data_len; + __entry->client = client; + ), + + TP_printk("len=%u data_len=%u client=%lu", + __entry->len, + __entry->data_len, + __entry->client) +); + +TRACE_EVENT( + ipa3_lan_rx_pyld_hdlr_exit, + + TP_PROTO(unsigned long client), + + TP_ARGS(client), + + TP_STRUCT__entry( + __field(unsigned long, client) + ), + + TP_fast_assign( + __entry->client = client; + ), + + TP_printk("client=%lu", __entry->client) +); + +TRACE_EVENT( + ipa3_lan_rx_cb_entry, + + TP_PROTO(unsigned long client), + + TP_ARGS(client), + + TP_STRUCT__entry( + __field(unsigned long, client) + ), + + TP_fast_assign( + __entry->client = client; + ), + + TP_printk("client=%lu", __entry->client) +); + +TRACE_EVENT( + ipa3_lan_rx_cb_exit, + + TP_PROTO(unsigned long client), + + TP_ARGS(client), + + TP_STRUCT__entry( + __field(unsigned long, client) + ), + + TP_fast_assign( + __entry->client = client; + ), + + TP_printk("client=%lu", __entry->client) +); #endif /* _IPA_TRACE_H */ /* This part must be outside protection */