summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/sun4i/sun8i_ui_scaler.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/sun4i/sun8i_ui_scaler.c')
-rw-r--r--drivers/gpu/drm/sun4i/sun8i_ui_scaler.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/gpu/drm/sun4i/sun8i_ui_scaler.c b/drivers/gpu/drm/sun4i/sun8i_ui_scaler.c
index 8b7a58e27517..fcd72c4fd49a 100644
--- a/drivers/gpu/drm/sun4i/sun8i_ui_scaler.c
+++ b/drivers/gpu/drm/sun4i/sun8i_ui_scaler.c
@@ -127,14 +127,15 @@ static int sun8i_ui_scaler_coef_index(unsigned int step)
}
}
-void sun8i_ui_scaler_enable(struct sun8i_mixer *mixer, int layer, bool enable)
+void sun8i_ui_scaler_enable(struct sun8i_layer *layer, bool enable)
{
+ struct sun8i_mixer *mixer = layer->mixer;
u32 val, base;
- if (WARN_ON(layer < mixer->cfg->vi_num))
+ if (WARN_ON(layer->channel < mixer->cfg->vi_num))
return;
- base = sun8i_ui_scaler_base(mixer, layer);
+ base = sun8i_ui_scaler_base(mixer, layer->channel);
if (enable)
val = SUN8I_SCALER_GSU_CTRL_EN |
@@ -145,18 +146,19 @@ void sun8i_ui_scaler_enable(struct sun8i_mixer *mixer, int layer, bool enable)
regmap_write(mixer->engine.regs, SUN8I_SCALER_GSU_CTRL(base), val);
}
-void sun8i_ui_scaler_setup(struct sun8i_mixer *mixer, int layer,
+void sun8i_ui_scaler_setup(struct sun8i_layer *layer,
u32 src_w, u32 src_h, u32 dst_w, u32 dst_h,
u32 hscale, u32 vscale, u32 hphase, u32 vphase)
{
+ struct sun8i_mixer *mixer = layer->mixer;
u32 insize, outsize;
int i, offset;
u32 base;
- if (WARN_ON(layer < mixer->cfg->vi_num))
+ if (WARN_ON(layer->channel < mixer->cfg->vi_num))
return;
- base = sun8i_ui_scaler_base(mixer, layer);
+ base = sun8i_ui_scaler_base(mixer, layer->channel);
hphase <<= SUN8I_UI_SCALER_PHASE_FRAC - 16;
vphase <<= SUN8I_UI_SCALER_PHASE_FRAC - 16;