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

Commit 3d7340c9 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 934ff6b4 on remote branch

Change-Id: I59535d816275bec5667749e7dd38c795ce0922ef
parents 9db20bab 934ff6b4
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -744,7 +744,7 @@ static int htt_h2t_ver_req_msg(struct htt_soc *soc)
	SET_HTC_PACKET_INFO_TX(&pkt->htc_pkt,
		dp_htt_h2t_send_complete_free_netbuf, qdf_nbuf_data(msg),
		qdf_nbuf_len(msg), soc->htc_endpoint,
		1); /* tag - not relevant here */
		HTC_TX_PACKET_TAG_RTPM_PUT_RC);

	SET_HTC_PACKET_NET_BUF_CONTEXT(&pkt->htc_pkt, msg);
	status = DP_HTT_SEND_HTC_PKT(soc, pkt, HTT_H2T_MSG_TYPE_VERSION_REQ,
@@ -1746,7 +1746,7 @@ int htt_h2t_rx_ring_cfg(struct htt_soc *htt_soc, int pdev_id,
		qdf_nbuf_data(htt_msg),
		qdf_nbuf_len(htt_msg),
		soc->htc_endpoint,
		1); /* tag - not relevant here */
		HTC_TX_PACKET_TAG_RUNTIME_PUT); /* tag for no FW response msg */

	SET_HTC_PACKET_NET_BUF_CONTEXT(&pkt->htc_pkt, htt_msg);
	status = DP_HTT_SEND_HTC_PKT(soc, pkt,
@@ -3969,7 +3969,17 @@ static void dp_htt_t2h_msg_handler(void *context, HTC_PACKET *pkt)

	case HTT_T2H_MSG_TYPE_VERSION_CONF:
		{
			/*
			 * HTC maintains runtime pm count for H2T messages that
			 * have a response msg from FW. This count ensures that
			 * in the case FW does not sent out the response or host
			 * did not process this indication runtime_put happens
			 * properly in the cleanup path.
			 */
			if (htc_dec_return_runtime_cnt(soc->htc_soc) >= 0)
				htc_pm_runtime_put(soc->htc_soc);
			else
				soc->stats.htt_ver_req_put_skip++;
			soc->tgt_ver.major = HTT_VER_CONF_MAJOR_GET(*msg_word);
			soc->tgt_ver.minor = HTT_VER_CONF_MINOR_GET(*msg_word);
			QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_INFO_LOW,
@@ -4581,7 +4591,8 @@ QDF_STATUS dp_h2t_cfg_stats_msg_send(struct dp_pdev *pdev,
			dp_htt_h2t_send_complete_free_netbuf,
			qdf_nbuf_data(msg), qdf_nbuf_len(msg),
			soc->htc_endpoint,
			1); /* tag - not relevant here */
			/* tag for no FW response msg */
			HTC_TX_PACKET_TAG_RUNTIME_PUT);

	SET_HTC_PACKET_NET_BUF_CONTEXT(&pkt->htc_pkt, msg);
	status = DP_HTT_SEND_HTC_PKT(soc, pkt, HTT_H2T_MSG_TYPE_PPDU_STATS_CFG,
+2 −0
Original line number Diff line number Diff line
@@ -177,6 +177,8 @@ struct htt_soc {
	struct {
		int htc_err_cnt;
		int htc_pkt_free;
		/* rtpm put skip count for ver req msg */
		int htt_ver_req_put_skip;
	} stats;

	HTT_TX_MUTEX_TYPE htt_tx_mutex;
+13 −8
Original line number Diff line number Diff line
@@ -698,6 +698,7 @@ QDF_STATUS dp_ipa_set_doorbell_paddr(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
			soc->reo_dest_ring[IPA_REO_DEST_RING_IDX].hal_srng;
	uint32_t tx_comp_doorbell_dmaaddr;
	uint32_t rx_ready_doorbell_dmaaddr;
	int ret = 0;

	if (!pdev) {
		dp_err("%s invalid instance", __func__);
@@ -712,13 +713,19 @@ QDF_STATUS dp_ipa_set_doorbell_paddr(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
				ioremap(ipa_res->tx_comp_doorbell_paddr, 4);

	if (qdf_mem_smmu_s1_enabled(soc->osdev)) {
		pld_smmu_map(soc->osdev->dev, ipa_res->tx_comp_doorbell_paddr,
			     &tx_comp_doorbell_dmaaddr, sizeof(uint32_t));
		ret = pld_smmu_map(soc->osdev->dev,
				   ipa_res->tx_comp_doorbell_paddr,
				   &tx_comp_doorbell_dmaaddr,
				   sizeof(uint32_t));
		ipa_res->tx_comp_doorbell_paddr = tx_comp_doorbell_dmaaddr;
		qdf_assert_always(!ret);

		pld_smmu_map(soc->osdev->dev, ipa_res->rx_ready_doorbell_paddr,
			     &rx_ready_doorbell_dmaaddr, sizeof(uint32_t));
		ret = pld_smmu_map(soc->osdev->dev,
				   ipa_res->rx_ready_doorbell_paddr,
				   &rx_ready_doorbell_dmaaddr,
				   sizeof(uint32_t));
		ipa_res->rx_ready_doorbell_paddr = rx_ready_doorbell_dmaaddr;
		qdf_assert_always(!ret);
	}

	DP_IPA_SET_TX_DB_PADDR(soc, ipa_res);
@@ -1620,14 +1627,12 @@ QDF_STATUS dp_ipa_cleanup(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
		ret = pld_smmu_unmap(soc->osdev->dev,
				     ipa_res->rx_ready_doorbell_paddr,
				     sizeof(uint32_t));
		if (ret)
			dp_err_rl("IPA RX DB smmu unmap failed");
		qdf_assert_always(!ret);

		ret = pld_smmu_unmap(soc->osdev->dev,
				     ipa_res->tx_comp_doorbell_paddr,
				     sizeof(uint32_t));
		if (ret)
			dp_err_rl("IPA TX DB smmu unmap failed");
		qdf_assert_always(!ret);
	}

exit:
+2 −0
Original line number Diff line number Diff line
@@ -3495,6 +3495,8 @@ QDF_STATUS dp_peer_state_update(struct cdp_soc_t *soc_hdl, uint8_t *peer_mac,
	}
	peer->state = state;

	peer->authorize = (state == OL_TXRX_PEER_STATE_AUTH) ? 1 : 0;

	dp_info("peer %pK state %d", peer, peer->state);
	/* ref_cnt is incremented inside dp_peer_find_hash_find().
	 * Decrement it here.
+1 −0
Original line number Diff line number Diff line
@@ -2481,6 +2481,7 @@ struct dp_fisa_rx_sw_ft {
	uint32_t last_hal_aggr_count;
	uint32_t cur_aggr_gso_size;
	struct udphdr *head_skb_udp_hdr;
	uint32_t reo_dest_indication;
};

#define DP_RX_GET_SW_FT_ENTRY_SIZE sizeof(struct dp_fisa_rx_sw_ft)
Loading