msm-slim-dma.h 915 B

123456789101112131415161718192021222324252627282930313233343536
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2014, 2017 The Linux Foundation. All rights reserved.
  4. *
  5. */
  6. #ifndef _MSM_SLIMBUS_DMA_H
  7. #define _MSM_SLIMBUS_DMA_H
  8. #include <linux/slimbus/slimbus.h>
  9. /*
  10. * struct msm_slim_dma_data - DMA data for slimbus data transfer
  11. *
  12. * @sdev: Handle to the slim_device instance associated with the
  13. * data transfer.
  14. * @ph: Port handle for the slimbus ports.
  15. * @dai_channel_ctl: callback function into the CPU dai driver
  16. * to setup the data path.
  17. *
  18. * This structure is used to share the slimbus port handles and
  19. * other data path setup related handles with other drivers.
  20. */
  21. struct msm_slim_dma_data {
  22. /* Handle to slimbus device */
  23. struct slim_device *sdev;
  24. /* Port Handle */
  25. u32 ph;
  26. /* Callback for data channel control */
  27. int (*dai_channel_ctl)(struct msm_slim_dma_data *dma_data,
  28. struct snd_soc_dai *dai, bool enable);
  29. };
  30. #endif