mbox series

[v2,00/13] ASoC: Intel: Remove obsolete solutions and components

Message ID 20201006064907.16277-1-cezary.rojewski@intel.com
Headers show
Series ASoC: Intel: Remove obsolete solutions and components | expand

Message

Cezary Rojewski Oct. 6, 2020, 6:48 a.m. UTC
Follow up to catpt series as mentioned in:
[PATCH v10 00/14] ASoC: Intel: Catpt - Lynx and Wildcat point
https://www.spinics.net/lists/alsa-devel/msg116440.html

As catpt is a direct replacement to sound/soc/intel/haswell, it leaves a
lot of code redudant. The second legacy solution - baytrail - is
deprecated for a long time by sound/soc/intel/atom with SOF flavor
available too.

This series addresses the redudancy and removes obsolete code. Along
with the legacy solutions, all orphaned components are removed too.

As a consequence, further cleanups are unlocked: sound/soc/intel/skylake
becomes the sole user of processing code found in
sound/soc/intel/common. Those are not part of this series.


Changes in v2:
- just a rebase so patch 04/13 applies cleanly
- left the tags as no actual changes done in between


Cezary Rojewski (13):
  ASoC: Intel: Remove haswell solution
  ASoC: Intel: Remove max98090 support for baytrail solution
  ASoC: Intel: Remove rt5640 support for baytrail solution
  ASoC: Intel: Remove baytrail solution
  ASoC: Intel: Remove SST ACPI component
  ASoC: Intel: Remove SST firmware components
  ASoC: Intel: Skylake: Unassign ram_read and read_write ops
  ASoC: Intel: Remove unused DSP operations
  ASoC: Intel: Remove unused DSP interface fields
  ASoC: Intel: Remove SST-legacy specific constants
  ASoC: Intel: Make atom components independent of sst-dsp
  ASoC: Intel: Remove sst_pdata structure
  ASoC: Intel: Remove sst_dsp_get_thread_context

 include/sound/soc-acpi-intel-match.h          |    1 -
 include/trace/events/hswadsp.h                |  385 ---
 sound/soc/intel/Kconfig                       |   26 -
 sound/soc/intel/Makefile                      |    1 -
 sound/soc/intel/atom/sst/sst.c                |    1 -
 sound/soc/intel/atom/sst/sst.h                |    7 +
 sound/soc/intel/atom/sst/sst_acpi.c           |    1 -
 sound/soc/intel/atom/sst/sst_drv_interface.c  |    3 -
 sound/soc/intel/atom/sst/sst_ipc.c            |    1 -
 sound/soc/intel/atom/sst/sst_loader.c         |    1 -
 sound/soc/intel/atom/sst/sst_pvt.c            |    1 -
 sound/soc/intel/atom/sst/sst_stream.c         |    1 -
 sound/soc/intel/baytrail/Makefile             |    5 -
 sound/soc/intel/baytrail/sst-baytrail-dsp.c   |  358 ---
 sound/soc/intel/baytrail/sst-baytrail-ipc.c   |  772 ------
 sound/soc/intel/baytrail/sst-baytrail-ipc.h   |   64 -
 sound/soc/intel/baytrail/sst-baytrail-pcm.c   |  459 ----
 sound/soc/intel/boards/Kconfig                |   25 -
 sound/soc/intel/boards/Makefile               |    4 -
 sound/soc/intel/boards/byt-max98090.c         |  182 --
 sound/soc/intel/boards/byt-rt5640.c           |  224 --
 sound/soc/intel/boards/bytcht_es8316.c        |    1 -
 sound/soc/intel/boards/bytcr_rt5640.c         |    1 -
 sound/soc/intel/common/Makefile               |    4 -
 .../intel/common/soc-acpi-intel-byt-match.c   |   15 -
 sound/soc/intel/common/sst-acpi.c             |  236 --
 sound/soc/intel/common/sst-dsp-priv.h         |  284 +--
 sound/soc/intel/common/sst-dsp.c              |  162 --
 sound/soc/intel/common/sst-dsp.h              |  222 --
 sound/soc/intel/common/sst-firmware.c         | 1273 ----------
 sound/soc/intel/common/sst-ipc.c              |   27 -
 sound/soc/intel/common/sst-ipc.h              |    3 -
 sound/soc/intel/haswell/Makefile              |    5 -
 sound/soc/intel/haswell/sst-haswell-dsp.c     |  705 ------
 sound/soc/intel/haswell/sst-haswell-ipc.c     | 2222 -----------------
 sound/soc/intel/haswell/sst-haswell-ipc.h     |  527 ----
 sound/soc/intel/haswell/sst-haswell-pcm.c     | 1369 ----------
 sound/soc/intel/skylake/bxt-sst.c             |    2 -
 sound/soc/intel/skylake/cnl-sst.c             |    4 +-
 sound/soc/intel/skylake/skl-sst-dsp.c         |    2 +-
 sound/soc/intel/skylake/skl-sst-ipc.c         |    2 +-
 sound/soc/intel/skylake/skl-sst.c             |    2 -
 42 files changed, 11 insertions(+), 9579 deletions(-)
 delete mode 100644 include/trace/events/hswadsp.h
 delete mode 100644 sound/soc/intel/baytrail/Makefile
 delete mode 100644 sound/soc/intel/baytrail/sst-baytrail-dsp.c
 delete mode 100644 sound/soc/intel/baytrail/sst-baytrail-ipc.c
 delete mode 100644 sound/soc/intel/baytrail/sst-baytrail-ipc.h
 delete mode 100644 sound/soc/intel/baytrail/sst-baytrail-pcm.c
 delete mode 100644 sound/soc/intel/boards/byt-max98090.c
 delete mode 100644 sound/soc/intel/boards/byt-rt5640.c
 delete mode 100644 sound/soc/intel/common/sst-acpi.c
 delete mode 100644 sound/soc/intel/common/sst-firmware.c
 delete mode 100644 sound/soc/intel/haswell/Makefile
 delete mode 100644 sound/soc/intel/haswell/sst-haswell-dsp.c
 delete mode 100644 sound/soc/intel/haswell/sst-haswell-ipc.c
 delete mode 100644 sound/soc/intel/haswell/sst-haswell-ipc.h
 delete mode 100644 sound/soc/intel/haswell/sst-haswell-pcm.c

