if (stream_update->vline0_config && pipe_ctx->stream_res.tg->funcs->program_vline_interrupt)
pipe_ctx->stream_res.tg->funcs->program_vline_interrupt(
- pipe_ctx->stream_res.tg, VLINE0, stream->vline0_config);
+ pipe_ctx->stream_res.tg, VLINE0, &stream->vline0_config);
if (stream_update->vline1_config && pipe_ctx->stream_res.tg->funcs->program_vline_interrupt)
pipe_ctx->stream_res.tg->funcs->program_vline_interrupt(
- pipe_ctx->stream_res.tg, VLINE1, stream->vline1_config);
+ pipe_ctx->stream_res.tg, VLINE1, &stream->vline1_config);
if ((stream_update->hdr_static_metadata && !stream->use_dynamic_meta) ||
stream_update->vrr_infopacket ||
void optc1_program_vline_interrupt(
struct timing_generator *optc,
enum vline_select vline,
- struct vline_config vline_config)
+ const struct vline_config *vline_config)
{
struct optc *optc1 = DCN10TG_FROM_TG(optc);
switch (vline) {
case VLINE0:
REG_SET_2(OTG_VERTICAL_INTERRUPT0_POSITION, 0,
- OTG_VERTICAL_INTERRUPT0_LINE_START, vline_config.start_line,
- OTG_VERTICAL_INTERRUPT0_LINE_END, vline_config.end_line);
+ OTG_VERTICAL_INTERRUPT0_LINE_START, vline_config->start_line,
+ OTG_VERTICAL_INTERRUPT0_LINE_END, vline_config->end_line);
break;
case VLINE1:
REG_SET(OTG_VERTICAL_INTERRUPT1_POSITION, 0,
- OTG_VERTICAL_INTERRUPT1_LINE_START, vline_config.start_line);
+ OTG_VERTICAL_INTERRUPT1_LINE_START, vline_config->start_line);
break;
default:
break;
void optc1_program_vline_interrupt(struct timing_generator *optc,
enum vline_select vline,
- struct vline_config vline_config);
+ const struct vline_config *vline_config);
void optc1_program_global_sync(
struct timing_generator *optc);
bool use_vbios);
void (*program_vline_interrupt)(struct timing_generator *optc,
enum vline_select vline,
- struct vline_config vline_config);
+ const struct vline_config *vline_config);
bool (*enable_crtc)(struct timing_generator *tg);
bool (*disable_crtc)(struct timing_generator *tg);
bool (*is_counter_moving)(struct timing_generator *tg);