hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/gpu/drm/amd/display/dc/irq/dce110/irq_service_dce110.c
....@@ -23,6 +23,8 @@
2323 *
2424 */
2525
26
+#include <linux/slab.h>
27
+
2628 #include "dm_services.h"
2729
2830 #include "include/logger_interface.h"
....@@ -78,6 +80,11 @@
7880
7981 static const struct irq_source_info_funcs vblank_irq_info_funcs = {
8082 .set = dce110_vblank_set,
83
+ .ack = NULL
84
+};
85
+
86
+static const struct irq_source_info_funcs vupdate_irq_info_funcs = {
87
+ .set = NULL,
8188 .ack = NULL
8289 };
8390
....@@ -137,7 +144,7 @@
137144 CRTC_V_UPDATE_INT_STATUS__CRTC_V_UPDATE_INT_CLEAR_MASK,\
138145 .ack_value =\
139146 CRTC_V_UPDATE_INT_STATUS__CRTC_V_UPDATE_INT_CLEAR_MASK,\
140
- .funcs = &vblank_irq_info_funcs\
147
+ .funcs = &vupdate_irq_info_funcs\
141148 }
142149
143150 #define vblank_int_entry(reg_num)\
....@@ -197,7 +204,7 @@
197204 bool enable)
198205 {
199206 struct dc_context *dc_ctx = irq_service->ctx;
200
- struct dc *core_dc = irq_service->ctx->dc;
207
+ struct dc *dc = irq_service->ctx->dc;
201208 enum dc_irq_source dal_irq_src =
202209 dc_interrupt_to_irq_source(irq_service->ctx->dc,
203210 info->src_id,
....@@ -205,7 +212,7 @@
205212 uint8_t pipe_offset = dal_irq_src - IRQ_TYPE_VBLANK;
206213
207214 struct timing_generator *tg =
208
- core_dc->current_state->res_ctx.pipe_ctx[pipe_offset].stream_res.tg;
215
+ dc->current_state->res_ctx.pipe_ctx[pipe_offset].stream_res.tg;
209216
210217 if (enable) {
211218 if (!tg || !tg->funcs->arm_vert_intr(tg, 2)) {
....@@ -396,7 +403,7 @@
396403 .to_dal_irq_source = to_dal_irq_source_dce110
397404 };
398405
399
-static void construct(struct irq_service *irq_service,
406
+static void dce110_irq_construct(struct irq_service *irq_service,
400407 struct irq_service_init_data *init_data)
401408 {
402409 dal_irq_service_construct(irq_service, init_data);
....@@ -414,6 +421,6 @@
414421 if (!irq_service)
415422 return NULL;
416423
417
- construct(irq_service, init_data);
424
+ dce110_irq_construct(irq_service, init_data);
418425 return irq_service;
419426 }