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

Commit ebf29c95 authored by Kalle Valo's avatar Kalle Valo
Browse files

ath6kl: merge htc debug levels



It's not really necessary to have separate debug levels for htc tx and rx
so combine them.

Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 8fffd9e5
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -180,9 +180,10 @@ void dump_cred_dist_stats(struct htc_target *target)
	list_for_each_entry(ep_list, &target->cred_dist_list, list)
		dump_cred_dist(ep_list);

	ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "ctxt:%p dist:%p\n",
	ath6kl_dbg(ATH6KL_DBG_HTC, "ctxt:%p dist:%p\n",
		   target->cred_dist_cntxt, NULL);
	ath6kl_dbg(ATH6KL_DBG_TRC, "credit distribution, total : %d, free : %d\n",
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "credit distribution, total : %d, free : %d\n",
		   target->cred_dist_cntxt->total_avail_credits,
		   target->cred_dist_cntxt->cur_free_credits);
}
+2 −2
Original line number Diff line number Diff line
@@ -25,8 +25,8 @@ enum ATH6K_DEBUG_MASK {
	ATH6KL_DBG_WLAN_TX      = BIT(2),     /* wlan tx */
	ATH6KL_DBG_WLAN_RX      = BIT(3),     /* wlan rx */
	ATH6KL_DBG_BMI		= BIT(4),     /* bmi tracing */
	ATH6KL_DBG_HTC_SEND     = BIT(5),     /* htc send */
	ATH6KL_DBG_HTC_RECV     = BIT(6),     /* htc recv */
	ATH6KL_DBG_HTC		= BIT(5),
	/* hole */
	ATH6KL_DBG_IRQ		= BIT(7),     /* interrupt processing */
	ATH6KL_DBG_PM           = BIT(8),     /* power management */
	ATH6KL_DBG_WLAN_NODE    = BIT(9),     /* general wlan node tracing */
+3 −3
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ int ath6kl_hif_rw_comp_handler(void *context, int status)
{
	struct htc_packet *packet = context;

	ath6kl_dbg(ATH6KL_DBG_HTC_RECV,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "ath6kl_hif_rw_comp_handler (pkt:0x%p , status: %d\n",
		   packet, status);

@@ -119,7 +119,7 @@ int ath6kl_hif_poll_mboxmsg_rx(struct ath6kl_device *dev, u32 *lk_ahd,

		/* delay a little  */
		mdelay(ATH6KL_TIME_QUANTUM);
		ath6kl_dbg(ATH6KL_DBG_HTC_RECV, "retry mbox poll : %d\n", i);
		ath6kl_dbg(ATH6KL_DBG_HTC, "retry mbox poll : %d\n", i);
	}

	if (i == 0) {
@@ -186,7 +186,7 @@ int ath6kl_hif_submit_scat_req(struct ath6kl_device *dev,
			dev->ar->mbox_info.htc_addr;
	}

	ath6kl_dbg((ATH6KL_DBG_HTC_RECV | ATH6KL_DBG_HTC_SEND),
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "ath6kl_hif_submit_scat_req, entries: %d, total len: %d mbox:0x%X (mode: %s : %s)\n",
		   scat_req->scat_entries, scat_req->len,
		   scat_req->addr, !read ? "async" : "sync",
+42 −42
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ static void htc_tx_comp_update(struct htc_target *target,
				packet->info.tx.cred_used;
	endpoint->cred_dist.txq_depth = get_queue_depth(&endpoint->txq);

	ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "ctxt:0x%p dist:0x%p\n",
	ath6kl_dbg(ATH6KL_DBG_HTC, "ctxt:0x%p dist:0x%p\n",
		   target->cred_dist_cntxt, &target->cred_dist_list);

	ath6k_credit_distribute(target->cred_dist_cntxt,
@@ -118,7 +118,7 @@ static void htc_tx_complete(struct htc_endpoint *endpoint,
	if (list_empty(txq))
		return;

	ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "send complete ep %d, (%d pkts)\n",
		   endpoint->eid, get_queue_depth(txq));

@@ -148,7 +148,7 @@ static void htc_async_tx_scat_complete(struct htc_target *target,

	INIT_LIST_HEAD(&tx_compq);

	ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		"htc_async_tx_scat_complete  total len: %d  entries: %d\n",
		scat_req->len, scat_req->scat_entries);

@@ -190,12 +190,12 @@ static int ath6kl_htc_tx_issue(struct htc_target *target,

	send_len = packet->act_len + HTC_HDR_LENGTH;

	ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "%s: transmit len : %d (%s)\n",
	ath6kl_dbg(ATH6KL_DBG_HTC, "%s: transmit len : %d (%s)\n",
		   __func__, send_len, sync ? "sync" : "async");

	padded_len = CALC_TXRX_PADDED_LEN(target, send_len);

	ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		"DevSendPacket, padded len: %d mbox:0x%X (mode:%s)\n",
		padded_len,
		target->dev->ar->mbox_info.htc_addr,
@@ -227,7 +227,7 @@ static int htc_check_credits(struct htc_target *target,
	*req_cred = (len > target->tgt_cred_sz) ?
		     DIV_ROUND_UP(len, target->tgt_cred_sz) : 1;

	ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "creds required:%d got:%d\n",
	ath6kl_dbg(ATH6KL_DBG_HTC, "creds required:%d got:%d\n",
		   *req_cred, ep->cred_dist.credits);

	if (ep->cred_dist.credits < *req_cred) {
@@ -237,7 +237,7 @@ static int htc_check_credits(struct htc_target *target,
		/* Seek more credits */
		ep->cred_dist.seek_cred = *req_cred - ep->cred_dist.credits;

		ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "ctxt:0x%p dist:0x%p\n",
		ath6kl_dbg(ATH6KL_DBG_HTC, "ctxt:0x%p dist:0x%p\n",
			   target->cred_dist_cntxt, &ep->cred_dist);

		ath6k_seek_credits(target->cred_dist_cntxt, &ep->cred_dist);
@@ -245,7 +245,7 @@ static int htc_check_credits(struct htc_target *target,
		ep->cred_dist.seek_cred = 0;

		if (ep->cred_dist.credits < *req_cred) {
			ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
			ath6kl_dbg(ATH6KL_DBG_HTC,
				   "not enough credits for ep %d - leaving packet in queue\n",
				   eid);
			return -EINVAL;
@@ -260,7 +260,7 @@ static int htc_check_credits(struct htc_target *target,
		ep->cred_dist.seek_cred =
		ep->cred_dist.cred_per_msg - ep->cred_dist.credits;

		ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "ctxt:0x%p dist:0x%p\n",
		ath6kl_dbg(ATH6KL_DBG_HTC, "ctxt:0x%p dist:0x%p\n",
			   target->cred_dist_cntxt, &ep->cred_dist);

		ath6k_seek_credits(target->cred_dist_cntxt, &ep->cred_dist);
@@ -270,7 +270,7 @@ static int htc_check_credits(struct htc_target *target,
			/* tell the target we need credits ASAP! */
			*flags |= HTC_FLAGS_NEED_CREDIT_UPDATE;
			ep->ep_st.cred_low_indicate += 1;
			ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "host needs credits\n");
			ath6kl_dbg(ATH6KL_DBG_HTC, "host needs credits\n");
		}
	}

@@ -295,7 +295,7 @@ static void ath6kl_htc_tx_pkts_get(struct htc_target *target,
		packet = list_first_entry(&endpoint->txq, struct htc_packet,
					  list);

		ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
		ath6kl_dbg(ATH6KL_DBG_HTC,
			"got head pkt:0x%p , queue depth: %d\n",
			packet, get_queue_depth(&endpoint->txq));

@@ -404,7 +404,7 @@ static int ath6kl_htc_tx_setup_scat_list(struct htc_target *target,

		scat_req->len += len;
		scat_req->scat_entries++;
		ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
		ath6kl_dbg(ATH6KL_DBG_HTC,
			   "%d, adding pkt : 0x%p len:%d (remaining space:%d)\n",
			   i, packet, len, rem_scat);
	}
@@ -455,12 +455,12 @@ static void ath6kl_htc_tx_bundle(struct htc_endpoint *endpoint,

		if (!scat_req) {
			/* no scatter resources  */
			ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
			ath6kl_dbg(ATH6KL_DBG_HTC,
				"no more scatter resources\n");
			break;
		}

		ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "pkts to scatter: %d\n",
		ath6kl_dbg(ATH6KL_DBG_HTC, "pkts to scatter: %d\n",
			   n_scat);

		scat_req->len = 0;
@@ -479,7 +479,7 @@ static void ath6kl_htc_tx_bundle(struct htc_endpoint *endpoint,
		n_sent_bundle++;
		tot_pkts_bundle += scat_req->scat_entries;

		ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
		ath6kl_dbg(ATH6KL_DBG_HTC,
			   "send scatter total bytes: %d , entries: %d\n",
			   scat_req->len, scat_req->scat_entries);
		ath6kl_hif_submit_scat_req(target->dev, scat_req, false);
@@ -490,7 +490,7 @@ static void ath6kl_htc_tx_bundle(struct htc_endpoint *endpoint,

	*sent_bundle = n_sent_bundle;
	*n_bundle_pkts = tot_pkts_bundle;
	ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "%s (sent:%d)\n",
	ath6kl_dbg(ATH6KL_DBG_HTC, "%s (sent:%d)\n",
		   __func__, n_sent_bundle);

	return;
@@ -510,7 +510,7 @@ static void ath6kl_htc_tx_from_queue(struct htc_target *target,
	if (endpoint->tx_proc_cnt > 1) {
		endpoint->tx_proc_cnt--;
		spin_unlock_bh(&target->tx_lock);
		ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "htc_try_send (busy)\n");
		ath6kl_dbg(ATH6KL_DBG_HTC, "htc_try_send (busy)\n");
		return;
	}

@@ -588,13 +588,13 @@ static bool ath6kl_htc_tx_try(struct htc_target *target,
		overflow = true;

	if (overflow)
		ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
		ath6kl_dbg(ATH6KL_DBG_HTC,
			   "ep %d, tx queue will overflow :%d , tx depth:%d, max:%d\n",
			   endpoint->eid, overflow, txq_depth,
			   endpoint->max_txq_depth);

	if (overflow && ep_cb.tx_full) {
		ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
		ath6kl_dbg(ATH6KL_DBG_HTC,
			   "indicating overflowed tx packet: 0x%p\n", tx_pkt);

		if (ep_cb.tx_full(endpoint->target, tx_pkt) ==
@@ -629,7 +629,7 @@ static void htc_chk_ep_txq(struct htc_target *target)

		spin_lock_bh(&target->tx_lock);
		if (!list_empty(&endpoint->txq)) {
			ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
			ath6kl_dbg(ATH6KL_DBG_HTC,
				   "ep %d has %d credits and %d packets in tx queue\n",
				   cred_dist->endpoint,
				   endpoint->cred_dist.credits,
@@ -736,7 +736,7 @@ int ath6kl_htc_tx(struct htc_target *target, struct htc_packet *packet)
	struct htc_endpoint *endpoint;
	struct list_head queue;

	ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "htc_tx: ep id: %d, buf: 0x%p, len: %d\n",
		   packet->endpoint, packet->buf, packet->act_len);

@@ -787,7 +787,7 @@ void ath6kl_htc_flush_txep(struct htc_target *target,
	list_for_each_entry_safe(packet, tmp_pkt, &discard_q, list) {
		packet->status = -ECANCELED;
		list_del(&packet->list);
		ath6kl_dbg(ATH6KL_DBG_TRC,
		ath6kl_dbg(ATH6KL_DBG_HTC,
			"flushing tx pkt:0x%p, len:%d, ep:%d tag:0x%X\n",
			packet, packet->act_len,
			packet->endpoint, packet->info.tx.tag);
@@ -844,7 +844,7 @@ void ath6kl_htc_indicate_activity_change(struct htc_target *target,
		endpoint->cred_dist.txq_depth =
			get_queue_depth(&endpoint->txq);

		ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "ctxt:0x%p dist:0x%p\n",
		ath6kl_dbg(ATH6KL_DBG_HTC, "ctxt:0x%p dist:0x%p\n",
			   target->cred_dist_cntxt, &target->cred_dist_list);

		ath6k_credit_distribute(target->cred_dist_cntxt,
@@ -924,7 +924,7 @@ static int ath6kl_htc_rx_packet(struct htc_target *target,
		return -ENOMEM;
	}

	ath6kl_dbg(ATH6KL_DBG_HTC_RECV,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "dev_rx_pkt (0x%p : hdr:0x%X) padded len: %d mbox:0x%X (mode:%s)\n",
		   packet, packet->info.rx.exp_hdr,
		   padded_len, dev->ar->mbox_info.htc_addr, "sync");
@@ -1137,7 +1137,7 @@ static int ath6kl_htc_rx_alloc(struct htc_target *target,
			}

			endpoint->ep_st.rx_bundle_from_hdr += 1;
			ath6kl_dbg(ATH6KL_DBG_HTC_RECV,
			ath6kl_dbg(ATH6KL_DBG_HTC,
				   "htc hdr indicates :%d msg can be fetched as a bundle\n",
				   n_msg);
		} else
@@ -1209,7 +1209,7 @@ static void htc_proc_cred_rpt(struct htc_target *target,
	int tot_credits = 0, i;
	bool dist = false;

	ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "htc_proc_cred_rpt, credit report entries:%d\n", n_entries);

	spin_lock_bh(&target->tx_lock);
@@ -1223,7 +1223,7 @@ static void htc_proc_cred_rpt(struct htc_target *target,

		endpoint = &target->endpoint[rpt->eid];

		ath6kl_dbg(ATH6KL_DBG_HTC_SEND, " ep %d got %d credits\n",
		ath6kl_dbg(ATH6KL_DBG_HTC, " ep %d got %d credits\n",
			rpt->eid, rpt->credits);

		endpoint->ep_st.tx_cred_rpt += 1;
@@ -1264,7 +1264,7 @@ static void htc_proc_cred_rpt(struct htc_target *target,
		tot_credits += rpt->credits;
	}

	ath6kl_dbg(ATH6KL_DBG_HTC_SEND,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "report indicated %d credits to distribute\n",
		   tot_credits);

@@ -1273,7 +1273,7 @@ static void htc_proc_cred_rpt(struct htc_target *target,
		 * This was a credit return based on a completed send
		 * operations note, this is done with the lock held
		 */
		ath6kl_dbg(ATH6KL_DBG_HTC_SEND, "ctxt:0x%p dist:0x%p\n",
		ath6kl_dbg(ATH6KL_DBG_HTC, "ctxt:0x%p dist:0x%p\n",
			   target->cred_dist_cntxt, &target->cred_dist_list);

		ath6k_credit_distribute(target->cred_dist_cntxt,
@@ -1320,7 +1320,7 @@ static int htc_parse_trailer(struct htc_target *target,
		if ((lk_ahd->pre_valid == ((~lk_ahd->post_valid) & 0xFF))
		    && next_lk_ahds) {

			ath6kl_dbg(ATH6KL_DBG_HTC_RECV,
			ath6kl_dbg(ATH6KL_DBG_HTC,
				   "lk_ahd report found (pre valid:0x%X, post valid:0x%X)\n",
				   lk_ahd->pre_valid, lk_ahd->post_valid);

@@ -1378,7 +1378,7 @@ static int htc_proc_trailer(struct htc_target *target,
	u8 *record_buf;
	u8 *orig_buf;

	ath6kl_dbg(ATH6KL_DBG_HTC_RECV, "+htc_proc_trailer (len:%d)\n", len);
	ath6kl_dbg(ATH6KL_DBG_HTC, "+htc_proc_trailer (len:%d)\n", len);

	ath6kl_dbg_dump(ATH6KL_DBG_RAW_BYTES, "Recv Trailer", "",
			buf, len);
@@ -1534,7 +1534,7 @@ fail_rx:
static void ath6kl_htc_rx_complete(struct htc_endpoint *endpoint,
				   struct htc_packet *packet)
{
		ath6kl_dbg(ATH6KL_DBG_HTC_RECV,
		ath6kl_dbg(ATH6KL_DBG_HTC,
			   "htc calling ep %d recv callback on packet 0x%p\n",
			   endpoint->eid, packet);
		endpoint->ep_cb.rx(endpoint->target, packet);
@@ -1571,7 +1571,7 @@ static int ath6kl_htc_rx_bundle(struct htc_target *target,

	len = 0;

	ath6kl_dbg(ATH6KL_DBG_HTC_RECV,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "%s(): (numpackets: %d , actual : %d)\n",
		   __func__, get_queue_depth(rxq), n_scat_pkt);

@@ -1897,7 +1897,7 @@ static struct htc_packet *htc_wait_for_ctrl_msg(struct htc_target *target)
			       HTC_TARGET_RESPONSE_TIMEOUT))
		return NULL;

	ath6kl_dbg(ATH6KL_DBG_HTC_RECV,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		"htc_wait_for_ctrl_msg: look_ahead : 0x%X\n", look_ahead);

	htc_hdr = (struct htc_frame_hdr *)&look_ahead;
@@ -1962,7 +1962,7 @@ int ath6kl_htc_add_rxbuf_multiple(struct htc_target *target,

	depth = get_queue_depth(pkt_queue);

	ath6kl_dbg(ATH6KL_DBG_HTC_RECV,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		"htc_add_rxbuf_multiple: ep id: %d, cnt:%d, len: %d\n",
		first_pkt->endpoint, depth, first_pkt->buf_len);

@@ -1988,7 +1988,7 @@ int ath6kl_htc_add_rxbuf_multiple(struct htc_target *target,
	/* check if we are blocked waiting for a new buffer */
	if (target->rx_st_flags & HTC_RECV_WAIT_BUFFERS) {
		if (target->ep_waiting == first_pkt->endpoint) {
			ath6kl_dbg(ATH6KL_DBG_HTC_RECV,
			ath6kl_dbg(ATH6KL_DBG_HTC,
				"receiver was blocked on ep:%d, unblocking.\n",
				target->ep_waiting);
			target->rx_st_flags &= ~HTC_RECV_WAIT_BUFFERS;
@@ -2023,7 +2023,7 @@ void ath6kl_htc_flush_rx_buf(struct htc_target *target)
					 &endpoint->rx_bufq, list) {
			list_del(&packet->list);
			spin_unlock_bh(&target->rx_lock);
			ath6kl_dbg(ATH6KL_DBG_HTC_RECV,
			ath6kl_dbg(ATH6KL_DBG_HTC,
				   "flushing rx pkt:0x%p, len:%d, ep:%d\n",
				   packet, packet->buf_len,
				   packet->endpoint);
@@ -2047,7 +2047,7 @@ int ath6kl_htc_conn_service(struct htc_target *target,
	unsigned int max_msg_sz = 0;
	int status = 0;

	ath6kl_dbg(ATH6KL_DBG_TRC,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "htc_conn_service, target:0x%p service id:0x%X\n",
		   target, conn_req->svc_id);

@@ -2220,7 +2220,7 @@ static void htc_setup_msg_bndl(struct htc_target *target)
	target->msg_per_bndl_max = min(target->max_scat_entries,
				       target->msg_per_bndl_max);

	ath6kl_dbg(ATH6KL_DBG_TRC,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "htc bundling allowed. max msg per htc bundle: %d\n",
		   target->msg_per_bndl_max);

@@ -2230,7 +2230,7 @@ static void htc_setup_msg_bndl(struct htc_target *target)
	target->max_tx_bndl_sz = min(HIF_MBOX0_EXT_WIDTH,
				     target->max_xfer_szper_scatreq);

	ath6kl_dbg(ATH6KL_DBG_ANY, "max recv: %d max send: %d\n",
	ath6kl_dbg(ATH6KL_DBG_HTC, "max recv: %d max send: %d\n",
		   target->max_rx_bndl_sz, target->max_tx_bndl_sz);

	if (target->max_tx_bndl_sz)
@@ -2284,7 +2284,7 @@ int ath6kl_htc_wait_target(struct htc_target *target)
	target->tgt_creds = le16_to_cpu(rdy_msg->ver2_0_info.cred_cnt);
	target->tgt_cred_sz = le16_to_cpu(rdy_msg->ver2_0_info.cred_sz);

	ath6kl_dbg(ATH6KL_DBG_HTC_RECV,
	ath6kl_dbg(ATH6KL_DBG_HTC,
		   "target ready: credits: %d credit size: %d\n",
		   target->tgt_creds, target->tgt_cred_sz);

@@ -2299,7 +2299,7 @@ int ath6kl_htc_wait_target(struct htc_target *target)
		target->msg_per_bndl_max = 0;
	}

	ath6kl_dbg(ATH6KL_DBG_TRC, "using htc protocol version : %s (%d)\n",
	ath6kl_dbg(ATH6KL_DBG_HTC, "using htc protocol version : %s (%d)\n",
		  (target->htc_tgt_ver == HTC_VERSION_2P0) ? "2.0" : ">= 2.1",
		  target->htc_tgt_ver);