Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp829953imm; Fri, 1 Jun 2018 10:13:07 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKEQ37nzH4gUUn2r4+gIAzBONIacnMfF+a3rRETspk6r03gno57VbFEInF0UOOr0U0vb22d X-Received: by 2002:a62:1282:: with SMTP id 2-v6mr11719598pfs.243.1527873187125; Fri, 01 Jun 2018 10:13:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527873187; cv=none; d=google.com; s=arc-20160816; b=kDgLD2OtvFZsjijTxBDwfYRtEPDgtxJXrcHKApMwjsAzyohQZIFwx3Xy6CFCyy8vHY APxloTEPpsk3X5hUUQp/0ktYf9VDg8lOeov/pdvq+0blWU1IImKN1UW9yF+p2rd/6N1O 8ZHcW0z2cUH0OjjXuk76ovlm3CNo4ORBhtWY+mD70JIJN7tsA/DJQDgXCUWgEuMDJ0j/ NRiK1XDXs+ehqbyYKsSaHx/dj+oTKe1JqJyj1NsY1r3kPLm/5SpHVpCG1bfOz1aonGj+ 9D5phwPxyowCmr5XXrR7cbj6ISDqF1fiwbaWWuVqMAIMuEsT/WirGopIR+LqOKMsDA8z E8GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:message-id:in-reply-to:subject:cc:to :from:dkim-signature:arc-authentication-results; bh=jCZ0CLaGaEDvie6DJ4YwtVFYFdi8lK319oCOvbWcfSg=; b=wPfrjm/J1Ld2e2DQN9UqvGPnr0r6F31XmfWJ+zDXQCOBTYZROhWT/b3nvzqUzZBvlq Y5WvaG9aDF2GPHLwy0tJAOyccg9yk9XQecABsC/nWRdQFem14Xao0QXRcjqCq6gidNgh iRFFpAdFPnB7ne3QcHKP3TyAvq0SRdqyWZeYeGBF1+nMX0O9n6phzxUW4pNrGxh25PmX L9Bt8dm2LkfKpW62b3lV67GPC7fHIPL46ZaiAxu5A8xZee5LHMCLfIoSCXLWEh50u671 /+jeu+dfCsqnctl/ZAMrURAAvQc3MbJeDF85jocKrpVKEReHhHTzhQDP0dqBGVlU9foo 8CHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=G4NNKklN; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w10-v6si12102711pgt.404.2018.06.01.10.12.52; Fri, 01 Jun 2018 10:13:07 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=G4NNKklN; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753251AbeFARM1 (ORCPT + 99 others); Fri, 1 Jun 2018 13:12:27 -0400 Received: from heliosphere.sirena.org.uk ([172.104.155.198]:60624 "EHLO heliosphere.sirena.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752036AbeFARMX (ORCPT ); Fri, 1 Jun 2018 13:12:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sirena.org.uk; s=20170815-heliosphere; h=Date:Message-Id:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner: List-Archive; bh=jCZ0CLaGaEDvie6DJ4YwtVFYFdi8lK319oCOvbWcfSg=; b=G4NNKklNPORO SuOocYuCMydik5Rel8JE/Dl5VtQG7QcO5d4g1HpqEASelyNivxGyBZ2GWzNjrVIGlDQoLsxoyRnHC wh/QaWfmVqiiTZONv3lSzv/NzlIozUyky9pQ+xI6BKFltPFbfwwr3AcLf/Izp9qTtkRmos4b+fZgA RClas=; Received: from debutante.sirena.org.uk ([2001:470:1f1d:6b5::3] helo=debutante) by heliosphere.sirena.org.uk with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1fOnb5-0001Px-Sv; Fri, 01 Jun 2018 17:12:16 +0000 Received: from broonie by debutante with local (Exim 4.91) (envelope-from ) id 1fOnb5-0003FX-FL; Fri, 01 Jun 2018 18:12:15 +0100 From: Mark Brown To: Guenter Roeck Cc: Mark Brown , Takashi Iwai , Mark Brown , Liam Girdwood , alsa-devel@alsa-project.org, Pierre-Louis Bossart , linux-kernel@vger.kernel.org, Chintan Patel , alsa-devel@alsa-project.org Subject: Applied "ASoC: topology: Move v4 manifest header data structures to uapi" to the asoc tree In-Reply-To: <1527191363-21021-2-git-send-email-linux@roeck-us.net> Message-Id: Date: Fri, 01 Jun 2018 18:12:15 +0100 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The patch ASoC: topology: Move v4 manifest header data structures to uapi has been applied to the asoc tree at https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark From 348f48220b97130817de4aa2058569133c5cc051 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Thu, 24 May 2018 12:49:22 -0700 Subject: [PATCH] ASoC: topology: Move v4 manifest header data structures to uapi Topology manifest v4 is still part of the ABI. Move its data structures into the uapi header file. No functional change. Signed-off-by: Guenter Roeck Signed-off-by: Mark Brown --- include/uapi/sound/asoc.h | 57 +++++++++++++++++++++++++++++++++++++++ sound/soc/soc-topology.c | 56 -------------------------------------- 2 files changed, 57 insertions(+), 56 deletions(-) diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h index b901cdbe532a..a74ca232f1fc 100644 --- a/include/uapi/sound/asoc.h +++ b/include/uapi/sound/asoc.h @@ -573,4 +573,61 @@ struct snd_soc_tplg_dai { __le32 flags; /* SND_SOC_TPLG_DAI_FLGBIT_* */ struct snd_soc_tplg_private priv; } __attribute__((packed)); + +/* + * Old version of ABI structs, supported for backward compatibility. + */ + +/* Manifest v4 */ +struct snd_soc_tplg_manifest_v4 { + __le32 size; /* in bytes of this structure */ + __le32 control_elems; /* number of control elements */ + __le32 widget_elems; /* number of widget elements */ + __le32 graph_elems; /* number of graph elements */ + __le32 pcm_elems; /* number of PCM elements */ + __le32 dai_link_elems; /* number of DAI link elements */ + struct snd_soc_tplg_private priv; +} __packed; + +/* Stream Capabilities v4 */ +struct snd_soc_tplg_stream_caps_v4 { + __le32 size; /* in bytes of this structure */ + char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + __le64 formats; /* supported formats SNDRV_PCM_FMTBIT_* */ + __le32 rates; /* supported rates SNDRV_PCM_RATE_* */ + __le32 rate_min; /* min rate */ + __le32 rate_max; /* max rate */ + __le32 channels_min; /* min channels */ + __le32 channels_max; /* max channels */ + __le32 periods_min; /* min number of periods */ + __le32 periods_max; /* max number of periods */ + __le32 period_size_min; /* min period size bytes */ + __le32 period_size_max; /* max period size bytes */ + __le32 buffer_size_min; /* min buffer size bytes */ + __le32 buffer_size_max; /* max buffer size bytes */ +} __packed; + +/* PCM v4 */ +struct snd_soc_tplg_pcm_v4 { + __le32 size; /* in bytes of this structure */ + char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + __le32 pcm_id; /* unique ID - used to match with DAI link */ + __le32 dai_id; /* unique ID - used to match */ + __le32 playback; /* supports playback mode */ + __le32 capture; /* supports capture mode */ + __le32 compress; /* 1 = compressed; 0 = PCM */ + struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* for DAI link */ + __le32 num_streams; /* number of streams */ + struct snd_soc_tplg_stream_caps_v4 caps[2]; /* playback and capture for DAI */ +} __packed; + +/* Physical link config v4 */ +struct snd_soc_tplg_link_config_v4 { + __le32 size; /* in bytes of this structure */ + __le32 id; /* unique ID - used to match */ + struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* supported configs playback and captrure */ + __le32 num_streams; /* number of streams */ +} __packed; + #endif diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c index 3d04fa297677..3fd5d9c867b9 100644 --- a/sound/soc/soc-topology.c +++ b/sound/soc/soc-topology.c @@ -54,62 +54,6 @@ #define SOC_TPLG_PASS_START SOC_TPLG_PASS_MANIFEST #define SOC_TPLG_PASS_END SOC_TPLG_PASS_LINK -/* - * Old version of ABI structs, supported for backward compatibility. - */ - -/* Manifest v4 */ -struct snd_soc_tplg_manifest_v4 { - __le32 size; /* in bytes of this structure */ - __le32 control_elems; /* number of control elements */ - __le32 widget_elems; /* number of widget elements */ - __le32 graph_elems; /* number of graph elements */ - __le32 pcm_elems; /* number of PCM elements */ - __le32 dai_link_elems; /* number of DAI link elements */ - struct snd_soc_tplg_private priv; -} __packed; - -/* Stream Capabilities v4 */ -struct snd_soc_tplg_stream_caps_v4 { - __le32 size; /* in bytes of this structure */ - char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; - __le64 formats; /* supported formats SNDRV_PCM_FMTBIT_* */ - __le32 rates; /* supported rates SNDRV_PCM_RATE_* */ - __le32 rate_min; /* min rate */ - __le32 rate_max; /* max rate */ - __le32 channels_min; /* min channels */ - __le32 channels_max; /* max channels */ - __le32 periods_min; /* min number of periods */ - __le32 periods_max; /* max number of periods */ - __le32 period_size_min; /* min period size bytes */ - __le32 period_size_max; /* max period size bytes */ - __le32 buffer_size_min; /* min buffer size bytes */ - __le32 buffer_size_max; /* max buffer size bytes */ -} __packed; - -/* PCM v4 */ -struct snd_soc_tplg_pcm_v4 { - __le32 size; /* in bytes of this structure */ - char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; - char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; - __le32 pcm_id; /* unique ID - used to match with DAI link */ - __le32 dai_id; /* unique ID - used to match */ - __le32 playback; /* supports playback mode */ - __le32 capture; /* supports capture mode */ - __le32 compress; /* 1 = compressed; 0 = PCM */ - struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* for DAI link */ - __le32 num_streams; /* number of streams */ - struct snd_soc_tplg_stream_caps_v4 caps[2]; /* playback and capture for DAI */ -} __packed; - -/* Physical link config v4 */ -struct snd_soc_tplg_link_config_v4 { - __le32 size; /* in bytes of this structure */ - __le32 id; /* unique ID - used to match */ - struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* supported configs playback and captrure */ - __le32 num_streams; /* number of streams */ -} __packed; - /* topology context */ struct soc_tplg { const struct firmware *fw; -- 2.17.0