lkml.org 
[lkml]   [2020]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.6 37/79] ASoC: SOF: Intel: add min/max channels for SSP on Baytrail/Broadwell
    Date
    From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>

    [ Upstream commit 8c05246c0b58cbe80580ea4be05f6d51228af8a9 ]

    Major regressions were detected by SOF CI on CherryTrail and Broadwell:

    [ 25.705750] SSP2-Codec: ASoC: no backend playback stream
    [ 27.923378] SSP2-Codec: ASoC: no users playback at close - state

    This is root-caused to the introduction of the DAI capability checks
    with snd_soc_dai_stream_valid(). Its use in soc-pcm.c makes it a
    requirement for all DAIs to report at least a non-zero min_channels
    field.

    For some reason the SSP structures used for SKL+ did provide this
    information but legacy platforms didn't.

    Fixes: 9b5db059366ae2 ("ASoC: soc-pcm: dpcm: Only allow playback/capture if supported")
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Link: https://lore.kernel.org/r/20200417172014.11760-1-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    sound/soc/sof/intel/bdw.c | 16 +++++++++++++
    sound/soc/sof/intel/byt.c | 48 +++++++++++++++++++++++++++++++++++++++
    2 files changed, 64 insertions(+)

    diff --git a/sound/soc/sof/intel/bdw.c b/sound/soc/sof/intel/bdw.c
    index 6c23c57693309..a32a3ef78ec5d 100644
    --- a/sound/soc/sof/intel/bdw.c
    +++ b/sound/soc/sof/intel/bdw.c
    @@ -567,9 +567,25 @@ static void bdw_set_mach_params(const struct snd_soc_acpi_mach *mach,
    static struct snd_soc_dai_driver bdw_dai[] = {
    {
    .name = "ssp0-port",
    + .playback = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    + .capture = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    },
    {
    .name = "ssp1-port",
    + .playback = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    + .capture = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    },
    };

    diff --git a/sound/soc/sof/intel/byt.c b/sound/soc/sof/intel/byt.c
    index f84391294f12c..29fd1d86156ce 100644
    --- a/sound/soc/sof/intel/byt.c
    +++ b/sound/soc/sof/intel/byt.c
    @@ -459,21 +459,69 @@ static void byt_set_mach_params(const struct snd_soc_acpi_mach *mach,
    static struct snd_soc_dai_driver byt_dai[] = {
    {
    .name = "ssp0-port",
    + .playback = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    + .capture = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    },
    {
    .name = "ssp1-port",
    + .playback = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    + .capture = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    },
    {
    .name = "ssp2-port",
    + .playback = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    + .capture = {
    + .channels_min = 1,
    + .channels_max = 8,
    + }
    },
    {
    .name = "ssp3-port",
    + .playback = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    + .capture = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    },
    {
    .name = "ssp4-port",
    + .playback = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    + .capture = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    },
    {
    .name = "ssp5-port",
    + .playback = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    + .capture = {
    + .channels_min = 1,
    + .channels_max = 8,
    + },
    },
    };

    --
    2.20.1
    \
     
     \ /
      Last update: 2020-04-30 15:52    [W:5.060 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site