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

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

Merge 9ac902ad on remote branch

Change-Id: I01cbdd63a220d1760046519a612067b26e3d638a
parents 8dc16af4 9ac902ad
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -388,9 +388,6 @@ static int va_macro_swr_pwr_event_v2(struct snd_soc_dapm_widget *w,
	dev_dbg(va_dev, "%s: event = %d, lpi_enable = %d\n",
		__func__, event, va_priv->lpi_enable);

	if (!va_priv->lpi_enable)
		return ret;

	switch (event) {
	case SND_SOC_DAPM_PRE_PMU:
		if (va_priv->swr_ctrl_data) {
@@ -441,9 +438,6 @@ static int va_macro_swr_pwr_event(struct snd_soc_dapm_widget *w,
	dev_dbg(va_dev, "%s: event = %d, lpi_enable = %d\n",
		__func__, event, va_priv->lpi_enable);

	if (!va_priv->lpi_enable)
		return ret;

	switch (event) {
	case SND_SOC_DAPM_PRE_PMU:
		if (va_priv->lpass_audio_hw_vote) {
+3 −3
Original line number Diff line number Diff line
@@ -1007,9 +1007,9 @@ static int msm_pcm_capture_copy(struct snd_pcm_substream *substream,
			xfer = size;
		offset = prtd->in_frame_info[idx].offset;
		pr_debug("Offset value = %d\n", offset);
		if (size == 0 || size < fbytes) {
			memset(bufptr + offset + size, 0, fbytes - size);
			size = xfer = fbytes;
		if (size == 0 || size < prtd->pcm_count) {
			memset(bufptr + offset + size, 0, prtd->pcm_count - size);
			size = xfer = prtd->pcm_count;
		}

		if (copy_to_user(buf, bufptr+offset, xfer)) {
+7 −1
Original line number Diff line number Diff line
@@ -2436,6 +2436,7 @@ int q6lsm_get_one_param(struct lsm_client *client,
{
	struct param_hdr_v3 param_info;
	int rc = 0;
	bool iid_supported = q6common_is_instance_id_supported();

	memset(&param_info, 0, sizeof(param_info));

@@ -2444,7 +2445,12 @@ int q6lsm_get_one_param(struct lsm_client *client,
		param_info.module_id = p_info->module_id;
		param_info.instance_id = p_info->instance_id;
		param_info.param_id = p_info->param_id;
		param_info.param_size = p_info->param_size + sizeof(param_info);

		if (iid_supported)
			param_info.param_size = p_info->param_size + sizeof(struct param_hdr_v3);
		else
			param_info.param_size = p_info->param_size + sizeof(struct param_hdr_v2);

		rc = q6lsm_get_params(client, NULL, &param_info);
		if (rc) {
			pr_err("%s: LSM_GET_CUSTOM_PARAMS failed, rc %d\n",
+17 −1
Original line number Diff line number Diff line
@@ -3093,7 +3093,7 @@ static int swrm_runtime_resume(struct device *dev)
		swrm_request_hw_vote(swrm, LPASS_AUDIO_CORE, false);
	if (!hw_core_err)
		swrm_request_hw_vote(swrm, LPASS_HW_CORE, false);
	if (swrm_clk_req_err)
	if (swrm_clk_req_err || aud_core_err  || hw_core_err)
		pm_runtime_set_autosuspend_delay(&pdev->dev,
				ERR_AUTO_SUSPEND_TIMER_VAL);
	else
@@ -3123,6 +3123,10 @@ static int swrm_runtime_suspend(struct device *dev)
		__func__, swrm->state);
	dev_dbg(dev, "%s: pm_runtime: suspend state: %d\n",
		__func__, swrm->state);
	if (swrm->state == SWR_MSTR_SSR_RESET) {
		swrm->state = SWR_MSTR_SSR;
		return 0;
	}
	mutex_lock(&swrm->reslock);
	mutex_lock(&swrm->force_down_lock);
	current_state = swrm->state;
@@ -3477,6 +3481,18 @@ int swrm_wcd_notify(struct platform_device *pdev, u32 id, void *data)
			dev_err(swrm->dev, "%s: clock voting not zero\n",
				__func__);

		if (swrm->state == SWR_MSTR_UP ||
			pm_runtime_autosuspend_expiration(swrm->dev)) {
			swrm->state = SWR_MSTR_SSR_RESET;
			dev_dbg(swrm->dev,
				"%s:suspend swr if active at SSR up\n",
				__func__);
			pm_runtime_set_autosuspend_delay(swrm->dev,
				ERR_AUTO_SUSPEND_TIMER_VAL);
			usleep_range(50000, 50100);
			swrm->state = SWR_MSTR_SSR;
		}

		mutex_lock(&swrm->devlock);
		swrm->dev_up = true;
		mutex_unlock(&swrm->devlock);
+1 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ enum {
	SWR_MSTR_UP,
	SWR_MSTR_DOWN,
	SWR_MSTR_SSR,
	SWR_MSTR_SSR_RESET,
};

enum swrm_pm_state {