#include "dm_services.h"
#include "irq_service_dcn302.h"
#include "../dce110/irq_service_dce110.h"
#include "dimgrey_cavefish_ip_offset.h"
#include "dcn/dcn_3_0_0_offset.h"
#include "dcn/dcn_3_0_0_sh_mask.h"
#include "ivsrcid/dcn/irqsrcs_dcn_1_0.h"
static enum dc_irq_source to_dal_irq_source_dcn302(struct irq_service *irq_service, uint32_t src_id, uint32_t ext_id)
{ … }
static bool hpd_ack(struct irq_service *irq_service, const struct irq_source_info *info)
{ … }
static struct irq_source_info_funcs hpd_irq_info_funcs = …;
static struct irq_source_info_funcs hpd_rx_irq_info_funcs = …;
static struct irq_source_info_funcs pflip_irq_info_funcs = …;
static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = …;
static struct irq_source_info_funcs vblank_irq_info_funcs = …;
static struct irq_source_info_funcs dmub_trace_irq_info_funcs = …;
static struct irq_source_info_funcs vline0_irq_info_funcs = …;
#undef BASE_INNER
#define BASE_INNER(seg) …
#define BASE(seg) …
#define SRI(reg_name, block, id) …
#define SRI_DMUB(reg_name) …
#define IRQ_REG_ENTRY(block, reg_num, reg1, mask1, reg2, mask2) … \
#define dmub_trace_int_entry() …
#define IRQ_REG_ENTRY_DMUB(reg1, mask1, reg2, mask2) … \
#define hpd_int_entry(reg_num) …
#define hpd_rx_int_entry(reg_num) …
#define pflip_int_entry(reg_num) …
#define vupdate_no_lock_int_entry(reg_num) …
#define vblank_int_entry(reg_num) …
#define vline0_int_entry(reg_num) …
#define dummy_irq_entry() …
#define i2c_int_entry(reg_num) …
#define dp_sink_int_entry(reg_num) …
#define gpio_pad_int_entry(reg_num) …
#define dc_underflow_int_entry(reg_num) …
static struct irq_source_info_funcs dummy_irq_info_funcs = …;
static const struct irq_source_info irq_source_info_dcn302[DAL_IRQ_SOURCES_NUMBER] = …;
static const struct irq_service_funcs irq_service_funcs_dcn302 = …;
static void dcn302_irq_construct(struct irq_service *irq_service, struct irq_service_init_data *init_data)
{ … }
struct irq_service *dal_irq_service_dcn302_create(struct irq_service_init_data *init_data)
{ … }