Lines Matching full:mixer

21 static void sun8i_vi_layer_enable(struct sun8i_mixer *mixer, int channel,  in sun8i_vi_layer_enable()  argument
27 bld_base = sun8i_blender_base(mixer); in sun8i_vi_layer_enable()
28 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_enable()
38 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_enable()
43 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_enable()
48 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_enable()
57 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_enable()
63 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_enable()
70 static void sun8i_vi_layer_update_alpha(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_alpha() argument
75 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_update_alpha()
77 if (mixer->cfg->is_de3) { in sun8i_vi_layer_update_alpha()
87 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_alpha()
91 } else if (mixer->cfg->vi_num == 1) { in sun8i_vi_layer_update_alpha()
92 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_alpha()
100 static int sun8i_vi_layer_update_coord(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_coord() argument
117 bld_base = sun8i_blender_base(mixer); in sun8i_vi_layer_update_coord()
118 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_update_coord()
155 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
158 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
178 ability = clk_get_rate(mixer->mod_clk); in sun8i_vi_layer_update_coord()
193 scanline = subsampled ? mixer->cfg->scanline_yuv : 2048; in sun8i_vi_layer_update_coord()
205 sun8i_vi_scaler_setup(mixer, channel, src_w, src_h, dst_w, in sun8i_vi_layer_update_coord()
208 sun8i_vi_scaler_enable(mixer, channel, true); in sun8i_vi_layer_update_coord()
211 sun8i_vi_scaler_enable(mixer, channel, false); in sun8i_vi_layer_update_coord()
214 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
218 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
222 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
226 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
235 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
238 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
261 static int sun8i_vi_layer_update_formats(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_formats() argument
269 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_update_formats()
279 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_formats()
285 sun8i_csc_set_ccsc_coefficients(mixer, channel, csc_mode, in sun8i_vi_layer_update_formats()
288 sun8i_csc_enable_ccsc(mixer, channel, true); in sun8i_vi_layer_update_formats()
290 sun8i_csc_enable_ccsc(mixer, channel, false); in sun8i_vi_layer_update_formats()
298 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_formats()
305 static int sun8i_vi_layer_update_buffer(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_buffer() argument
317 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_update_buffer()
347 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_buffer()
355 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_buffer()
385 if (layer->mixer->cfg->scaler_mask & BIT(layer->channel)) { in sun8i_vi_layer_atomic_check()
403 struct sun8i_mixer *mixer = layer->mixer; in sun8i_vi_layer_atomic_disable() local
405 sun8i_vi_layer_enable(mixer, layer->channel, layer->overlay, false, 0, in sun8i_vi_layer_atomic_disable()
419 struct sun8i_mixer *mixer = layer->mixer; in sun8i_vi_layer_atomic_update() local
422 sun8i_vi_layer_enable(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
427 sun8i_vi_layer_update_coord(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
429 sun8i_vi_layer_update_alpha(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
431 sun8i_vi_layer_update_formats(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
433 sun8i_vi_layer_update_buffer(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
435 sun8i_vi_layer_enable(mixer, layer->channel, layer->overlay, in sun8i_vi_layer_atomic_update()
543 struct sun8i_mixer *mixer, in sun8i_vi_layer_init_one() argument
557 if (mixer->cfg->is_de3) { in sun8i_vi_layer_init_one()
565 if (!mixer->cfg->ui_num && index == 0) in sun8i_vi_layer_init_one()
579 plane_cnt = mixer->cfg->ui_num + mixer->cfg->vi_num; in sun8i_vi_layer_init_one()
581 if (mixer->cfg->vi_num == 1 || mixer->cfg->is_de3) { in sun8i_vi_layer_init_one()
598 if (mixer->cfg->is_de3) in sun8i_vi_layer_init_one()
615 layer->mixer = mixer; in sun8i_vi_layer_init_one()