linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] ath10k: Add tracing for tx and rx frames
@ 2014-10-06 13:27 Rajkumar Manoharan
  2014-10-06 13:27 ` [PATCH 1/4] ath10k: add tracepoint for wmi mgmt tx frames Rajkumar Manoharan
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Rajkumar Manoharan @ 2014-10-06 13:27 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Rajkumar Manoharan

These changes are the extension of pktlog for dumping tx and rx
frames to user space. I am rebasing Michal's work on top of pktlog.

-Rajkumar

Michal Kazior (3):
  ath10k: add tracepoint for wmi mgmt tx frames
  ath10k: add tracepoint for wmi bcn tx
  ath10k: add htt rx tracepoints

Rajkumar Manoharan (1):
  ath10k: add tracepoint for htt tx frames

 drivers/net/wireless/ath/ath10k/htt_rx.c |  3 +
 drivers/net/wireless/ath/ath10k/htt_tx.c |  3 +-
 drivers/net/wireless/ath/ath10k/trace.h  | 94 ++++++++++++++++++++++++++++++--
 drivers/net/wireless/ath/ath10k/wmi.c    |  2 +
 4 files changed, 97 insertions(+), 5 deletions(-)

-- 
2.1.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/4] ath10k: add tracepoint for wmi mgmt tx frames
  2014-10-06 13:27 [PATCH 0/4] ath10k: Add tracing for tx and rx frames Rajkumar Manoharan
@ 2014-10-06 13:27 ` Rajkumar Manoharan
  2014-10-06 13:27 ` [PATCH 2/4] ath10k: add tracepoint for wmi bcn tx Rajkumar Manoharan
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Rajkumar Manoharan @ 2014-10-06 13:27 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Michal Kazior

From: Michal Kazior <michal.kazior@tieto.com>

Although frame contents were printed via dbg_dump
already it was not possible to easily filter them
out for processing.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
---
 drivers/net/wireless/ath/ath10k/trace.h | 27 +++++++++++++++++++++++++++
 drivers/net/wireless/ath/ath10k/wmi.c   |  1 +
 2 files changed, 28 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/trace.h b/drivers/net/wireless/ath/ath10k/trace.h
index 33b9bf4..04236d6 100644
--- a/drivers/net/wireless/ath/ath10k/trace.h
+++ b/drivers/net/wireless/ath/ath10k/trace.h
@@ -370,6 +370,33 @@ TRACE_EVENT(ath10k_txrx_tx_unref,
 		__entry->msdu_id
 	 )
 );
+
+TRACE_EVENT(ath10k_wmi_mgmt_tx,
+	    TP_PROTO(struct ath10k *ar, void *data, size_t len),
+
+	TP_ARGS(ar, data, len),
+
+	TP_STRUCT__entry(
+		__string(device, dev_name(ar->dev))
+		__string(driver, dev_driver_string(ar->dev))
+		__field(size_t, len)
+		__dynamic_array(u8, data, len)
+	),
+
+	TP_fast_assign(
+		__assign_str(device, dev_name(ar->dev));
+		__assign_str(driver, dev_driver_string(ar->dev));
+		__entry->len = len;
+		memcpy(__get_dynamic_array(data), data, len);
+	),
+
+	TP_printk(
+		"%s %s len %zu\n",
+		__get_str(driver),
+		__get_str(device),
+		__entry->len
+	)
+);
 #endif /* _TRACE_H_ || TRACE_HEADER_MULTI_READ*/
 
 /* we don't want to use include/trace/events */
diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
index c145b98..6cf4bfc 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -834,6 +834,7 @@ int ath10k_wmi_mgmt_tx(struct ath10k *ar, struct sk_buff *skb)
 	ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi mgmt tx skb %p len %d ftype %02x stype %02x\n",
 		   wmi_skb, wmi_skb->len, fc & IEEE80211_FCTL_FTYPE,
 		   fc & IEEE80211_FCTL_STYPE);
+	trace_ath10k_wmi_mgmt_tx(ar, skb->data, skb->len);
 
 	/* Send the management frame buffer to the target */
 	ret = ath10k_wmi_cmd_send(ar, wmi_skb, ar->wmi.cmd->mgmt_tx_cmdid);
-- 
2.1.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/4] ath10k: add tracepoint for wmi bcn tx
  2014-10-06 13:27 [PATCH 0/4] ath10k: Add tracing for tx and rx frames Rajkumar Manoharan
  2014-10-06 13:27 ` [PATCH 1/4] ath10k: add tracepoint for wmi mgmt tx frames Rajkumar Manoharan
