Re: [PATCH v5 11/14] ASoC: SOF: Add PM support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 21 Mar 2019 17:10:13 +0100,
Pierre-Louis Bossart wrote:
> 
> From: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx>
> 
> Add support for saving and restoring DSP context in D3 to host DDR.
> 
> The suspend callback includes: suspend all pcm's stream that are running,
> send CTX_SAVE ipc, drop all ipc's, release trace dma and then
> power off the DSP.
> 
> And the resume callback performs the following steps: load FW, run FW,
> re-initialize trace, restore pipeline, restore the kcontrol values
> and finally send the ctx restore ipc to the dsp.
> 
> The streams that are suspended are resumed by the ALSA resume trigger.
> If the streams are paused during system suspend, they are marked
> explicitly so they can be restored during PAUSE_RELEASE.
> 
> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@xxxxxxxxxxxxxxx>
> Signed-off-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx>
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> ---
>  sound/soc/sof/pm.c | 373 +++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 373 insertions(+)
>  create mode 100644 sound/soc/sof/pm.c
> 
> diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c
> new file mode 100644
> index 000000000000..fd0cf10bf742
> --- /dev/null
> +++ b/sound/soc/sof/pm.c
> @@ -0,0 +1,373 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
> +//
> +// This file is provided under a dual BSD/GPLv2 license.  When using or
> +// redistributing this file, you may do so under either license.
> +//
> +// Copyright(c) 2018 Intel Corporation. All rights reserved.
> +//
> +// Author: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx>
> +//
> +
> +#include "ops.h"
> +#include "sof-priv.h"
> +
> +static int sof_restore_kcontrols(struct snd_sof_dev *sdev)
> +{
> +	struct snd_sof_control *scontrol = NULL;
> +	int ipc_cmd, ctrl_type;
> +	int ret = 0;
> +
> +	/* restore kcontrol values */
> +	list_for_each_entry(scontrol, &sdev->kcontrol_list, list) {
> +		/* reset readback offset for scontrol after resuming */
> +		scontrol->readback_offset = 0;
> +
> +		/* notify DSP of kcontrol values */
> +		switch (scontrol->cmd) {
> +		case SOF_CTRL_CMD_VOLUME:
> +			/* fallthrough */
> +		case SOF_CTRL_CMD_ENUM:
> +			/* fallthrough */
> +		case SOF_CTRL_CMD_SWITCH:

In such an expression, fallthrough marker is superfluous.

	switch (foo) {
	case A:
	case B:
	case C:
		....


thanks,

Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux