Lines Matching refs:mixer
23 static void sun8i_vi_layer_enable(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_enable() argument
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()
61 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_enable()
68 static int sun8i_vi_layer_update_coord(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_coord() argument
117 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
120 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
138 sun8i_vi_scaler_setup(mixer, channel, src_w, src_h, dst_w, in sun8i_vi_layer_update_coord()
141 sun8i_vi_scaler_enable(mixer, channel, true); in sun8i_vi_layer_update_coord()
144 sun8i_vi_scaler_enable(mixer, channel, false); in sun8i_vi_layer_update_coord()
151 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
154 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_coord()
161 static int sun8i_vi_layer_update_formats(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_formats() argument
175 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_formats()
180 sun8i_csc_set_ccsc_coefficients(mixer, channel, fmt_info->csc); in sun8i_vi_layer_update_formats()
181 sun8i_csc_enable_ccsc(mixer, channel, true); in sun8i_vi_layer_update_formats()
183 sun8i_csc_enable_ccsc(mixer, channel, false); in sun8i_vi_layer_update_formats()
191 regmap_update_bits(mixer->engine.regs, in sun8i_vi_layer_update_formats()
198 static int sun8i_vi_layer_update_buffer(struct sun8i_mixer *mixer, int channel, in sun8i_vi_layer_update_buffer() argument
237 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_buffer()
245 regmap_write(mixer->engine.regs, in sun8i_vi_layer_update_buffer()
272 if (layer->mixer->cfg->scaler_mask & BIT(layer->channel)) { in sun8i_vi_layer_atomic_check()
287 struct sun8i_mixer *mixer = layer->mixer; in sun8i_vi_layer_atomic_disable() local
289 sun8i_vi_layer_enable(mixer, layer->channel, layer->overlay, false, 0, in sun8i_vi_layer_atomic_disable()
299 struct sun8i_mixer *mixer = layer->mixer; in sun8i_vi_layer_atomic_update() local
302 sun8i_vi_layer_enable(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
307 sun8i_vi_layer_update_coord(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
309 sun8i_vi_layer_update_formats(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
311 sun8i_vi_layer_update_buffer(mixer, layer->channel, in sun8i_vi_layer_atomic_update()
313 sun8i_vi_layer_enable(mixer, layer->channel, layer->overlay, in sun8i_vi_layer_atomic_update()
374 struct sun8i_mixer *mixer, in sun8i_vi_layer_init_one() argument
396 plane_cnt = mixer->cfg->ui_num + mixer->cfg->vi_num; in sun8i_vi_layer_init_one()
406 layer->mixer = mixer; in sun8i_vi_layer_init_one()