Lines Matching full:mixer
20 static void sun8i_vi_layer_enable(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_enable() argument
26 bld_base = sun8i_blender_base(mixer); in sun8i_vi_layer_enable()
27 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_enable()
37 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_enable()
42 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_enable()
47 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_enable()
56 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_enable()
62 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_enable()
69 static int sun8i_vi_layer_update_coord(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_coord() argument
86 bld_base = sun8i_blender_base(mixer); in sun8i_vi_layer_update_coord()
87 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_update_coord()
124 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
127 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
147 ability = clk_get_rate(mixer->mod_clk); in sun8i_vi_layer_update_coord()
162 scanline = subsampled ? mixer->cfg->scanline_yuv : 2048; in sun8i_vi_layer_update_coord()
174 sun8i_vi_scaler_setup(mixer, channel, src_w, src_h, dst_w, in sun8i_vi_layer_update_coord()
177 sun8i_vi_scaler_enable(mixer, channel, true); in sun8i_vi_layer_update_coord()
180 sun8i_vi_scaler_enable(mixer, channel, false); in sun8i_vi_layer_update_coord()
183 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
187 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
191 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
195 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
204 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
207 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
230 static int sun8i_vi_layer_update_formats(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_formats() argument
238 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_update_formats()
248 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_formats()
254 sun8i_csc_set_ccsc_coefficients(mixer, channel, csc_mode, in sun8i_vi_layer_update_formats()
257 sun8i_csc_enable_ccsc(mixer, channel, true); in sun8i_vi_layer_update_formats()
259 sun8i_csc_enable_ccsc(mixer, channel, false); in sun8i_vi_layer_update_formats()
267 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_formats()
272 if (mixer->cfg->is_de3) in sun8i_vi_layer_update_formats()
273 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_formats()
282 static int sun8i_vi_layer_update_buffer(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_buffer() argument
294 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_update_buffer()
324 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_buffer()
332 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_buffer()
359 if (layer->mixer->cfg->scaler_mask & BIT(layer->channel)) { in sun8i_vi_layer_atomic_check()
374 struct sun8i_mixer *mixer = layer->mixer; in sun8i_vi_layer_atomic_disable() local
376 sun8i_vi_layer_enable(mixer, layer->channel, layer->overlay, false, 0, in sun8i_vi_layer_atomic_disable()
386 struct sun8i_mixer *mixer = layer->mixer; in sun8i_vi_layer_atomic_update() local
389 sun8i_vi_layer_enable(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
394 sun8i_vi_layer_update_coord(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
396 sun8i_vi_layer_update_formats(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
398 sun8i_vi_layer_update_buffer(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
400 sun8i_vi_layer_enable(mixer, layer->channel, layer->overlay, in sun8i_vi_layer_atomic_update()
504 struct sun8i_mixer *mixer, in sun8i_vi_layer_init_one() argument
517 if (mixer->cfg->is_de3) { in sun8i_vi_layer_init_one()
535 plane_cnt = mixer->cfg->ui_num + mixer->cfg->vi_num; in sun8i_vi_layer_init_one()
561 layer->mixer = mixer; in sun8i_vi_layer_init_one()