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

Commit 6ea52f6e authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 2531ff66 on remote branch

Change-Id: Ie97687fa9894498bc704ff610ed2ece2202d7795
parents 8b44f642 2531ff66
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1379,7 +1379,6 @@ static int bolero_probe(struct platform_device *pdev)
	mutex_init(&priv->vote_lock);
	INIT_WORK(&priv->bolero_add_child_devices_work,
		  bolero_add_child_devices);
	schedule_work(&priv->bolero_add_child_devices_work);

	/* Register LPASS core hw vote */
	lpass_core_hw_vote = devm_clk_get(&pdev->dev, "lpass_core_hw_vote");
@@ -1403,6 +1402,7 @@ static int bolero_probe(struct platform_device *pdev)
	}
	priv->lpass_audio_hw_vote = lpass_audio_hw_vote;

	schedule_work(&priv->bolero_add_child_devices_work);
	return 0;
}

+9 −3
Original line number Diff line number Diff line
@@ -350,6 +350,7 @@ struct rx_macro_bcl_pmic_params {
	u8 ppid;
};

static int rx_macro_core_vote(void *handle, bool enable);
static int rx_macro_hw_params(struct snd_pcm_substream *substream,
			       struct snd_pcm_hw_params *params,
			       struct snd_soc_dai *dai);
@@ -1230,6 +1231,7 @@ static int rx_macro_mclk_enable(struct rx_macro_priv *rx_priv,
		if (rx_priv->rx_mclk_users == 0) {
			if (rx_priv->is_native_on)
				rx_priv->clk_id = RX_CORE_CLK;
			rx_macro_core_vote(rx_priv, true);
			ret = bolero_clk_rsc_request_clock(rx_priv->dev,
							   rx_priv->default_clk_id,
							   rx_priv->clk_id,
@@ -1283,6 +1285,7 @@ static int rx_macro_mclk_enable(struct rx_macro_priv *rx_priv,
				0x01, 0x00);
			bolero_clk_rsc_fs_gen_request(rx_priv->dev,
			   false);
			rx_macro_core_vote(rx_priv, true);
			bolero_clk_rsc_request_clock(rx_priv->dev,
						 rx_priv->default_clk_id,
						 rx_priv->clk_id,
@@ -1396,18 +1399,21 @@ static int rx_macro_event_handler(struct snd_soc_component *component,
		}
		break;
	case BOLERO_MACRO_EVT_PRE_SSR_UP:
		rx_macro_core_vote(rx_priv, true);
		/* enable&disable RX_CORE_CLK to reset GFMUX reg */
		ret = bolero_clk_rsc_request_clock(rx_priv->dev,
						rx_priv->default_clk_id,
						RX_CORE_CLK, true);
		if (ret < 0)
		if (ret < 0) {
			dev_err_ratelimited(rx_priv->dev,
				"%s, failed to enable clk, ret:%d\n",
				__func__, ret);
		else
		} else {
			rx_macro_core_vote(rx_priv, true);
			bolero_clk_rsc_request_clock(rx_priv->dev,
						rx_priv->default_clk_id,
						RX_CORE_CLK, false);
		}
		break;
	case BOLERO_MACRO_EVT_SSR_UP:
		trace_printk("%s, enter SSR up\n", __func__);
@@ -4165,12 +4171,12 @@ static int rx_macro_probe(struct platform_device *pdev)
			"%s: register macro failed\n", __func__);
		goto err_reg_macro;
	}
	schedule_work(&rx_priv->rx_macro_add_child_devices_work);
	pm_runtime_set_autosuspend_delay(&pdev->dev, AUTO_SUSPEND_DELAY);
	pm_runtime_use_autosuspend(&pdev->dev);
	pm_runtime_set_suspended(&pdev->dev);
	pm_suspend_ignore_children(&pdev->dev, true);
	pm_runtime_enable(&pdev->dev);
	schedule_work(&rx_priv->rx_macro_add_child_devices_work);

	return 0;

+2 −2
Original line number Diff line number Diff line
@@ -3280,13 +3280,13 @@ static int tx_macro_probe(struct platform_device *pdev)
			"%s: register macro failed\n", __func__);
		goto err_reg_macro;
	}
	if (is_used_tx_swr_gpio)
		schedule_work(&tx_priv->tx_macro_add_child_devices_work);
	pm_runtime_set_autosuspend_delay(&pdev->dev, AUTO_SUSPEND_DELAY);
	pm_runtime_use_autosuspend(&pdev->dev);
	pm_runtime_set_suspended(&pdev->dev);
	pm_suspend_ignore_children(&pdev->dev, true);
	pm_runtime_enable(&pdev->dev);
	if (is_used_tx_swr_gpio)
		schedule_work(&tx_priv->tx_macro_add_child_devices_work);

	return 0;
err_reg_macro:
+2 −2
Original line number Diff line number Diff line
@@ -3143,13 +3143,13 @@ static int va_macro_probe(struct platform_device *pdev)
		dev_err(&pdev->dev, "%s: register macro failed\n", __func__);
		goto reg_macro_fail;
	}
	if (is_used_va_swr_gpio)
		schedule_work(&va_priv->va_macro_add_child_devices_work);
	pm_runtime_set_autosuspend_delay(&pdev->dev, VA_AUTO_SUSPEND_DELAY);
	pm_runtime_use_autosuspend(&pdev->dev);
	pm_runtime_set_suspended(&pdev->dev);
	pm_suspend_ignore_children(&pdev->dev, true);
	pm_runtime_enable(&pdev->dev);
	if (is_used_va_swr_gpio)
		schedule_work(&va_priv->va_macro_add_child_devices_work);
	return ret;

reg_macro_fail:
+1 −1
Original line number Diff line number Diff line
@@ -3237,12 +3237,12 @@ static int wsa_macro_probe(struct platform_device *pdev)
		dev_err(&pdev->dev, "%s: register macro failed\n", __func__);
		goto reg_macro_fail;
	}
	schedule_work(&wsa_priv->wsa_macro_add_child_devices_work);
	pm_runtime_set_autosuspend_delay(&pdev->dev, AUTO_SUSPEND_DELAY);
	pm_runtime_use_autosuspend(&pdev->dev);
	pm_runtime_set_suspended(&pdev->dev);
	pm_suspend_ignore_children(&pdev->dev, true);
	pm_runtime_enable(&pdev->dev);
	schedule_work(&wsa_priv->wsa_macro_add_child_devices_work);

	return ret;
reg_macro_fail:
Loading