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 void sun8i_vi_layer_update_alpha(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_alpha() argument
74 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_update_alpha()
76 if (mixer->cfg->is_de3) { in sun8i_vi_layer_update_alpha()
86 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_alpha()
90 } else if (mixer->cfg->vi_num == 1) { in sun8i_vi_layer_update_alpha()
91 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_alpha()
99 static int sun8i_vi_layer_update_coord(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_coord() argument
116 bld_base = sun8i_blender_base(mixer); in sun8i_vi_layer_update_coord()
117 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_update_coord()
154 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
157 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
177 ability = clk_get_rate(mixer->mod_clk); in sun8i_vi_layer_update_coord()
192 scanline = subsampled ? mixer->cfg->scanline_yuv : 2048; in sun8i_vi_layer_update_coord()
204 sun8i_vi_scaler_setup(mixer, channel, src_w, src_h, dst_w, in sun8i_vi_layer_update_coord()
207 sun8i_vi_scaler_enable(mixer, channel, true); in sun8i_vi_layer_update_coord()
210 sun8i_vi_scaler_enable(mixer, channel, false); in sun8i_vi_layer_update_coord()
213 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
217 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
221 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
225 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
234 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
237 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
260 static int sun8i_vi_layer_update_formats(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_formats() argument
268 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_update_formats()
278 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_formats()
284 sun8i_csc_set_ccsc_coefficients(mixer, channel, csc_mode, in sun8i_vi_layer_update_formats()
287 sun8i_csc_enable_ccsc(mixer, channel, true); in sun8i_vi_layer_update_formats()
289 sun8i_csc_enable_ccsc(mixer, channel, false); in sun8i_vi_layer_update_formats()
297 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_formats()
304 static int sun8i_vi_layer_update_buffer(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_buffer() argument
316 ch_base = sun8i_channel_base(mixer, channel); in sun8i_vi_layer_update_buffer()
346 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_buffer()
354 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_buffer()
384 if (layer->mixer->cfg->scaler_mask & BIT(layer->channel)) { in sun8i_vi_layer_atomic_check()
402 struct sun8i_mixer *mixer = layer->mixer; in sun8i_vi_layer_atomic_disable() local
404 sun8i_vi_layer_enable(mixer, layer->channel, layer->overlay, false, 0, in sun8i_vi_layer_atomic_disable()
418 struct sun8i_mixer *mixer = layer->mixer; in sun8i_vi_layer_atomic_update() local
421 sun8i_vi_layer_enable(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
426 sun8i_vi_layer_update_coord(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
428 sun8i_vi_layer_update_alpha(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
430 sun8i_vi_layer_update_formats(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
432 sun8i_vi_layer_update_buffer(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
434 sun8i_vi_layer_enable(mixer, layer->channel, layer->overlay, in sun8i_vi_layer_atomic_update()
542 struct sun8i_mixer *mixer, in sun8i_vi_layer_init_one() argument
555 if (mixer->cfg->is_de3) { in sun8i_vi_layer_init_one()
574 plane_cnt = mixer->cfg->ui_num + mixer->cfg->vi_num; in sun8i_vi_layer_init_one()
576 if (mixer->cfg->vi_num == 1 || mixer->cfg->is_de3) { in sun8i_vi_layer_init_one()
593 if (mixer->cfg->is_de3) in sun8i_vi_layer_init_one()
610 layer->mixer = mixer; in sun8i_vi_layer_init_one()