Comments

Liam Girdwood Oct. 6, 2020, 12:22 p.m. UTC | #1
On Tue, 2020-10-06 at 08:48 +0200, Cezary Rojewski wrote:
> Follow up to catpt series as mentioned in:
> 
> [PATCH v10 00/14] ASoC: Intel: Catpt - Lynx and Wildcat point
> 
> https://www.spinics.net/lists/alsa-devel/msg116440.html
> 
> 
> 
> As catpt is a direct replacement to sound/soc/intel/haswell, it leaves a
> 
> lot of code redudant. The second legacy solution - baytrail - is
> 
> deprecated for a long time by sound/soc/intel/atom with SOF flavor
> 
> available too.
> 
> 
> 
> This series addresses the redudancy and removes obsolete code. Along
> 
> with the legacy solutions, all orphaned components are removed too.
> 
> 
> 
> As a consequence, further cleanups are unlocked: sound/soc/intel/skylake
> 
> becomes the sole user of processing code found in
> 
> sound/soc/intel/common. Those are not part of this series.

All 

Acked-by: Liam Girdwood <liam.r.girdwood@intel.com>
Pierre-Louis Bossart Oct. 6, 2020, 3:20 p.m. UTC | #2
On 10/6/20 7:22 AM, Liam Girdwood wrote:
> On Tue, 2020-10-06 at 08:48 +0200, Cezary Rojewski wrote:
>> Follow up to catpt series as mentioned in:
>>
>> [PATCH v10 00/14] ASoC: Intel: Catpt - Lynx and Wildcat point
>>
>> https://www.spinics.net/lists/alsa-devel/msg116440.html
>>
>>
>>
>> As catpt is a direct replacement to sound/soc/intel/haswell, it leaves a
>>
>> lot of code redudant. The second legacy solution - baytrail - is
>>
>> deprecated for a long time by sound/soc/intel/atom with SOF flavor
>>
>> available too.
>>
>>
>>
>> This series addresses the redudancy and removes obsolete code. Along
>>
>> with the legacy solutions, all orphaned components are removed too.
>>
>>
>>
>> As a consequence, further cleanups are unlocked: sound/soc/intel/skylake
>>
>> becomes the sole user of processing code found in
>>
>> sound/soc/intel/common. Those are not part of this series.
> 
> All
> 
> Acked-by: Liam Girdwood <liam.r.girdwood@intel.com>

Also re-adding my ack already provided for v1.

Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Hans de Goede Oct. 12, 2020, 8:26 a.m. UTC | #3
Hi,

On 10/6/20 8:48 AM, Cezary Rojewski wrote:
> Follow up to catpt series as mentioned in:
> [PATCH v10 00/14] ASoC: Intel: Catpt - Lynx and Wildcat point
> https://www.spinics.net/lists/alsa-devel/msg116440.html
> 
> As catpt is a direct replacement to sound/soc/intel/haswell, it leaves a
> lot of code redudant. The second legacy solution - baytrail - is
> deprecated for a long time by sound/soc/intel/atom with SOF flavor
> available too.
> 
> This series addresses the redudancy and removes obsolete code. Along
> with the legacy solutions, all orphaned components are removed too.
> 
> As a consequence, further cleanups are unlocked: sound/soc/intel/skylake
> becomes the sole user of processing code found in
> sound/soc/intel/common. Those are not part of this series.

Since I've mostly worked with Pierre-Louis on this, I guess you may not
know this, but I have more or less single handedly have made sure that
audio works properly on Bay Trail and Cherry Trail devices during the
last few years.  Can you please Cc me on future series which impact
Bay Trail / Cherry Trail support ?

FWIW (since that this is already merged) I'm fine with removing the
quite old Bay Trail support from common/sst-acpi.c, at least Fedora
has been using the medium-old (with SOF being the new thing)
CONFIG_SND_SST_IPC_ACPI support for Bay Trail audio support for
quite some time now.

This is not just about Bay Trail And Cherry Trail devices though,
this series also makes changes impacting Haswell and Broadwell devices.

The commit removing this support claims that at least for Haswell the
new sound/soc/intel/catpt replaces it, but I do not see that code in
5.9, so that means that in one cycle we are both introducing the
replacement and dropping the old code ?  I'm not sure if that is such
a great idea, what is the fallback plan if testing does find significant
issues with the new catpt code ?

Anyways since AFAIK this series is already in next I guess we will
find out how this goes.

Regards,

Hans
Cezary Rojewski Oct. 12, 2020, 9:24 a.m. UTC | #4
On 2020-10-12 10:26 AM, Hans de Goede wrote:
> Hi,

> 

> On 10/6/20 8:48 AM, Cezary Rojewski wrote:

>> Follow up to catpt series as mentioned in:

>> [PATCH v10 00/14] ASoC: Intel: Catpt - Lynx and Wildcat point

>> https://www.spinics.net/lists/alsa-devel/msg116440.html

>>

>> As catpt is a direct replacement to sound/soc/intel/haswell, it leaves a

>> lot of code redudant. The second legacy solution - baytrail - is

>> deprecated for a long time by sound/soc/intel/atom with SOF flavor

>> available too.

>>

>> This series addresses the redudancy and removes obsolete code. Along

>> with the legacy solutions, all orphaned components are removed too.

>>

>> As a consequence, further cleanups are unlocked: sound/soc/intel/skylake

>> becomes the sole user of processing code found in

>> sound/soc/intel/common. Those are not part of this series.

> 

> Since I've mostly worked with Pierre-Louis on this, I guess you may not

> know this, but I have more or less single handedly have made sure that

> audio works properly on Bay Trail and Cherry Trail devices during the

> last few years.  Can you please Cc me on future series which impact

> Bay Trail / Cherry Trail support ?

> 


Hello Hans,

Thanks for your help during maintenance of BYT & CHT products.
Agreed, will Cc you in future series for listed devices.

> FWIW (since that this is already merged) I'm fine with removing the

> quite old Bay Trail support from common/sst-acpi.c, at least Fedora

> has been using the medium-old (with SOF being the new thing)

> CONFIG_SND_SST_IPC_ACPI support for Bay Trail audio support for

> quite some time now.

> 


Please note CONFIG_SND_SST_IPC_ACPI is targeting /atom/ solution, not
the /baytrail/ one (see the /atom/sst/Makefile). Fact that is has been
used within /common/sst-acpi.c is a developer's mistake probably caused
by generic naming of mentioned kconfig.

I'll send a patch today somewhat addressing this inconsistency.

> This is not just about Bay Trail And Cherry Trail devices though,

> this series also makes changes impacting Haswell and Broadwell devices.

> 

> The commit removing this support claims that at least for Haswell the

> new sound/soc/intel/catpt replaces it, but I do not see that code in

> 5.9, so that means that in one cycle we are both introducing the

> replacement and dropping the old code ?  I'm not sure if that is such

> a great idea, what is the fallback plan if testing does find significant

> issues with the new catpt code ?

> 

> Anyways since AFAIK this series is already in next I guess we will

> find out how this goes.

> 


Your report about this series being merged to v5.9 is worrying. It is
not supposed to be there as catpt-series is its direct dependency. Cover
letter for the latter mentions that explicitly while this series starts
with "Follow up to catpt series".

Old hsw/bdw code is in fact the main recipient, old baytrail is 'while
at it' do (...). Over the past months I've heard more and more voices
requesting sound/soc/intel/ code size reduction - dropping the redundant
solutions and actually verify their correctness. Well, /haswell/ failed
all tests but simple pb/cp. /baytrail/ has been flagged as ~100%
duplicate to /atom/ and most of /common/ code isn't actually common. You
can see that in this very series where one by one I'm dissecting regions
to be removed.

Given the work that has been done behind the scenes, I'd argue hsw/bdw
has never been in the better place than it is today - that goes for
both, Linux and Windows solutions as both worlds took part in this
project. Code rewritten, actual CI running, several setups in racks,
documentation refreshed, FW + SW windows again on thier legs and so on.

