lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 415/575] ASoC: SOF: topology: do not power down primary core during topology removal
    Date
    From: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>

    [ Upstream commit ec626334eaffe101df9ed79e161eba95124e64ad ]

    When removing the topology components, do not power down
    the primary core. Doing so will result in an IPC timeout
    when the SOF PCI device runtime suspends.

    Fixes: 0dcdf84289fb ("ASoC: SOF: add a "core" parameter to widget loading functions")

    Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Link: https://lore.kernel.org/r/20211006104041.27183-1-peter.ujfalusi@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    sound/soc/sof/topology.c | 9 +++++++++
    1 file changed, 9 insertions(+)

    diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
    index 69313fbdb636a..b6327c30c2b5a 100644
    --- a/sound/soc/sof/topology.c
    +++ b/sound/soc/sof/topology.c
    @@ -2590,6 +2590,15 @@ static int sof_widget_unload(struct snd_soc_component *scomp,

    /* power down the pipeline schedule core */
    pipeline = swidget->private;
    +
    + /*
    + * Runtime PM should still function normally if topology loading fails and
    + * it's components are unloaded. Do not power down the primary core so that the
    + * CTX_SAVE IPC can succeed during runtime suspend.
    + */
    + if (pipeline->core == SOF_DSP_PRIMARY_CORE)
    + break;
    +
    ret = snd_sof_dsp_core_power_down(sdev, 1 << pipeline->core);
    if (ret < 0)
    dev_err(scomp->dev, "error: powering down pipeline schedule core %d\n",
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 03:00    [W:2.027 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site