mbox series

[00/14] ALSA: PCM suspend cleanup

Message ID 20190115162155.6308-1-tiwai@suse.de (mailing list archive)
Headers show
Series ALSA: PCM suspend cleanup | expand

Message

Takashi Iwai Jan. 15, 2019, 4:21 p.m. UTC
Hi,

this is a patch set to clean up the PCM suspend calls by introducing
the PCM device PM ops.  This won't change much for ASoC but reduce
lots of snd_pcm_suspend*() calls in other sound drivers.

Note that this patch series itself won't fix anything about the recent
PM issue reported for Intel ASoC, but it was inspired through the
discussion there.


thanks,

Takashi

===

Takashi Iwai (14):
  ALSA: pcm: Suspend streams globally via device type PM ops
  ALSA: atiixp: Move PCM suspend/resume code into trigger callback
  ALSA: isa: Remove superfluous snd_pcm_suspend*() calls
  ALSA: drivers: Remove superfluous snd_pcm_suspend*() calls
  ALSA: pci: Remove superfluous snd_pcm_suspend*() calls
  ALSA: usb: Remove superfluous snd_pcm_suspend*() calls
  ALSA: x86: Remove superfluous snd_pcm_suspend*() calls
  ALSA: ppc: Remove superfluous snd_pcm_suspend*() calls
  ALSA: aoa: Remove superfluous snd_pcm_suspend*() calls
  ALSA: arm: Remove superfluous snd_pcm_suspend*() calls
  ALSA: pcmcia: Remove superfluous snd_pcm_suspend*() calls
  drm: bridge: dw-hdmi: Remove superfluous snd_pcm_suspend*() calls
  ALSA: doc: Update the description about PCM suspend procedure
  ALSA: pcm: Make snd_pcm_suspend() local static

 .../kernel-api/writing-an-alsa-driver.rst     | 25 ++++++------------
 .../drm/bridge/synopsys/dw-hdmi-ahb-audio.c   |  1 -
 include/sound/pcm.h                           |  6 +----
 sound/aoa/soundbus/i2sbus/core.c              |  4 ---
 sound/arm/aaci.c                              |  1 -
 sound/arm/pxa2xx-ac97.c                       |  1 -
 sound/core/pcm.c                              | 26 +++++++++++++++++++
 sound/core/pcm_native.c                       | 11 +++-----
 sound/drivers/aloop.c                         |  4 ---
 sound/drivers/dummy.c                         |  2 --
 sound/drivers/pcsp/pcsp.c                     |  1 -
 sound/drivers/vx/vx_core.c                    |  4 ---
 sound/isa/ad1816a/ad1816a_lib.c               |  1 -
 sound/isa/als100.c                            |  1 -
 sound/isa/cmi8328.c                           |  1 -
 sound/isa/cmi8330.c                           |  1 -
 sound/isa/es1688/es1688.c                     |  2 --
 sound/isa/es18xx.c                            |  2 --
 sound/isa/sb/jazz16.c                         |  1 -
 sound/isa/sb/sb16.c                           |  1 -
 sound/isa/sb/sb8.c                            |  1 -
 sound/isa/wss/wss_lib.c                       |  1 -
 sound/pci/ali5451/ali5451.c                   |  4 +--
 sound/pci/als300.c                            |  1 -
 sound/pci/als4000.c                           |  1 -
 sound/pci/atiixp.c                            | 19 ++++++--------
 sound/pci/atiixp_modem.c                      |  2 --
 sound/pci/azt3328.c                           |  4 ---
 sound/pci/ca0106/ca0106_main.c                |  3 ---
 sound/pci/cmipci.c                            |  4 ---
 sound/pci/cs4281.c                            |  2 --
 sound/pci/cs46xx/cs46xx_lib.c                 |  6 -----
 sound/pci/cs5535audio/cs5535audio_pm.c        |  1 -
 sound/pci/ctxfi/ctatc.c                       |  8 ------
 sound/pci/echoaudio/echoaudio.c               |  3 ---
 sound/pci/emu10k1/emu10k1.c                   |  6 -----
 sound/pci/ens1370.c                           |  3 ---
 sound/pci/es1938.c                            |  1 -
 sound/pci/es1968.c                            |  1 -
 sound/pci/fm801.c                             |  1 -
 sound/pci/hda/hda_codec.c                     |  2 --
 sound/pci/ice1712/ice1712.c                   |  3 ---
 sound/pci/ice1712/ice1724.c                   |  3 ---
 sound/pci/intel8x0.c                          |  2 --
 sound/pci/intel8x0m.c                         |  3 ---
 sound/pci/maestro3.c                          |  1 -
 sound/pci/nm256/nm256.c                       |  1 -
 sound/pci/oxygen/oxygen_lib.c                 |  5 +---
 sound/pci/riptide/riptide.c                   |  1 -
 sound/pci/rme96.c                             |  2 --
 sound/pci/sis7019.c                           |  1 -
 sound/pci/trident/trident_main.c              |  4 ---
 sound/pci/via82xx.c                           |  2 --
 sound/pci/via82xx_modem.c                     |  2 --
 sound/pci/ymfpci/ymfpci_main.c                |  4 ---
 sound/pcmcia/pdaudiocf/pdaudiocf_core.c       |  1 -
 sound/ppc/pmac.c                              |  1 -
 sound/soc/soc-pcm.c                           |  1 +
 sound/usb/card.c                              |  1 -
 sound/usb/line6/driver.c                      |  4 +--
 sound/x86/intel_hdmi_audio.c                  | 12 ---------
 61 files changed, 50 insertions(+), 174 deletions(-)

