tegra_pcm.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * tegra_pcm.h - Definitions for Tegra PCM driver
  4. *
  5. * Author: Stephen Warren <[email protected]>
  6. * Copyright (C) 2010,2012 - NVIDIA, Inc.
  7. *
  8. * Based on code copyright/by:
  9. *
  10. * Copyright (c) 2009-2010, NVIDIA Corporation.
  11. * Scott Peterson <[email protected]>
  12. *
  13. * Copyright (C) 2010 Google, Inc.
  14. * Iliyan Malchev <[email protected]>
  15. */
  16. #ifndef __TEGRA_PCM_H__
  17. #define __TEGRA_PCM_H__
  18. #include <sound/dmaengine_pcm.h>
  19. #include <sound/asound.h>
  20. int tegra_pcm_construct(struct snd_soc_component *component,
  21. struct snd_soc_pcm_runtime *rtd);
  22. int tegra_pcm_open(struct snd_soc_component *component,
  23. struct snd_pcm_substream *substream);
  24. int tegra_pcm_close(struct snd_soc_component *component,
  25. struct snd_pcm_substream *substream);
  26. int tegra_pcm_hw_params(struct snd_soc_component *component,
  27. struct snd_pcm_substream *substream,
  28. struct snd_pcm_hw_params *params);
  29. snd_pcm_uframes_t tegra_pcm_pointer(struct snd_soc_component *component,
  30. struct snd_pcm_substream *substream);
  31. int tegra_pcm_platform_register(struct device *dev);
  32. int devm_tegra_pcm_platform_register(struct device *dev);
  33. int tegra_pcm_platform_register_with_chan_names(struct device *dev,
  34. struct snd_dmaengine_pcm_config *config,
  35. char *txdmachan, char *rxdmachan);
  36. void tegra_pcm_platform_unregister(struct device *dev);
  37. #endif