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

Commit 570b5534 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa3: Changes to call uC setup event ring in connect WDI pipes"

parents 6d4627df 5b981860
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1579,6 +1579,11 @@ int ipa3_uc_quota_monitor(uint64_t quota)
	struct IpaQuotaMonitoring_t *quota_info;

	IPADBG("Enter\n");
	if (!ipa3_ctx->uc_ctx.uc_event_ring_valid) {
		IPADBG("uC event ring not initialized\n");
		return res;
	}

	cmd.size = sizeof(*quota_info);
	cmd.base = dma_alloc_coherent(ipa3_ctx->uc_pdev, cmd.size,
		&cmd.phys_base, GFP_KERNEL);
@@ -1655,6 +1660,11 @@ int ipa3_uc_bw_monitor(struct ipa_wdi_bw_info *info)
	if (!info)
		return -EINVAL;

	if (!ipa3_ctx->uc_ctx.uc_event_ring_valid) {
		IPADBG("uC event ring not initialized\n");
		return res;
	}

	/* check max entry */
	if (info->num > BW_MONITORING_MAX_THRESHOLD) {
		IPAERR("%d, support max %d bw monitor\n", info->num,
+16 −16
Original line number Diff line number Diff line
@@ -569,6 +569,22 @@ int ipa3_conn_wdi3_pipes(struct ipa_wdi_conn_in_params *in,
		IPADBG("wdi_notify is null\n");
#endif

	/* start uC event ring */
	if ((ipa3_ctx->ipa_hw_type >= IPA_HW_v4_5 &&
		ipa3_ctx->ipa_hw_type != IPA_HW_v4_11) ||
		ipa3_ctx->is_bw_monitor_supported) {
		if (ipa3_ctx->uc_ctx.uc_loaded &&
			!ipa3_ctx->uc_ctx.uc_event_ring_valid) {
			if (ipa3_uc_setup_event_ring())	{
				IPAERR("failed to set uc_event ring\n");
				return -EFAULT;
			}
		} else
			IPAERR("uc-loaded %d, ring-valid %d\n",
			ipa3_ctx->uc_ctx.uc_loaded,
			ipa3_ctx->uc_ctx.uc_event_ring_valid);
	}

	/* setup rx ep cfg */
	ep_rx->valid = 1;
	ep_rx->client = rx_client;
@@ -848,22 +864,6 @@ int ipa3_enable_wdi3_pipes(int ipa_ep_idx_tx, int ipa_ep_idx_rx)

	IPA_ACTIVE_CLIENTS_INC_EP(ipa3_get_client_mapping(ipa_ep_idx_tx));

	/* start uC event ring */
	if ((ipa3_ctx->ipa_hw_type >= IPA_HW_v4_5 &&
		ipa3_ctx->ipa_hw_type != IPA_HW_v4_11) ||
		ipa3_ctx->is_bw_monitor_supported) {
		if (ipa3_ctx->uc_ctx.uc_loaded &&
			!ipa3_ctx->uc_ctx.uc_event_ring_valid) {
			if (ipa3_uc_setup_event_ring())	{
				IPAERR("failed to set uc_event ring\n");
				return -EFAULT;
			}
		} else
			IPAERR("uc-loaded %d, ring-valid %d\n",
			ipa3_ctx->uc_ctx.uc_loaded,
			ipa3_ctx->uc_ctx.uc_event_ring_valid);
	}

	/* enable data path */
	result = ipa3_enable_data_path(ipa_ep_idx_rx);
	if (result) {