@ 2014-10-06 13:27 ` Rajkumar Manoharan
  2014-10-06 13:27 ` [PATCH 3/4] ath10k: add htt rx tracepoints Rajkumar Manoharan
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Rajkumar Manoharan @ 2014-10-06 13:27 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Michal Kazior

From: Michal Kazior <michal.kazior@tieto.com>

Allows an easier beacon inspection/debugging.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
---
 drivers/net/wireless/ath/ath10k/trace.h | 27 +++++++++++++++++++++++++++
 drivers/net/wireless/ath/ath10k/wmi.c   |  1 +
 2 files changed, 28 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/trace.h b/drivers/net/wireless/ath/ath10k/trace.h
index 04236d6..c074de0 100644
--- a/drivers/net/wireless/ath/ath10k/trace.h
+++ b/drivers/net/wireless/ath/ath10k/trace.h
@@ -397,6 +397,33 @@ TRACE_EVENT(ath10k_wmi_mgmt_tx,
 		__entry->len
 	)
 );
+
+TRACE_EVENT(ath10k_wmi_bcn_tx,
+	    TP_PROTO(struct ath10k *ar, void *data, size_t len),
+
+	TP_ARGS(ar, data, len),
+
+	TP_STRUCT__entry(
+		__string(device, dev_name(ar->dev))
+		__string(driver, dev_driver_string(ar->dev))
+		__field(size_t, len)
+		__dynamic_array(u8, data, len)
+	),
+
+	TP_fast_assign(
+		__assign_str(device, dev_name(ar->dev));
+		__assign_str(driver, dev_driver_string(ar->dev));
+		__entry->len = len;
+		memcpy(__get_dynamic_array(data), data, len);
+	),
+
+	TP_printk(
+		"%s %s len %zu\n",
+		__get_str(driver),
+		__get_str(device),
+		__entry->len
+	)
+);
 #endif /* _TRACE_H_ || TRACE_HEADER_MULTI_READ*/
 
 /* we don't want to use include/trace/events */
diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
index 6cf4bfc..54042bf 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -1893,6 +1893,7 @@ static void ath10k_wmi_event_host_swba(struct ath10k *ar, struct sk_buff *skb)
 		arvif->beacon = bcn;
 		arvif->beacon_sent = false;
 
+		trace_ath10k_wmi_bcn_tx(ar, bcn->data, bcn->len);
 		ath10k_wmi_tx_beacon_nowait(arvif);
 skip:
 		spin_unlock_bh(&ar->data_lock);
-- 
2.1.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/4] ath10k: add htt rx tracepoints
  2014-10-06 13:27 [PATCH 0/4] ath10k: Add tracing for tx and rx frames Rajkumar Manoharan
  2014-10-06 13:27 ` [PATCH 1/4] ath10k: add tracepoint for wmi mgmt tx frames Rajkumar Manoharan
  2014-10-06 13:27 ` [PATCH 2/4] ath10k: add tracepoint for wmi bcn tx Rajkumar Manoharan
