Lines Matching full:mixer
26 static void sun8i_ui_layer_enable(struct sun8i_mixer *mixer, int channel, in sun8i_ui_layer_enable() argument
32 bld_base = sun8i_blender_base(mixer); in sun8i_ui_layer_enable()
33 ch_base = sun8i_channel_base(mixer, channel); in sun8i_ui_layer_enable()
43 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_enable()
48 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_enable()
53 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_enable()
62 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_enable()
68 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_enable()
75 static void sun8i_ui_layer_update_alpha(struct sun8i_mixer *mixer, int channel, in sun8i_ui_layer_update_alpha() argument
80 ch_base = sun8i_channel_base(mixer, channel); in sun8i_ui_layer_update_alpha()
91 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_update_alpha()
96 static int sun8i_ui_layer_update_coord(struct sun8i_mixer *mixer, int channel, in sun8i_ui_layer_update_coord() argument
109 bld_base = sun8i_blender_base(mixer); in sun8i_ui_layer_update_coord()
110 ch_base = sun8i_channel_base(mixer, channel); in sun8i_ui_layer_update_coord()
129 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_coord()
132 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_coord()
144 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_update_coord()
149 DRM_DEBUG_DRIVER("Switching display mixer interlaced mode %s\n", in sun8i_ui_layer_update_coord()
157 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_coord()
160 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_coord()
172 sun8i_ui_scaler_setup(mixer, channel, src_w, src_h, dst_w, in sun8i_ui_layer_update_coord()
174 sun8i_ui_scaler_enable(mixer, channel, true); in sun8i_ui_layer_update_coord()
177 sun8i_ui_scaler_enable(mixer, channel, false); in sun8i_ui_layer_update_coord()
184 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_coord()
187 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_coord()
194 static int sun8i_ui_layer_update_formats(struct sun8i_mixer *mixer, int channel, in sun8i_ui_layer_update_formats() argument
202 ch_base = sun8i_channel_base(mixer, channel); in sun8i_ui_layer_update_formats()
212 regmap_update_bits(mixer->engine.regs, in sun8i_ui_layer_update_formats()
219 static int sun8i_ui_layer_update_buffer(struct sun8i_mixer *mixer, int channel, in sun8i_ui_layer_update_buffer() argument
229 ch_base = sun8i_channel_base(mixer, channel); in sun8i_ui_layer_update_buffer()
246 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_buffer()
252 regmap_write(mixer->engine.regs, in sun8i_ui_layer_update_buffer()
280 if (layer->mixer->cfg->scaler_mask & BIT(layer->channel)) { in sun8i_ui_layer_atomic_check()
298 struct sun8i_mixer *mixer = layer->mixer; in sun8i_ui_layer_atomic_disable() local
300 sun8i_ui_layer_enable(mixer, layer->channel, layer->overlay, false, 0, in sun8i_ui_layer_atomic_disable()
314 struct sun8i_mixer *mixer = layer->mixer; in sun8i_ui_layer_atomic_update() local
317 sun8i_ui_layer_enable(mixer, layer->channel, in sun8i_ui_layer_atomic_update()
322 sun8i_ui_layer_update_coord(mixer, layer->channel, in sun8i_ui_layer_atomic_update()
324 sun8i_ui_layer_update_alpha(mixer, layer->channel, in sun8i_ui_layer_atomic_update()
326 sun8i_ui_layer_update_formats(mixer, layer->channel, in sun8i_ui_layer_atomic_update()
328 sun8i_ui_layer_update_buffer(mixer, layer->channel, in sun8i_ui_layer_atomic_update()
330 sun8i_ui_layer_enable(mixer, layer->channel, layer->overlay, in sun8i_ui_layer_atomic_update()
378 struct sun8i_mixer *mixer, in sun8i_ui_layer_init_one() argument
382 int channel = mixer->cfg->vi_num + index; in sun8i_ui_layer_init_one()
405 plane_cnt = mixer->cfg->ui_num + mixer->cfg->vi_num; in sun8i_ui_layer_init_one()
421 layer->mixer = mixer; in sun8i_ui_layer_init_one()