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

Commit 9d5e4964 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 1b07bcff on remote branch

Change-Id: Ifaa53946a465ed236aea2137a634a4765f5600fc
parents 0f641f04 1b07bcff
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -2545,4 +2545,18 @@ cdp_vdev_get_peer_mac_list(ol_txrx_soc_handle soc,
			(soc, vdev_id, newmac, mac_cnt);
}

/**
 * cdp_rx_get_pending() - Get number of pending frames of RX threads
 * @soc: opaque soc handle
 * Return: number of pending frames
 */
static inline int
cdp_rx_get_pending(ol_txrx_soc_handle soc)
{
	if (!soc || !soc->ol_ops ||
	    !soc->ol_ops->dp_rx_get_pending)
		return 0;

	return soc->ol_ops->dp_rx_get_pending(soc);
}
#endif /* _CDP_TXRX_CMN_H_ */
+2 −0
Original line number Diff line number Diff line
@@ -1119,6 +1119,8 @@ struct ol_if_ops {
	void (*dp_put_multi_pages)(uint32_t desc_type,
				   struct qdf_mem_multi_page_t *pages);
#endif
	int (*dp_rx_get_pending)(ol_txrx_soc_handle soc);
	/* TODO: Add any other control path calls required to OL_IF/WMA layer */
};


+1 −1
Original line number Diff line number Diff line
@@ -815,7 +815,7 @@ QDF_STATUS dp_ipa_enable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
	/* Call HAL API to remap REO rings to REO2IPA ring */
	ix0 = HAL_REO_REMAP_IX0(REO_REMAP_TCL, 0) |
	      HAL_REO_REMAP_IX0(REO_REMAP_SW4, 1) |
	      HAL_REO_REMAP_IX0(REO_REMAP_SW4, 2) |
	      HAL_REO_REMAP_IX0(REO_REMAP_SW1, 2) |
	      HAL_REO_REMAP_IX0(REO_REMAP_SW4, 3) |
	      HAL_REO_REMAP_IX0(REO_REMAP_SW4, 4) |
	      HAL_REO_REMAP_IX0(REO_REMAP_RELEASE, 5) |
+14 −0
Original line number Diff line number Diff line
@@ -10738,6 +10738,8 @@ dp_request_rx_hw_stats(struct cdp_soc_t *soc_hdl, uint8_t vdev_id)
	QDF_STATUS status;
	struct dp_req_rx_hw_stats_t *rx_hw_stats;
	int rx_stats_sent_cnt = 0;
	uint32_t last_rx_mpdu_received;
	uint32_t last_rx_mpdu_missed;

	if (!vdev) {
		dp_err("vdev is null for vdev_id: %u", vdev_id);
@@ -10762,6 +10764,12 @@ dp_request_rx_hw_stats(struct cdp_soc_t *soc_hdl, uint8_t vdev_id)

	qdf_event_reset(&soc->rx_hw_stats_event);
	qdf_spin_lock_bh(&soc->rx_hw_stats_lock);
	/* save the last soc cumulative stats and reset it to 0 */
	last_rx_mpdu_received = soc->ext_stats.rx_mpdu_received;
	last_rx_mpdu_missed = soc->ext_stats.rx_mpdu_missed;
	soc->ext_stats.rx_mpdu_received = 0;
	soc->ext_stats.rx_mpdu_missed = 0;

	rx_stats_sent_cnt =
		dp_peer_rxtid_stats(peer, dp_rx_hw_stats_cb, rx_hw_stats);
	if (!rx_stats_sent_cnt) {
@@ -10785,6 +10793,12 @@ dp_request_rx_hw_stats(struct cdp_soc_t *soc_hdl, uint8_t vdev_id)
		dp_info("rx hw stats event timeout");
		if (soc->is_last_stats_ctx_init)
			rx_hw_stats->is_query_timeout = true;
		/**
		 * If query timeout happened, use the last saved stats
		 * for this time query.
		 */
		soc->ext_stats.rx_mpdu_received = last_rx_mpdu_received;
		soc->ext_stats.rx_mpdu_missed = last_rx_mpdu_missed;
	}
	qdf_spin_unlock_bh(&soc->rx_hw_stats_lock);
	dp_peer_unref_delete(peer);
+4 −0
Original line number Diff line number Diff line
@@ -2060,6 +2060,9 @@ uint32_t dp_rx_process(struct dp_intr *int_ctx, hal_ring_handle_t hal_ring_hdl,
		if (QDF_IS_STATUS_ERROR(status)) {
			if (qdf_unlikely(rx_desc && rx_desc->nbuf)) {
				qdf_assert_always(rx_desc->unmapped);
				dp_ipa_handle_rx_buf_smmu_mapping(soc,
								  rx_desc->nbuf,
								  false);
				qdf_nbuf_unmap_single(soc->osdev,
						      rx_desc->nbuf,
						      QDF_DMA_FROM_DEVICE);
@@ -2148,6 +2151,7 @@ uint32_t dp_rx_process(struct dp_intr *int_ctx, hal_ring_handle_t hal_ring_hdl,
		 * move unmap after scattered msdu waiting break logic
		 * in case double skb unmap happened.
		 */
		dp_ipa_handle_rx_buf_smmu_mapping(soc, rx_desc->nbuf, false);
		qdf_nbuf_unmap_single(soc->osdev, rx_desc->nbuf,
				      QDF_DMA_FROM_DEVICE);
		rx_desc->unmapped = 1;
Loading