@ 2014-10-06 13:27 ` Rajkumar Manoharan
  2014-10-06 13:27 ` [PATCH 4/4] ath10k: add tracepoint for htt tx frames Rajkumar Manoharan
  2014-10-06 13:36 ` [PATCH 0/4] ath10k: Add tracing for tx and rx frames Sujith Manoharan
  4 siblings, 0 replies; 7+ messages in thread
From: Rajkumar Manoharan @ 2014-10-06 13:27 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Michal Kazior

From: Michal Kazior <michal.kazior@tieto.com>

Although frame contents were printed via dbg_dump
already it was not possible to easily filter them
out for processing.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
---
 drivers/net/wireless/ath/ath10k/htt_rx.c |  3 +++
 drivers/net/wireless/ath/ath10k/trace.h  | 27 +++++++++++++++++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c
index 7add88e..4dbb2dd 100644
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -291,6 +291,9 @@ static inline struct sk_buff *ath10k_htt_rx_netbuf_pop(struct ath10k_htt *htt)
 	htt->rx_ring.sw_rd_idx.msdu_payld = idx;
 	htt->rx_ring.fill_cnt--;
 
+	trace_ath10k_htt_rx_pop_msdu(ar, msdu->data, msdu->len +
+				     skb_tailroom(msdu));
+
 	return msdu;
 }
 
diff --git a/drivers/net/wireless/ath/ath10k/trace.h b/drivers/net/wireless/ath/ath10k/trace.h
index c074de0..6d39055 100644
--- a/drivers/net/wireless/ath/ath10k/trace.h
+++ b/drivers/net/wireless/ath/ath10k/trace.h
@@ -424,6 +424,33 @@ TRACE_EVENT(ath10k_wmi_bcn_tx,
 		__entry->len
 	)
 );
+
+TRACE_EVENT(ath10k_htt_rx_pop_msdu,
+	    TP_PROTO(struct ath10k *ar, void *data, size_t len),
+
+	TP_ARGS(ar, data, len),
+
+	TP_STRUCT__entry(
+		__string(device, dev_name(ar->dev))
+		__string(driver, dev_driver_string(ar->dev))
+		__field(size_t, len)
+		__dynamic_array(u8, data, len)
+	),
+
+	TP_fast_assign(
+		__assign_str(device, dev_name(ar->dev));
+		__assign_str(driver, dev_driver_string(ar->dev));
+		__entry->len = len;
+		memcpy(__get_dynamic_array(data), data, len);
+	),
+
+	TP_printk(
+		"%s %s len %zu\n",
+		__get_str(driver),
+		__get_str(device),
+		__entry->len
+	)
+);
 #endif /* _TRACE_H_ || TRACE_HEADER_MULTI_READ*/
 
 /* we don't want to use include/trace/events */
-- 
2.1.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/4] ath10k: add tracepoint for htt tx frames
  2014-10-06 13:27 [PATCH 0/4] ath10k: Add tracing for tx and rx frames Rajkumar Manoharan
                   ` (2 preceding siblings ...)
  2014-10-06 13:27 ` [PATCH 3/4] ath10k: add htt rx tracepoints Rajkumar Manoharan
@ 2014-10-06 13:27 ` Rajkumar Manoharan
  2014-10-06 13:36 ` [PATCH 0/4] ath10k: Add tracing for tx and rx frames Sujith Manoharan
  4 siblings, 0 replies; 7+ messages in thread
From: Rajkumar Manoharan @ 2014-10-06 13:27 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Rajkumar Manoharan, Michal Kazior

Although frame contents were printed via dbg_dump
already it was not possible to easily filter them
out for processing.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
---
 drivers/net/wireless/ath/ath10k/htt_tx.c |  3 ++-
 drivers/net/wireless/ath/ath10k/trace.h  | 13 +++++++++----
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c
index fdfb171..9621b62 100644
--- a/drivers/net/wireless/ath/ath10k/htt_tx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_tx.c
@@ -557,7 +557,8 @@ int ath10k_htt_tx(struct ath10k_htt *htt, struct sk_buff *msdu)
 	skb_cb->htt.txbuf->cmd_tx.frags_paddr = __cpu_to_le32(frags_paddr);
 	skb_cb->htt.txbuf->cmd_tx.peerid = __cpu_to_le32(HTT_INVALID_PEERID);
 
-	trace_ath10k_htt_tx(ar, msdu_id, msdu->len, vdev_id, tid);
+	trace_ath10k_htt_tx(ar, msdu_id, msdu->len, vdev_id, tid,
+			    msdu->data, msdu->len);
 	ath10k_dbg(ar, ATH10K_DBG_HTT,
 		   "htt tx flags0 %hhu flags1 %hu len %d id %hu frags_paddr %08x, msdu_paddr %08x vdev %hhu tid %hhu\n",
 		   flags0, flags1, msdu->len, msdu_id, frags_paddr,
diff --git a/drivers/net/wireless/ath/ath10k/trace.h b/drivers/net/wireless/ath/ath10k/trace.h
index 6d39055..1747534 100644
--- a/drivers/net/wireless/ath/ath10k/trace.h
+++ b/drivers/net/wireless/ath/ath10k/trace.h
@@ -313,9 +313,9 @@ TRACE_EVENT(ath10k_htt_rx_desc,
 
 TRACE_EVENT(ath10k_htt_tx,
 	    TP_PROTO(struct ath10k *ar, u16 msdu_id, u16 msdu_len,
-		     u8 vdev_id, u8 tid),
+		     u8 vdev_id, u8 tid, void *data, size_t len),
 
-	TP_ARGS(ar, msdu_id, msdu_len, vdev_id, tid),
+	TP_ARGS(ar, msdu_id, msdu_len, vdev_id, tid, data, len),
 
 	TP_STRUCT__entry(
 		__string(device, dev_name(ar->dev))
@@ -324,6 +324,8 @@ TRACE_EVENT(ath10k_htt_tx,
 		__field(u16, msdu_len)
 		__field(u8, vdev_id)
 		__field(u8, tid)
+		__field(size_t, len)
+		__dynamic_array(u8, data, len)
 	),
 
 	TP_fast_assign(
@@ -333,16 +335,19 @@ TRACE_EVENT(ath10k_htt_tx,
 		__entry->msdu_len = msdu_len;
 		__entry->vdev_id = vdev_id;
 		__entry->tid = tid;
+		__entry->len = len;
+		memcpy(__get_dynamic_array(data), data, len);
 	),
 
 	TP_printk(
-		"%s %s msdu_id %d msdu_len %d vdev_id %d tid %d",
+		"%s %s msdu_id %d msdu_len %d vdev_id %d tid %d len %zu",
 		__get_str(driver),
 		__get_str(device),
 		__entry->msdu_id,
 		__entry->msdu_len,
 		__entry->vdev_id,
-		__entry->tid
+		__entry->tid,
+		__entry->len
 	 )
 );
 
-- 
2.1.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/4] ath10k: Add tracing for tx and rx frames
  2014-10-06 13:27 [PATCH 0/4] ath10k: Add tracing for tx and rx frames Rajkumar Manoharan
                   ` (3 preceding siblings ...)
  2014-10-06 13:27 ` [PATCH 4/4] ath10k: add tracepoint for htt tx frames Rajkumar Manoharan
@ 2014-10-06 13:36 ` Sujith Manoharan
  2014-10-06 16:47   ` Rajkumar Manoharan
  4 siblings, 1 reply; 7+ messages in thread
From: Sujith Manoharan @ 2014-10-06 13:36 UTC (permalink / raw)
  To: Rajkumar Manoharan; +Cc: ath10k, linux-wireless

Rajkumar Manoharan wrote:
> These changes are the extension of pktlog for dumping tx and rx
> frames to user space. I am rebasing Michal's work on top of pktlog.
> 
> -Rajkumar
> 
> Michal Kazior (3):
>   ath10k: add tracepoint for wmi mgmt tx frames
>   ath10k: add tracepoint for wmi bcn tx
>   ath10k: add htt rx tracepoints

These tracepoints look really similar, maybe you can
group them into an event class.

Sujith

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/4] ath10k: Add tracing for tx and rx frames
  2014-10-06 13:36 ` [PATCH 0/4] ath10k: Add tracing for tx and rx frames Sujith Manoharan
