}
}
-void sun8i_csc_config(struct sun8i_mixer *mixer, int layer,
+void sun8i_csc_config(struct sun8i_layer *layer,
struct drm_plane_state *state)
{
u32 mode = sun8i_csc_get_mode(state);
u32 base;
- if (mixer->cfg->de_type == SUN8I_MIXER_DE3) {
- sun8i_de3_ccsc_setup(mixer->engine.regs, layer,
+ if (layer->mixer->cfg->de_type == SUN8I_MIXER_DE3) {
+ sun8i_de3_ccsc_setup(layer->regs, layer->channel,
mode, state->color_encoding,
state->color_range);
return;
}
- base = ccsc_base[mixer->cfg->ccsc][layer];
+ base = ccsc_base[layer->mixer->cfg->ccsc][layer->channel];
- sun8i_csc_setup(mixer->engine.regs, base,
+ sun8i_csc_setup(layer->regs, base,
mode, state->color_encoding,
state->color_range);
}
#include <drm/drm_color_mgmt.h>
struct drm_plane_state;
-struct sun8i_mixer;
+struct sun8i_layer;
/* VI channel CSC units offsets */
#define CCSC00_OFFSET 0xAA050
#define SUN8I_CSC_CTRL_EN BIT(0)
-void sun8i_csc_config(struct sun8i_mixer *mixer, int layer,
+void sun8i_csc_config(struct sun8i_layer *layer,
struct drm_plane_state *state);
#endif
sun8i_vi_layer_update_attributes(layer, plane);
sun8i_vi_layer_update_coord(layer, plane);
- sun8i_csc_config(layer->mixer, layer->channel, new_state);
+ sun8i_csc_config(layer, new_state);
sun8i_vi_layer_update_buffer(layer, plane);
}