Commit 9d6fa676 authored by Qingqing Zhuo's avatar Qingqing Zhuo Committed by Alex Deucher

drm/amd/display: Add DCN35 IRQ

[Why & How]
- Add IRQ handling for DCN35
- Update IRQ files for other DCNs in accordance
  to change in irq_service.h
Signed-off-by: default avatarQingqing Zhuo <Qingqing.Zhuo@amd.com>
Acked-by: default avatarHarry Wentland <Harry.Wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 8774029f
...@@ -162,3 +162,12 @@ IRQ_DCN32 = irq_service_dcn32.o ...@@ -162,3 +162,12 @@ IRQ_DCN32 = irq_service_dcn32.o
AMD_DAL_IRQ_DCN32= $(addprefix $(AMDDALPATH)/dc/irq/dcn32/,$(IRQ_DCN32)) AMD_DAL_IRQ_DCN32= $(addprefix $(AMDDALPATH)/dc/irq/dcn32/,$(IRQ_DCN32))
AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCN32) AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCN32)
###############################################################################
# DCN 35
###############################################################################
IRQ_DCN35 = irq_service_dcn35.o
AMD_DAL_IRQ_DCN35= $(addprefix $(AMDDALPATH)/dc/irq/dcn35/,$(IRQ_DCN35))
AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCN35)
\ No newline at end of file
...@@ -61,27 +61,27 @@ static bool hpd_ack(struct irq_service *irq_service, ...@@ -61,27 +61,27 @@ static bool hpd_ack(struct irq_service *irq_service,
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = dce110_vblank_set, .set = dce110_vblank_set,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_irq_info_funcs = { static struct irq_source_info_funcs vupdate_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -225,7 +225,7 @@ bool dce110_vblank_set(struct irq_service *irq_service, ...@@ -225,7 +225,7 @@ bool dce110_vblank_set(struct irq_service *irq_service,
return true; return true;
} }
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -64,27 +64,27 @@ static bool hpd_ack( ...@@ -64,27 +64,27 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = dce110_vblank_set, .set = dce110_vblank_set,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_irq_info_funcs = { static struct irq_source_info_funcs vupdate_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -174,7 +174,7 @@ static const struct irq_source_info_funcs vupdate_irq_info_funcs = { ...@@ -174,7 +174,7 @@ static const struct irq_source_info_funcs vupdate_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -73,27 +73,27 @@ static bool hpd_ack( ...@@ -73,27 +73,27 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = dce110_vblank_set, .set = dce110_vblank_set,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs_dce60 = { static struct irq_source_info_funcs vblank_irq_info_funcs_dce60 = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -192,7 +192,7 @@ static const struct irq_source_info_funcs vblank_irq_info_funcs_dce60 = { ...@@ -192,7 +192,7 @@ static const struct irq_source_info_funcs vblank_irq_info_funcs_dce60 = {
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -64,27 +64,27 @@ static bool hpd_ack( ...@@ -64,27 +64,27 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = dce110_vblank_set, .set = dce110_vblank_set,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_irq_info_funcs = { static struct irq_source_info_funcs vupdate_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -184,7 +184,7 @@ static const struct irq_source_info_funcs vupdate_irq_info_funcs = { ...@@ -184,7 +184,7 @@ static const struct irq_source_info_funcs vupdate_irq_info_funcs = {
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -156,32 +156,32 @@ static bool hpd_ack( ...@@ -156,32 +156,32 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vline0_irq_info_funcs = { static struct irq_source_info_funcs vline0_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -280,7 +280,7 @@ static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { ...@@ -280,7 +280,7 @@ static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -159,32 +159,32 @@ static bool hpd_ack( ...@@ -159,32 +159,32 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vline0_irq_info_funcs = { static struct irq_source_info_funcs vline0_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -287,7 +287,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = { ...@@ -287,7 +287,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -107,31 +107,31 @@ static bool hpd_ack( ...@@ -107,31 +107,31 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vline0_irq_info_funcs = { static struct irq_source_info_funcs vline0_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -239,7 +239,7 @@ static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { ...@@ -239,7 +239,7 @@ static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -161,37 +161,37 @@ static bool hpd_ack( ...@@ -161,37 +161,37 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs dmub_outbox_irq_info_funcs = { static struct irq_source_info_funcs dmub_outbox_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vline0_irq_info_funcs = { static struct irq_source_info_funcs vline0_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -316,7 +316,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = { ...@@ -316,7 +316,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -166,37 +166,37 @@ static bool hpd_ack( ...@@ -166,37 +166,37 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs dmub_trace_irq_info_funcs = { static struct irq_source_info_funcs dmub_trace_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vline0_irq_info_funcs = { static struct irq_source_info_funcs vline0_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -321,7 +321,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = { ...@@ -321,7 +321,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -143,37 +143,37 @@ static bool hpd_ack(struct irq_service *irq_service, const struct irq_source_inf ...@@ -143,37 +143,37 @@ static bool hpd_ack(struct irq_service *irq_service, const struct irq_source_inf
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs dmub_trace_irq_info_funcs = { static struct irq_source_info_funcs dmub_trace_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vline0_irq_info_funcs = { static struct irq_source_info_funcs vline0_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -290,7 +290,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = { ...@@ -290,7 +290,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -75,32 +75,32 @@ static bool hpd_ack(struct irq_service *irq_service, const struct irq_source_inf ...@@ -75,32 +75,32 @@ static bool hpd_ack(struct irq_service *irq_service, const struct irq_source_inf
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vline0_irq_info_funcs = { static struct irq_source_info_funcs vline0_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -195,7 +195,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = { ...@@ -195,7 +195,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -155,37 +155,37 @@ static bool hpd_ack( ...@@ -155,37 +155,37 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs outbox_irq_info_funcs = { static struct irq_source_info_funcs outbox_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vline0_irq_info_funcs = { static struct irq_source_info_funcs vline0_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -309,7 +309,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = { ...@@ -309,7 +309,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -157,37 +157,37 @@ static bool hpd_ack( ...@@ -157,37 +157,37 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs outbox_irq_info_funcs = { static struct irq_source_info_funcs outbox_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vline0_irq_info_funcs = { static struct irq_source_info_funcs vline0_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -311,7 +311,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = { ...@@ -311,7 +311,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -162,37 +162,37 @@ static bool hpd_ack( ...@@ -162,37 +162,37 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs outbox_irq_info_funcs = { static struct irq_source_info_funcs outbox_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vline0_irq_info_funcs = { static struct irq_source_info_funcs vline0_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -316,7 +316,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = { ...@@ -316,7 +316,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
...@@ -156,37 +156,37 @@ static bool hpd_ack( ...@@ -156,37 +156,37 @@ static bool hpd_ack(
return true; return true;
} }
static const struct irq_source_info_funcs hpd_irq_info_funcs = { static struct irq_source_info_funcs hpd_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = hpd_ack .ack = hpd_ack
}; };
static const struct irq_source_info_funcs hpd_rx_irq_info_funcs = { static struct irq_source_info_funcs hpd_rx_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs pflip_irq_info_funcs = { static struct irq_source_info_funcs pflip_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = { static struct irq_source_info_funcs vupdate_no_lock_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vblank_irq_info_funcs = { static struct irq_source_info_funcs vblank_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs outbox_irq_info_funcs = { static struct irq_source_info_funcs outbox_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
static const struct irq_source_info_funcs vline0_irq_info_funcs = { static struct irq_source_info_funcs vline0_irq_info_funcs = {
.set = NULL, .set = NULL,
.ack = NULL .ack = NULL
}; };
...@@ -310,7 +310,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = { ...@@ -310,7 +310,7 @@ static const struct irq_source_info_funcs vline0_irq_info_funcs = {
#define dc_underflow_int_entry(reg_num) \ #define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry() [DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
static const struct irq_source_info_funcs dummy_irq_info_funcs = { static struct irq_source_info_funcs dummy_irq_info_funcs = {
.set = dal_irq_service_dummy_set, .set = dal_irq_service_dummy_set,
.ack = dal_irq_service_dummy_ack .ack = dal_irq_service_dummy_ack
}; };
......
This diff is collapsed.
/*
* Copyright 2021 Advanced Micro Devices, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* Authors: AMD
*
*/
#ifndef __DAL_IRQ_SERVICE_DCN35_H__
#define __DAL_IRQ_SERVICE_DCN35_H__
#include "../irq_service.h"
struct irq_service *dal_irq_service_dcn35_create(
struct irq_service_init_data *init_data);
#endif /* __DAL_IRQ_SERVICE_DCN35_H__ */
...@@ -53,7 +53,7 @@ struct irq_source_info { ...@@ -53,7 +53,7 @@ struct irq_source_info {
uint32_t ack_mask; uint32_t ack_mask;
uint32_t ack_value; uint32_t ack_value;
uint32_t status_reg; uint32_t status_reg;
const struct irq_source_info_funcs *funcs; struct irq_source_info_funcs *funcs;
}; };
struct irq_service_funcs { struct irq_service_funcs {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment