Lines Matching full:mixer
27 static void sun8i_ui_layer_enable(struct sun8i_mixer *mixer, int channel, in sun8i_ui_layer_enable() argument
33 bld_base = sun8i_blender_base(mixer); in sun8i_ui_layer_enable()
34 ch_base = sun8i_channel_base(mixer, channel); in sun8i_ui_layer_enable()
44 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_enable()
49 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_enable()
54 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_enable()
63 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_enable()
69 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_enable()
76 static void sun8i_ui_layer_update_alpha(struct sun8i_mixer *mixer, int channel, in sun8i_ui_layer_update_alpha() argument
81 ch_base = sun8i_channel_base(mixer, channel); in sun8i_ui_layer_update_alpha()
92 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_update_alpha()
97 static int sun8i_ui_layer_update_coord(struct sun8i_mixer *mixer, int channel, in sun8i_ui_layer_update_coord() argument
110 bld_base = sun8i_blender_base(mixer); in sun8i_ui_layer_update_coord()
111 ch_base = sun8i_channel_base(mixer, channel); in sun8i_ui_layer_update_coord()
128 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_coord()
131 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_coord()
143 sun8i_ui_scaler_setup(mixer, channel, src_w, src_h, dst_w, in sun8i_ui_layer_update_coord()
145 sun8i_ui_scaler_enable(mixer, channel, true); in sun8i_ui_layer_update_coord()
148 sun8i_ui_scaler_enable(mixer, channel, false); in sun8i_ui_layer_update_coord()
155 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_coord()
158 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_coord()
165 static int sun8i_ui_layer_update_formats(struct sun8i_mixer *mixer, int channel, in sun8i_ui_layer_update_formats() argument
173 ch_base = sun8i_channel_base(mixer, channel); in sun8i_ui_layer_update_formats()
183 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_update_formats()
190 static int sun8i_ui_layer_update_buffer(struct sun8i_mixer *mixer, int channel, in sun8i_ui_layer_update_buffer() argument
200 ch_base = sun8i_channel_base(mixer, channel); in sun8i_ui_layer_update_buffer()
217 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_buffer()
223 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_buffer()
251 if (layer->mixer->cfg->scaler_mask & BIT(layer->channel)) { in sun8i_ui_layer_atomic_check()
269 struct sun8i_mixer *mixer = layer->mixer; in sun8i_ui_layer_atomic_disable() local
271 sun8i_ui_layer_enable(mixer, layer->channel, layer->overlay, false, 0, in sun8i_ui_layer_atomic_disable()
285 struct sun8i_mixer *mixer = layer->mixer; in sun8i_ui_layer_atomic_update() local
288 sun8i_ui_layer_enable(mixer, layer->channel, in sun8i_ui_layer_atomic_update()
293 sun8i_ui_layer_update_coord(mixer, layer->channel, in sun8i_ui_layer_atomic_update()
295 sun8i_ui_layer_update_alpha(mixer, layer->channel, in sun8i_ui_layer_atomic_update()
297 sun8i_ui_layer_update_formats(mixer, layer->channel, in sun8i_ui_layer_atomic_update()
299 sun8i_ui_layer_update_buffer(mixer, layer->channel, in sun8i_ui_layer_atomic_update()
301 sun8i_ui_layer_enable(mixer, layer->channel, layer->overlay, in sun8i_ui_layer_atomic_update()
349 struct sun8i_mixer *mixer, in sun8i_ui_layer_init_one() argument
353 int channel = mixer->cfg->vi_num + index; in sun8i_ui_layer_init_one()
376 plane_cnt = mixer->cfg->ui_num + mixer->cfg->vi_num; in sun8i_ui_layer_init_one()
392 layer->mixer = mixer; in sun8i_ui_layer_init_one()