Comments

Yang, Libin Jan. 17, 2019, 1:47 a.m. UTC | #1
I have tested these patches on my platform with HD Audio.
Suspend => resume => playback
Suspend with playback => resume
It works!

Regards,
Libin


>-----Original Message-----
>From: Takashi Iwai [mailto:tiwai@suse.de]
>Sent: Wednesday, January 16, 2019 12:22 AM
>To: alsa-devel@alsa-project.org
>Cc: Yang, Libin <libin.yang@intel.com>; Keyon Jie <yang.jie@linux.intel.com>;
>liam.r.girdwood@linux.intel.com; Pierre-Louis Bossart <pierre-
>louis.bossart@linux.intel.com>; broonie@kernel.org; Lin, Mengdong
><mengdong.lin@intel.com>
>Subject: [PATCH 00/14] ALSA: PCM suspend cleanup
>
>Hi,
>
>this is a patch set to clean up the PCM suspend calls by introducing the PCM
>device PM ops.  This won't change much for ASoC but reduce lots of
>snd_pcm_suspend*() calls in other sound drivers.
>
>Note that this patch series itself won't fix anything about the recent PM issue
>reported for Intel ASoC, but it was inspired through the discussion there.
>
>
>thanks,
>
>Takashi
>
>===
>
>Takashi Iwai (14):
>  ALSA: pcm: Suspend streams globally via device type PM ops
>  ALSA: atiixp: Move PCM suspend/resume code into trigger callback
>  ALSA: isa: Remove superfluous snd_pcm_suspend*() calls
>  ALSA: drivers: Remove superfluous snd_pcm_suspend*() calls
>  ALSA: pci: Remove superfluous snd_pcm_suspend*() calls
>  ALSA: usb: Remove superfluous snd_pcm_suspend*() calls
>  ALSA: x86: Remove superfluous snd_pcm_suspend*() calls
>  ALSA: ppc: Remove superfluous snd_pcm_suspend*() calls
>  ALSA: aoa: Remove superfluous snd_pcm_suspend*() calls
>  ALSA: arm: Remove superfluous snd_pcm_suspend*() calls
>  ALSA: pcmcia: Remove superfluous snd_pcm_suspend*() calls
>  drm: bridge: dw-hdmi: Remove superfluous snd_pcm_suspend*() calls
>  ALSA: doc: Update the description about PCM suspend procedure
>  ALSA: pcm: Make snd_pcm_suspend() local static
>
> .../kernel-api/writing-an-alsa-driver.rst     | 25 ++++++------------
> .../drm/bridge/synopsys/dw-hdmi-ahb-audio.c   |  1 -
> include/sound/pcm.h                           |  6 +----
> sound/aoa/soundbus/i2sbus/core.c              |  4 ---
> sound/arm/aaci.c                              |  1 -
> sound/arm/pxa2xx-ac97.c                       |  1 -
> sound/core/pcm.c                              | 26 +++++++++++++++++++
> sound/core/pcm_native.c                       | 11 +++-----
> sound/drivers/aloop.c                         |  4 ---
> sound/drivers/dummy.c                         |  2 --
> sound/drivers/pcsp/pcsp.c                     |  1 -
> sound/drivers/vx/vx_core.c                    |  4 ---
> sound/isa/ad1816a/ad1816a_lib.c               |  1 -
> sound/isa/als100.c                            |  1 -
> sound/isa/cmi8328.c                           |  1 -
> sound/isa/cmi8330.c                           |  1 -
> sound/isa/es1688/es1688.c                     |  2 --
> sound/isa/es18xx.c                            |  2 --
> sound/isa/sb/jazz16.c                         |  1 -
> sound/isa/sb/sb16.c                           |  1 -
> sound/isa/sb/sb8.c                            |  1 -
> sound/isa/wss/wss_lib.c                       |  1 -
> sound/pci/ali5451/ali5451.c                   |  4 +--
> sound/pci/als300.c                            |  1 -
> sound/pci/als4000.c                           |  1 -
> sound/pci/atiixp.c                            | 19 ++++++--------
> sound/pci/atiixp_modem.c                      |  2 --
> sound/pci/azt3328.c                           |  4 ---
> sound/pci/ca0106/ca0106_main.c                |  3 ---
> sound/pci/cmipci.c                            |  4 ---
> sound/pci/cs4281.c                            |  2 --
> sound/pci/cs46xx/cs46xx_lib.c                 |  6 -----
> sound/pci/cs5535audio/cs5535audio_pm.c        |  1 -
> sound/pci/ctxfi/ctatc.c                       |  8 ------
> sound/pci/echoaudio/echoaudio.c               |  3 ---
> sound/pci/emu10k1/emu10k1.c                   |  6 -----
> sound/pci/ens1370.c                           |  3 ---
> sound/pci/es1938.c                            |  1 -
> sound/pci/es1968.c                            |  1 -
> sound/pci/fm801.c                             |  1 -
> sound/pci/hda/hda_codec.c                     |  2 --
> sound/pci/ice1712/ice1712.c                   |  3 ---
> sound/pci/ice1712/ice1724.c                   |  3 ---
> sound/pci/intel8x0.c                          |  2 --
> sound/pci/intel8x0m.c                         |  3 ---
> sound/pci/maestro3.c                          |  1 -
> sound/pci/nm256/nm256.c                       |  1 -
> sound/pci/oxygen/oxygen_lib.c                 |  5 +---
> sound/pci/riptide/riptide.c                   |  1 -
> sound/pci/rme96.c                             |  2 --
> sound/pci/sis7019.c                           |  1 -
> sound/pci/trident/trident_main.c              |  4 ---
> sound/pci/via82xx.c                           |  2 --
> sound/pci/via82xx_modem.c                     |  2 --
> sound/pci/ymfpci/ymfpci_main.c                |  4 ---
> sound/pcmcia/pdaudiocf/pdaudiocf_core.c       |  1 -
> sound/ppc/pmac.c                              |  1 -
> sound/soc/soc-pcm.c                           |  1 +
> sound/usb/card.c                              |  1 -
> sound/usb/line6/driver.c                      |  4 +--
> sound/x86/intel_hdmi_audio.c                  | 12 ---------
> 61 files changed, 50 insertions(+), 174 deletions(-)
>
>--
>2.20.1