33 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright(c) 2021-2022 Intel Corporation4 *5 * Author: Cezary Rojewski <cezary.rojewski@intel.com>6 */7 8#ifndef __SOUND_SOC_INTEL_AVS_CLDMA_H9#define __SOUND_SOC_INTEL_AVS_CLDMA_H10 11#include <linux/sizes.h>12 13#define AVS_CL_DEFAULT_BUFFER_SIZE SZ_128K14 15struct hda_cldma;16extern struct hda_cldma code_loader;17 18void hda_cldma_fill(struct hda_cldma *cl);19void hda_cldma_transfer(struct hda_cldma *cl, unsigned long start_delay);20 21int hda_cldma_start(struct hda_cldma *cl);22int hda_cldma_stop(struct hda_cldma *cl);23int hda_cldma_reset(struct hda_cldma *cl);24 25void hda_cldma_set_data(struct hda_cldma *cl, void *data, unsigned int size);26void hda_cldma_setup(struct hda_cldma *cl);27void hda_cldma_interrupt(struct hda_cldma *cl);28int hda_cldma_init(struct hda_cldma *cl, struct hdac_bus *bus, void __iomem *dsp_ba,29 unsigned int buffer_size);30void hda_cldma_free(struct hda_cldma *cl);31 32#endif33