From 6ed2e9a119f383c2bb812540982e1722d0805af3 Mon Sep 17 00:00:00 2001 From: Harry Wentland Date: Wed, 30 Mar 2016 10:06:19 -0400 Subject: [PATCH 1032/1110] drm/amd/dal: Pass size into scaler and mpc bypass Signed-off-by: Harry Wentland Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c | 2 +- drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h | 4 +++- drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_scl.c | 6 ++++-- drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c | 4 +++- drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h | 4 +++- drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_scl.c | 6 ++++-- drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h | 3 ++- 7 files changed, 20 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c index 52d9094..b7c6a51 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c @@ -1146,7 +1146,7 @@ static void reset_single_pipe_hw_ctx( pipe_ctx->tg->funcs->disable_crtc(pipe_ctx->tg); pipe_ctx->mi->funcs->free_mem_input( pipe_ctx->mi, context->target_count); - pipe_ctx->xfm->funcs->transform_set_scaler_bypass(pipe_ctx->xfm); + pipe_ctx->xfm->funcs->transform_set_scaler_bypass(pipe_ctx->xfm, NULL); resource_unreference_clock_source(&context->res_ctx, pipe_ctx->clock_source); dc->hwss.enable_display_power_gating( pipe_ctx->stream->ctx, pipe_ctx->pipe_idx, dcb, diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h index f97d7ab..fdde463 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h @@ -56,7 +56,9 @@ bool dce110_transform_set_scaler( struct transform *xfm, const struct scaler_data *data); -void dce110_transform_set_scaler_bypass(struct transform *xfm); +void dce110_transform_set_scaler_bypass( + struct transform *xfm, + struct rect *size); void dce110_transform_set_scaler_filter( struct transform *xfm, diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_scl.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_scl.c index 65f9e01..67dd983 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_scl.c +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_scl.c @@ -90,7 +90,7 @@ static bool setup_scaling_configuration( dm_write_reg(ctx, addr, value); if (data->taps.h_taps + data->taps.v_taps <= 2) { - dce110_transform_set_scaler_bypass(&xfm110->base); + dce110_transform_set_scaler_bypass(&xfm110->base, NULL); return false; } @@ -684,7 +684,9 @@ bool dce110_transform_set_scaler( return true; } -void dce110_transform_set_scaler_bypass(struct transform *xfm) +void dce110_transform_set_scaler_bypass( + struct transform *xfm, + struct rect *size) { struct dce110_transform *xfm110 = TO_DCE110_TRANSFORM(xfm); uint32_t sclv_mode; diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c index 17b72e7..a3b9b20 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c @@ -453,7 +453,9 @@ static void program_scl_ratios_inits( dm_write_reg(ctx, addr, value); } -static void dce110_transform_v_set_scalerv_bypass(struct transform *xfm) +static void dce110_transform_v_set_scalerv_bypass( + struct transform *xfm, + struct rect *size) { uint32_t addr = mmSCLV_MODE; uint32_t value = dm_read_reg(xfm->ctx, addr); diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h index 58b3ee4..6c151ae 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h +++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h @@ -56,7 +56,9 @@ bool dce80_transform_set_scaler( struct transform *xfm, const struct scaler_data *data); -void dce80_transform_set_scaler_bypass(struct transform *xfm); +void dce80_transform_set_scaler_bypass( + struct transform *xfm, + struct rect *size); void dce80_transform_set_scaler_filter( struct transform *xfm, diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_scl.c b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_scl.c index 0025e05..0248b77 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_scl.c +++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_scl.c @@ -83,7 +83,7 @@ static bool setup_scaling_configuration( uint32_t value; if (data->taps.h_taps + data->taps.v_taps <= 2) { - dce80_transform_set_scaler_bypass(&xfm80->base); + dce80_transform_set_scaler_bypass(&xfm80->base, NULL); return false; } @@ -685,7 +685,9 @@ bool dce80_transform_set_scaler( return true; } -void dce80_transform_set_scaler_bypass(struct transform *xfm) +void dce80_transform_set_scaler_bypass( + struct transform *xfm, + struct rect *size) { struct dce80_transform *xfm80 = TO_DCE80_TRANSFORM(xfm); uint32_t sclv_mode; diff --git a/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h b/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h index c0fd26b..bc4e1a1 100644 --- a/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h +++ b/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h @@ -166,7 +166,8 @@ struct transform_funcs { const struct scaler_data *data); void (*transform_set_scaler_bypass)( - struct transform *xfm); + struct transform *xfm, + struct rect *size); void (*transform_set_scaler_filter)( struct transform *xfm, -- 2.7.4