mbox series

[0/4] ASoC: Drop soc-topology ABI v4 support

Message ID 20240403091629.647267-1-cezary.rojewski@intel.com (mailing list archive)
Headers show
Series ASoC: Drop soc-topology ABI v4 support | expand

Message

Cezary Rojewski April 3, 2024, 9:16 a.m. UTC
This patchset impacts UAPI.

The only known users of the soc-topology ABI v4 are Chromebook
configurations. Starting from kernel v5.4, all of them are making use of
soc-topology ABI v5. The patchset first removes obsolete code from the
Intel's skylake-driver - the driver of choice for the mentioned
Chromebooks - and then proceeds with removal of relevant soc-topology.c
and uapi bits.

Cezary Rojewski (4):
  ASoC: Intel: Skylake: Remove soc-topology ABI v4 support
  ASoC: topology: Remove ABI v4 support
  ASoC: topology: Cleanup after ABI v4 support removal
  ASoC: topology: Remove obsolete ABI v4 structs

 include/uapi/sound/asoc.h               |  56 ------
 include/uapi/sound/skl-tplg-interface.h |  74 --------
 sound/soc/intel/skylake/skl-topology.c  | 169 -----------------
 sound/soc/soc-topology.c                | 241 ++----------------------
 4 files changed, 18 insertions(+), 522 deletions(-)

Comments

Mark Brown April 3, 2024, 3:53 p.m. UTC | #1
On Wed, Apr 03, 2024 at 11:16:25AM +0200, Cezary Rojewski wrote:
> This patchset impacts UAPI.

> The only known users of the soc-topology ABI v4 are Chromebook
> configurations. Starting from kernel v5.4, all of them are making use of
> soc-topology ABI v5. The patchset first removes obsolete code from the
> Intel's skylake-driver - the driver of choice for the mentioned
> Chromebooks - and then proceeds with removal of relevant soc-topology.c
> and uapi bits.

Do we have to worry about old Chromebooks that fell out of ChromeOS
support but people are still using with a general purpose distro?  I'm
not sure what the user community is like there but v5.4 is from 2019
(and products would I guess have still been coming out for earlier
things in 2020) which feels kind of recent.
Cezary Rojewski April 4, 2024, 2:31 p.m. UTC | #2
On 2024-04-03 5:53 PM, Mark Brown wrote:
> On Wed, Apr 03, 2024 at 11:16:25AM +0200, Cezary Rojewski wrote:
>> This patchset impacts UAPI.
> 
>> The only known users of the soc-topology ABI v4 are Chromebook
>> configurations. Starting from kernel v5.4, all of them are making use of
>> soc-topology ABI v5. The patchset first removes obsolete code from the
>> Intel's skylake-driver - the driver of choice for the mentioned
>> Chromebooks - and then proceeds with removal of relevant soc-topology.c
>> and uapi bits.
> 
> Do we have to worry about old Chromebooks that fell out of ChromeOS
> support but people are still using with a general purpose distro?  I'm
> not sure what the user community is like there but v5.4 is from 2019
> (and products would I guess have still been coming out for earlier
> things in 2020) which feels kind of recent.

+Radoslaw


Short answer: I believe we do not have to worry about these.

Longer answer. Intel topology utilized with the skylake-driver has been 
versioned as:
- 0065, paired with topology ABI v4, status: obsolete, never upstreamed
- 0071, paired with topology ABI v4, status: obsolete, never upstreamed
- 0072, paired with topology ABI v5, status: maintenance

To my knowledge, following are Chromebook systems currently outside of 
the support window:

Broadwell-based:	N/A - no topology, catpt-driver
Braswell-based:		N/A - no topology, atom-driver
Skylake-Y-based:	v4.19, skylake-driver
<anything younger has been transitioned to ABI v5>

By younger I mean: any platform supported by upstream skylake-driver 
kernel v5.4 and onward -or- the avs-driver. So, the Skylake-Y platforms 
are the only subject to be discussed if at all.

To my knowledge #2 the upstream version of skylake-driver on v4.19 
kernel breaks when utilizing old topology, the so-called 0065 -or- 0071 
which are based on soc-topology ABI v4. When it does work, it's because 
of internal patches for the kernel. Switching away from the native 
system into general purpose distro on such Chromebooks may translate to 
necessary patches missing, breaking audio in the process. Only the 
topology files for 0072 have ever been shared to the public [1].

User may also utilize the avs-driver on such machines provided they 
upgrade their kernel as we did share working files [2] for machine board 
drivers for ssm4567 and max98357a cases - onboard codecs present on 
Skylake-Y platforms.


[1]: 
https://github.com/thesofproject/avs-topology-xml/tree/for-skylake-driver?tab=readme-ov-file#supported-configurations
[2]: https://github.com/thesofproject/avs-topology-xml/releases/tag/v2024.02


Kind regards,
Czarek
Mark Brown April 4, 2024, 6:03 p.m. UTC | #3
On Wed, 03 Apr 2024 11:16:25 +0200, Cezary Rojewski wrote:
> This patchset impacts UAPI.
> 
> The only known users of the soc-topology ABI v4 are Chromebook
> configurations. Starting from kernel v5.4, all of them are making use of
> soc-topology ABI v5. The patchset first removes obsolete code from the
> Intel's skylake-driver - the driver of choice for the mentioned
> Chromebooks - and then proceeds with removal of relevant soc-topology.c
> and uapi bits.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/4] ASoC: Intel: Skylake: Remove soc-topology ABI v4 support
      commit: 251ea652050e715886b272f831cf5016150a60c8
[2/4] ASoC: topology: Remove ABI v4 support
      commit: c57468dc1f80a4a3bf6dd271688837d3c1f26e75
[3/4] ASoC: topology: Cleanup after ABI v4 support removal
      commit: 82c192540b242a8bf3c3d4140905650df9f327d4
[4/4] ASoC: topology: Remove obsolete ABI v4 structs
      commit: 4ba509bf3988f36b536b49b9e7022a6358f87f56

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