Lines Matching +full:layer +full:- +full:base +full:- +full:offset
5 * Copyright (C) 2014-2015 Allwinner
94 int vi_num = mixer->cfg->vi_num; in sun8i_ui_scaler_base()
96 if (mixer->cfg->is_de3) in sun8i_ui_scaler_base()
99 DE3_UI_SCALER_UNIT_SIZE * (channel - vi_num); in sun8i_ui_scaler_base()
103 DE2_UI_SCALER_UNIT_SIZE * (channel - vi_num); in sun8i_ui_scaler_base()
110 scale = step >> (SUN8I_UI_SCALER_SCALE_FRAC - 3); in sun8i_ui_scaler_coef_index()
130 void sun8i_ui_scaler_enable(struct sun8i_mixer *mixer, int layer, bool enable) in sun8i_ui_scaler_enable() argument
132 u32 val, base; in sun8i_ui_scaler_enable() local
134 if (WARN_ON(layer < mixer->cfg->vi_num)) in sun8i_ui_scaler_enable()
137 base = sun8i_ui_scaler_base(mixer, layer); in sun8i_ui_scaler_enable()
145 regmap_write(mixer->engine.regs, SUN8I_SCALER_GSU_CTRL(base), val); in sun8i_ui_scaler_enable()
148 void sun8i_ui_scaler_setup(struct sun8i_mixer *mixer, int layer, in sun8i_ui_scaler_setup() argument
153 int i, offset; in sun8i_ui_scaler_setup() local
154 u32 base; in sun8i_ui_scaler_setup() local
156 if (WARN_ON(layer < mixer->cfg->vi_num)) in sun8i_ui_scaler_setup()
159 base = sun8i_ui_scaler_base(mixer, layer); in sun8i_ui_scaler_setup()
161 hphase <<= SUN8I_UI_SCALER_PHASE_FRAC - 16; in sun8i_ui_scaler_setup()
162 vphase <<= SUN8I_UI_SCALER_PHASE_FRAC - 16; in sun8i_ui_scaler_setup()
163 hscale <<= SUN8I_UI_SCALER_SCALE_FRAC - 16; in sun8i_ui_scaler_setup()
164 vscale <<= SUN8I_UI_SCALER_SCALE_FRAC - 16; in sun8i_ui_scaler_setup()
169 regmap_write(mixer->engine.regs, in sun8i_ui_scaler_setup()
170 SUN8I_SCALER_GSU_OUTSIZE(base), outsize); in sun8i_ui_scaler_setup()
171 regmap_write(mixer->engine.regs, in sun8i_ui_scaler_setup()
172 SUN8I_SCALER_GSU_INSIZE(base), insize); in sun8i_ui_scaler_setup()
173 regmap_write(mixer->engine.regs, in sun8i_ui_scaler_setup()
174 SUN8I_SCALER_GSU_HSTEP(base), hscale); in sun8i_ui_scaler_setup()
175 regmap_write(mixer->engine.regs, in sun8i_ui_scaler_setup()
176 SUN8I_SCALER_GSU_VSTEP(base), vscale); in sun8i_ui_scaler_setup()
177 regmap_write(mixer->engine.regs, in sun8i_ui_scaler_setup()
178 SUN8I_SCALER_GSU_HPHASE(base), hphase); in sun8i_ui_scaler_setup()
179 regmap_write(mixer->engine.regs, in sun8i_ui_scaler_setup()
180 SUN8I_SCALER_GSU_VPHASE(base), vphase); in sun8i_ui_scaler_setup()
181 offset = sun8i_ui_scaler_coef_index(hscale) * in sun8i_ui_scaler_setup()
184 regmap_write(mixer->engine.regs, in sun8i_ui_scaler_setup()
185 SUN8I_SCALER_GSU_HCOEFF(base, i), in sun8i_ui_scaler_setup()
186 lan2coefftab16[offset + i]); in sun8i_ui_scaler_setup()