dcss_plane
struct dcss_plane *plane[3];
struct dcss_plane *dcss_plane_init(struct drm_device *drm,
struct dcss_plane *dcss_plane = to_dcss_plane(plane);
dcss_scaler_get_min_max_ratios(dcss->scaler, dcss_plane->ch_num,
static void dcss_plane_atomic_set_base(struct dcss_plane *dcss_plane)
struct drm_plane *plane = &dcss_plane->base;
dcss_dpr_addr_set(dcss->dpr, dcss_plane->ch_num, p1_ba, p2_ba,
struct dcss_plane *dcss_plane = to_dcss_plane(plane);
dcss_plane_atomic_set_base(dcss_plane);
dcss_dpr_format_set(dcss->dpr, dcss_plane->ch_num,
dcss_dpr_set_res(dcss->dpr, dcss_plane->ch_num, src_w, src_h);
dcss_dpr_set_rotation(dcss->dpr, dcss_plane->ch_num,
dcss_plane_atomic_set_base(dcss_plane);
dcss_scaler_set_filter(dcss->scaler, dcss_plane->ch_num,
dcss_scaler_setup(dcss->scaler, dcss_plane->ch_num,
dcss_dtg_plane_pos_set(dcss->dtg, dcss_plane->ch_num,
dcss_dtg_plane_alpha_set(dcss->dtg, dcss_plane->ch_num,
if (!dcss_plane->ch_num && (new_state->alpha >> 8) == 0)
dcss_dpr_enable(dcss->dpr, dcss_plane->ch_num, enable);
dcss_scaler_ch_enable(dcss->scaler, dcss_plane->ch_num, enable);
dcss_dtg_plane_pos_set(dcss->dtg, dcss_plane->ch_num,
dcss_dtg_ch_enable(dcss->dtg, dcss_plane->ch_num, enable);
struct dcss_plane *dcss_plane = to_dcss_plane(plane);
dcss_dpr_enable(dcss->dpr, dcss_plane->ch_num, false);
dcss_scaler_ch_enable(dcss->scaler, dcss_plane->ch_num, false);
dcss_dtg_plane_pos_set(dcss->dtg, dcss_plane->ch_num, 0, 0, 0, 0);
dcss_dtg_ch_enable(dcss->dtg, dcss_plane->ch_num, false);
struct dcss_plane *dcss_plane_init(struct drm_device *drm,
struct dcss_plane *dcss_plane;
dcss_plane = kzalloc_obj(*dcss_plane);
if (!dcss_plane) {
ret = drm_universal_plane_init(drm, &dcss_plane->base, possible_crtcs,
kfree(dcss_plane);
drm_plane_helper_add(&dcss_plane->base, &dcss_plane_helper_funcs);
ret = drm_plane_create_zpos_immutable_property(&dcss_plane->base, zpos);
drm_plane_create_scaling_filter_property(&dcss_plane->base,
drm_plane_create_rotation_property(&dcss_plane->base,
dcss_plane->ch_num = zpos;
return dcss_plane;
static inline struct dcss_plane *to_dcss_plane(struct drm_plane *p)
return container_of(p, struct dcss_plane, base);
struct dcss_plane *dcss_plane = container_of(plane, struct dcss_plane,
kfree(dcss_plane);