I'll be sending ~2 patches addressing more advanced scenarios which
/haswell/ wasn't even covering. Will keep you in Cc too.

Regards,
Czarek
Hans de Goede Oct. 12, 2020, 11:53 a.m. UTC | #5
Hi,

On 10/12/20 1:36 PM, Mark Brown wrote:
> On Mon, Oct 12, 2020 at 11:09:04AM +0200, Takashi Iwai wrote:
>> Hans de Goede wrote:
> 
>>> replacement and dropping the old code ?  I'm not sure if that is such
>>> a great idea, what is the fallback plan if testing does find significant
>>> issues with the new catpt code ?
> 
>> I find the action a bit too rushing, too.  OTOH, the old code wasn't
>> well maintained, honestly speaking.  So, from another perspective,
>> switching to a new code can be seen as a better chance to fix any
>> bugs.
> 
> That was my take as well - the old code seemed to be very fragile for
> structural reasons which are hopefully addressed here and Intel seem
> willing to actively work on supporting this version.  I have to confess
> I had assumed Hans had seen all this stuff going past, the new driver
> got quite a few rounds of review.

My ASoC interest is 99% Intel Bay Trail / Cherry Trail support, so
I'm not on alsa-devel list since that gets a lot more then just that.

IOW I'm relying on being Cc-ed, which might not be the best tactic
I guess.

Anyways, the Bay Trail / Cherry Trail changes here are 100% ok with me.
I pointed out the Haswell / Broadwell bits since I was taking a look
anyways, I don't really have a strong opinion on those, I've never seen
a  Haswell / Broadwell machine actually using the SST/ASoC code,
all those which I have seen use the HDA driver.

And from the sounds of it for those rare Haswell / Broadwell machines
which do use the SST code the new catpt code should be an improvement.
So from my pov everything is good.

Regards,

Hans
Cezary Rojewski Oct. 12, 2020, 12:19 p.m. UTC | #6
On 2020-10-12 1:53 PM, Hans de Goede wrote:
> Hi,
> 
> On 10/12/20 1:36 PM, Mark Brown wrote:
>> On Mon, Oct 12, 2020 at 11:09:04AM +0200, Takashi Iwai wrote:
>>> Hans de Goede wrote:
>>
>>>> replacement and dropping the old code ?  I'm not sure if that is such
>>>> a great idea, what is the fallback plan if testing does find 
>>>> significant
>>>> issues with the new catpt code ?
>>
>>> I find the action a bit too rushing, too.  OTOH, the old code wasn't
>>> well maintained, honestly speaking.  So, from another perspective,
>>> switching to a new code can be seen as a better chance to fix any
>>> bugs.
>>
>> That was my take as well - the old code seemed to be very fragile for
>> structural reasons which are hopefully addressed here and Intel seem
>> willing to actively work on supporting this version.  I have to confess
>> I had assumed Hans had seen all this stuff going past, the new driver
>> got quite a few rounds of review.

Thanks for your encouraging words, Takashi and Mark.

My faith is with accuracy of our CI, not the fingers crossing though : )

Happy to receive any feedback. Andy pushed me to dig several low-level
issues e.g. DMA engine configuration and PCI description which were
hidden since 2014 behind other errors, what I'm thankful for.
v1 addressed the latter, further series the former.

Indeed, given the resources that have been put into assembling active
HSW/BDW CI - which happily joined the SKL-TGL family in racks -,
commitment to support the catpt solution is assured.

> 
> My ASoC interest is 99% Intel Bay Trail / Cherry Trail support, so
> I'm not on alsa-devel list since that gets a lot more then just that.
> 
> IOW I'm relying on being Cc-ed, which might not be the best tactic
> I guess.
> 
> Anyways, the Bay Trail / Cherry Trail changes here are 100% ok with me.
> I pointed out the Haswell / Broadwell bits since I was taking a look
> anyways, I don't really have a strong opinion on those, I've never seen
> a  Haswell / Broadwell machine actually using the SST/ASoC code,
> all those which I have seen use the HDA driver.
> 
> And from the sounds of it for those rare Haswell / Broadwell machines
> which do use the SST code the new catpt code should be an improvement.
> So from my pov everything is good.
> 

Hans,

I understand that actual DSP-hw is quite old (2011 dev, 2014 release) so
besides what is already available, I won't be adding many things. Those
are: firmware logs (debug feature), module support (WAVES). Nothing more,
nothing less. Immediately afterward catpt enters hard-maintenance stage
where only fixes are allowed.

Stress tests are still ongoing as my goal is to remove basically any-hsw
specific code (~50 lines) as hsw is here only from maintenance point of
view as explained in catpt's series cover-letter.

The more eyes looking at the code, the merrier : ) Thanks for your
input.

Regards,
Czarek