Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b04e204f authored by Michal Kazior's avatar Michal Kazior Committed by Kalle Valo
Browse files

ath10k: remove tsf argument from rx_desc tracing



Fundamentally this was wrong. Tsf is only valid
in last MPDU of a PPDU. This means tsf value was
wrong most of the time during heavy traffic.

Also I don't see much point in exposing a
redundant (and broken) tsf value. Userspace can
already read it from the dumped rx descriptor
buffer.

Cc: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 51fc7d74
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -325,7 +325,6 @@ static int ath10k_htt_rx_amsdu_pop(struct ath10k_htt *htt,
	int msdu_len, msdu_chaining = 0;
	struct sk_buff *msdu, *next;
	struct htt_rx_desc *rx_desc;
	u32 tsf;

	lockdep_assert_held(&htt->rx_ring.lock);

@@ -449,8 +448,7 @@ static int ath10k_htt_rx_amsdu_pop(struct ath10k_htt *htt,
		last_msdu = __le32_to_cpu(rx_desc->msdu_end.info0) &
				RX_MSDU_END_INFO0_LAST_MSDU;

		tsf = __le32_to_cpu(rx_desc->ppdu_end.tsf_timestamp);
		trace_ath10k_htt_rx_desc(ar, tsf, &rx_desc->attention,
		trace_ath10k_htt_rx_desc(ar, &rx_desc->attention,
					 sizeof(*rx_desc) - sizeof(u32));
		if (last_msdu) {
			msdu->next = NULL;
+3 −6
Original line number Diff line number Diff line
@@ -282,14 +282,13 @@ TRACE_EVENT(ath10k_htt_pktlog,
);

TRACE_EVENT(ath10k_htt_rx_desc,
	    TP_PROTO(struct ath10k *ar, u32 tsf, void *rxdesc, u16 len),
	    TP_PROTO(struct ath10k *ar, void *rxdesc, u16 len),

	TP_ARGS(ar, tsf, rxdesc, len),
	TP_ARGS(ar, rxdesc, len),

	TP_STRUCT__entry(
		__string(device, dev_name(ar->dev))
		__string(driver, dev_driver_string(ar->dev))
		__field(u32, tsf)
		__field(u16, len)
		__dynamic_array(u8, rxdesc, len)
	),
@@ -297,16 +296,14 @@ TRACE_EVENT(ath10k_htt_rx_desc,
	TP_fast_assign(
		__assign_str(device, dev_name(ar->dev));
		__assign_str(driver, dev_driver_string(ar->dev));
		__entry->tsf = tsf;
		__entry->len = len;
		memcpy(__get_dynamic_array(rxdesc), rxdesc, len);
	),

	TP_printk(
		"%s %s %u len %hu",
		"%s %s len %hu",
		__get_str(driver),
		__get_str(device),
		__entry->tsf,
		__entry->len
	 )
);