1. 23 Nov, 2022 2 commits
  2. 19 Nov, 2022 4 commits
  3. 16 Nov, 2022 4 commits
    • Jaroslav Kysela's avatar
      selftests: alsa - add PCM test · aba51cd0
      Jaroslav Kysela authored
      This initial code does a simple sample transfer tests. By default,
      all PCM devices are detected and tested with short and long
      buffering parameters for 4 seconds. If the sample transfer timing
      is not in a +-100ms boundary, the test fails. Only the interleaved
      buffering scheme is supported in this version.
      
      The configuration may be modified with the configuration files.
      A specific hardware configuration is detected and activated
      using the sysfs regex matching. This allows to use the DMI string
      (/sys/class/dmi/id/* tree) or any other system parameters
      exposed in sysfs for the matching for the CI automation.
      
      The configuration file may also specify the PCM device list to detect
      the missing PCM devices.
      
      v1..v2:
        - added missing alsa-local.h header file
      
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
      Cc: Liam Girdwood <liam.r.girdwood@intel.com>
      Cc: Jesse Barnes <jsbarnes@google.com>
      Cc: Jimmy Cheng-Yi Chiang <cychiang@google.com>
      Cc: Curtis Malainey <cujomalainey@google.com>
      Cc: Brian Norris <briannorris@chromium.org>
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      Reviewed-by: default avatarMark Brown <broonie@kernel.org>
      Link: https://lore.kernel.org/r/20221108115914.3751090-1-perex@perex.czSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      aba51cd0
    • Kuninori Morimoto's avatar
      ALSA: pcm: avoid nused-but-set-variable warning · 3827597a
      Kuninori Morimoto authored
      It will indicate below warning if W=1 was added and CONFIG_SND_DEBUG
      was not set. This patch adds __maybe_unused and avoid it.
      
      	${LINUX}/sound/core/pcm_native.c: In function 'constrain_mask_params':
      	${LINUX}/sound/core/pcm_native.c:291:25: error: variable 'old_mask' set but not used [-Werror=unused-but-set-variable]
      	  291 |         struct snd_mask old_mask;
      	      |                         ^~~~~~~~
      	${LINUX}/sound/core/pcm_native.c: In function 'constrain_interval_params':
      	${LINUX}/sound/core/pcm_native.c:327:29: error: variable 'old_interval' set but not used [-Werror=unused-but-set-variable]
      	  327 |         struct snd_interval old_interval;
      	      |                             ^~~~~~~~~~~~
      	${LINUX}/sound/core/pcm_native.c: In function 'constrain_params_by_rules':
      	${LINUX}/sound/core/pcm_native.c:368:29: error: variable 'old_interval' set but not used [-Werror=unused-but-set-variable]
      	  368 |         struct snd_interval old_interval;
      	      |                             ^~~~~~~~~~~~
      	${LINUX}/sound/core/pcm_native.c:367:25: error: variable 'old_mask' set but not used [-Werror=unused-but-set-variable]
      	  367 |         struct snd_mask old_mask;
      	      |                         ^~~~~~~~
      	${LINUX}/sound/core/pcm_native.c: In function 'snd_pcm_hw_params_choose':
      	${LINUX}/sound/core/pcm_native.c:652:29: error: variable 'old_interval' set but not used [-Werror=unused-but-set-variable]
      	  652 |         struct snd_interval old_interval;
      	      |                             ^~~~~~~~~~~~
      	${LINUX}/sound/core/pcm_native.c:651:25: error: variable 'old_mask' set but not used [-Werror=unused-but-set-variable]
      	  651 |         struct snd_mask old_mask;
      	      |                         ^~~~~~~~
      	cc1: all warnings being treated as errors
      	make[3]: *** [${LINUX}/scripts/Makefile.build:250: sound/core/pcm_native.o] error 1
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Reviewed-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Tested-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/874juzg3kd.wl-kuninori.morimoto.gx@renesas.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3827597a
    • Takashi Iwai's avatar
      ALSA: memalloc: Allocate more contiguous pages for fallback case · cc265163
      Takashi Iwai authored
      Currently the fallback SG allocation tries to allocate each single
      page, and this tends to result in the reverse order of memory
      addresses when large space is available at boot, as the kernel takes a
      free page from the top to the bottom in the zone.  The end result
      looks as if non-contiguous (although it actually is).  What's worse is
      that it leads to an overflow of BDL entries for HD-audio.
      
      For avoiding such a problem, this patch modifies the allocation code
      slightly; now it tries to allocate the larger contiguous chunks as
      much as possible, then reduces to the smaller chunks only if the
      allocation failed -- a similar strategy as the existing
      snd_dma_alloc_pages_fallback() function.
      
      Along with the trick, drop the unused address array from
      snd_dma_sg_fallback object.  It was needed in the past when
      dma_alloc_coherent() was used, but with the standard page allocator,
      it became superfluous and never referred.
      
      Fixes: a8d302a0 ("ALSA: memalloc: Revive x86-specific WC page allocations again")
      Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
      Link: https://lore.kernel.org/r/20221114141658.29620-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      cc265163
    • Takashi Iwai's avatar
      Merge branch 'for-linus' into for-next · d69d137e
      Takashi Iwai authored
      Back-merge of devel branch for further fixes of memalloc helpers.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d69d137e
  4. 15 Nov, 2022 2 commits
  5. 12 Nov, 2022 3 commits
  6. 10 Nov, 2022 4 commits
  7. 09 Nov, 2022 2 commits
  8. 08 Nov, 2022 4 commits
  9. 07 Nov, 2022 4 commits
  10. 05 Nov, 2022 1 commit
  11. 04 Nov, 2022 2 commits
  12. 01 Nov, 2022 3 commits
  13. 31 Oct, 2022 4 commits
  14. 29 Oct, 2022 1 commit