Files
Bingxing Wang 7b49b7c6c1 MSM8916Pkg: Implement Bam
Signed-off-by: Ivaylo Ivanov <ivo.ivanov@null.net>
2021-09-03 13:10:31 +03:00

36 lines
1.8 KiB
C

#ifndef __QCOM_PROTOCOL_BAM_H__
#define __QCOM_PROTOCOL_BAM_H__
#include <Chipset/bam.h>
#define QCOM_BAM_PROTOCOL_GUID \
{ 0xacdd545a, 0xf1f6, 0x4272, { 0x81, 0xc5, 0x04, 0x93, 0xe3, 0x58, 0x05, 0x32 } }
typedef struct _QCOM_BAM_PROTOCOL QCOM_BAM_PROTOCOL;
typedef void (EFIAPI *bam_init_t)(struct bam_instance *bam);
typedef void (EFIAPI *bam_sys_pipe_init_t)(struct bam_instance *bam, uint8_t pipe_num);
typedef int (EFIAPI *bam_pipe_fifo_init_t)(struct bam_instance *bam, uint8_t pipe_num);
typedef struct cmd_element* (EFIAPI *bam_add_cmd_element_t)(struct cmd_element *ptr, uint32_t addr, uint32_t data, enum bam_ce_cmd_t cmd_type);
typedef int (EFIAPI *bam_add_desc_t)(struct bam_instance *bam, unsigned int pipe_num, unsigned char *data_ptr, unsigned int data_len, unsigned flags);
typedef int (EFIAPI *bam_add_one_desc_t)(struct bam_instance *bam, unsigned int pipe_num, unsigned char*, uint32_t len, uint8_t flags);
typedef void (EFIAPI *bam_sys_gen_event_t)(struct bam_instance *bam, uint8_t pipe_num, unsigned int num_desc);
typedef int (EFIAPI *bam_wait_for_interrupt_t)(struct bam_instance *bam, uint8_t pipe_num, enum p_int_type interrupt);
typedef void (EFIAPI *bam_read_offset_update_t)(struct bam_instance *bam, unsigned int pipe_num);
struct _QCOM_BAM_PROTOCOL {
bam_init_t bam_init;
bam_sys_pipe_init_t bam_sys_pipe_init;
bam_pipe_fifo_init_t bam_pipe_fifo_init;
bam_add_cmd_element_t bam_add_cmd_element;
bam_add_desc_t bam_add_desc;
bam_add_one_desc_t bam_add_one_desc;
bam_sys_gen_event_t bam_sys_gen_event;
bam_wait_for_interrupt_t bam_wait_for_interrupt;
bam_read_offset_update_t bam_read_offset_update;
};
extern EFI_GUID gQcomBamProtocolGuid;
#endif