@ 2014-10-06 16:47   ` Rajkumar Manoharan
  0 siblings, 0 replies; 7+ messages in thread
From: Rajkumar Manoharan @ 2014-10-06 16:47 UTC (permalink / raw)
  To: Sujith Manoharan; +Cc: ath10k, linux-wireless

On Mon, Oct 06, 2014 at 07:06:13PM +0530, Sujith Manoharan wrote:
> Rajkumar Manoharan wrote:
> > These changes are the extension of pktlog for dumping tx and rx
> > frames to user space. I am rebasing Michal's work on top of pktlog.
> > 
> > -Rajkumar
> > 
> > Michal Kazior (3):
> >   ath10k: add tracepoint for wmi mgmt tx frames
> >   ath10k: add tracepoint for wmi bcn tx
> >   ath10k: add htt rx tracepoints
> 
> These tracepoints look really similar, maybe you can
> group them into an event class.
>
Nice catch. Will send updated patches.

-Rajkumar

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-10-06 16:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-06 13:27 [PATCH 0/4] ath10k: Add tracing for tx and rx frames Rajkumar Manoharan
2014-10-06 13:27 ` [PATCH 1/4] ath10k: add tracepoint for wmi mgmt tx frames Rajkumar Manoharan
2014-10-06 13:27 ` [PATCH 2/4] ath10k: add tracepoint for wmi bcn tx Rajkumar Manoharan
2014-10-06 13:27 ` [PATCH 3/4] ath10k: add htt rx tracepoints Rajkumar Manoharan
2014-10-06 13:27 ` [PATCH 4/4] ath10k: add tracepoint for htt tx frames Rajkumar Manoharan
2014-10-06 13:36 ` [PATCH 0/4] ath10k: Add tracing for tx and rx frames Sujith Manoharan
2014-10-06 16:47   ` Rajkumar Manoharan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).