cldma.h 899 B

1234567891011121314151617181920212223242526272829
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright(c) 2021-2022 Intel Corporation. All rights reserved.
  4. *
  5. * Author: Cezary Rojewski <[email protected]>
  6. */
  7. #ifndef __SOUND_SOC_INTEL_AVS_CLDMA_H
  8. #define __SOUND_SOC_INTEL_AVS_CLDMA_H
  9. #define AVS_CL_DEFAULT_BUFFER_SIZE (32 * PAGE_SIZE)
  10. struct hda_cldma;
  11. extern struct hda_cldma code_loader;
  12. void hda_cldma_fill(struct hda_cldma *cl);
  13. void hda_cldma_transfer(struct hda_cldma *cl, unsigned long start_delay);
  14. int hda_cldma_start(struct hda_cldma *cl);
  15. int hda_cldma_stop(struct hda_cldma *cl);
  16. int hda_cldma_reset(struct hda_cldma *cl);
  17. void hda_cldma_set_data(struct hda_cldma *cl, void *data, unsigned int size);
  18. void hda_cldma_setup(struct hda_cldma *cl);
  19. int hda_cldma_init(struct hda_cldma *cl, struct hdac_bus *bus, void __iomem *dsp_ba,
  20. unsigned int buffer_size);
  21. void hda_cldma_free(struct hda_cldma *cl);
  22. #endif