| .. | .. |
|---|
| 23 | 23 | * |
|---|
| 24 | 24 | */ |
|---|
| 25 | 25 | |
|---|
| 26 | +#include <linux/slab.h> |
|---|
| 27 | + |
|---|
| 26 | 28 | #include "dm_services.h" |
|---|
| 27 | 29 | |
|---|
| 28 | 30 | #include "include/logger_interface.h" |
|---|
| .. | .. |
|---|
| 78 | 80 | |
|---|
| 79 | 81 | static const struct irq_source_info_funcs vblank_irq_info_funcs = { |
|---|
| 80 | 82 | .set = dce110_vblank_set, |
|---|
| 83 | + .ack = NULL |
|---|
| 84 | +}; |
|---|
| 85 | + |
|---|
| 86 | +static const struct irq_source_info_funcs vupdate_irq_info_funcs = { |
|---|
| 87 | + .set = NULL, |
|---|
| 81 | 88 | .ack = NULL |
|---|
| 82 | 89 | }; |
|---|
| 83 | 90 | |
|---|
| .. | .. |
|---|
| 137 | 144 | CRTC_V_UPDATE_INT_STATUS__CRTC_V_UPDATE_INT_CLEAR_MASK,\ |
|---|
| 138 | 145 | .ack_value =\ |
|---|
| 139 | 146 | CRTC_V_UPDATE_INT_STATUS__CRTC_V_UPDATE_INT_CLEAR_MASK,\ |
|---|
| 140 | | - .funcs = &vblank_irq_info_funcs\ |
|---|
| 147 | + .funcs = &vupdate_irq_info_funcs\ |
|---|
| 141 | 148 | } |
|---|
| 142 | 149 | |
|---|
| 143 | 150 | #define vblank_int_entry(reg_num)\ |
|---|
| .. | .. |
|---|
| 197 | 204 | bool enable) |
|---|
| 198 | 205 | { |
|---|
| 199 | 206 | 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; |
|---|
| 201 | 208 | enum dc_irq_source dal_irq_src = |
|---|
| 202 | 209 | dc_interrupt_to_irq_source(irq_service->ctx->dc, |
|---|
| 203 | 210 | info->src_id, |
|---|
| .. | .. |
|---|
| 205 | 212 | uint8_t pipe_offset = dal_irq_src - IRQ_TYPE_VBLANK; |
|---|
| 206 | 213 | |
|---|
| 207 | 214 | 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; |
|---|
| 209 | 216 | |
|---|
| 210 | 217 | if (enable) { |
|---|
| 211 | 218 | if (!tg || !tg->funcs->arm_vert_intr(tg, 2)) { |
|---|
| .. | .. |
|---|
| 396 | 403 | .to_dal_irq_source = to_dal_irq_source_dce110 |
|---|
| 397 | 404 | }; |
|---|
| 398 | 405 | |
|---|
| 399 | | -static void construct(struct irq_service *irq_service, |
|---|
| 406 | +static void dce110_irq_construct(struct irq_service *irq_service, |
|---|
| 400 | 407 | struct irq_service_init_data *init_data) |
|---|
| 401 | 408 | { |
|---|
| 402 | 409 | dal_irq_service_construct(irq_service, init_data); |
|---|
| .. | .. |
|---|
| 414 | 421 | if (!irq_service) |
|---|
| 415 | 422 | return NULL; |
|---|
| 416 | 423 | |
|---|
| 417 | | - construct(irq_service, init_data); |
|---|
| 424 | + dce110_irq_construct(irq_service, init_data); |
|---|
| 418 | 425 | return irq_service; |
|---|
| 419 | 426 | } |
|---|