Lines Matching full:plane

6  * ARM Mali DP plane manipulation routines.
76 static void malidp_plane_reset(struct drm_plane *plane) in malidp_plane_reset() argument
78 struct malidp_plane_state *state = to_malidp_plane_state(plane->state); in malidp_plane_reset()
83 plane->state = NULL; in malidp_plane_reset()
86 __drm_atomic_helper_plane_reset(plane, &state->base); in malidp_plane_reset()
90 drm_plane_state *malidp_duplicate_plane_state(struct drm_plane *plane) in malidp_duplicate_plane_state() argument
94 if (!plane->state) in malidp_duplicate_plane_state()
101 m_state = to_malidp_plane_state(plane->state); in malidp_duplicate_plane_state()
102 __drm_atomic_helper_plane_duplicate_state(plane, &state->base); in malidp_duplicate_plane_state()
113 static void malidp_destroy_plane_state(struct drm_plane *plane, in malidp_destroy_plane_state() argument
198 DRM_DEBUG_KMS("AFBC buffers expect one plane\n"); in malidp_format_mod_supported()
246 static bool malidp_format_mod_supported_per_plane(struct drm_plane *plane, in malidp_format_mod_supported_per_plane() argument
249 return malidp_format_mod_supported(plane->dev, format, modifier); in malidp_format_mod_supported_per_plane()
290 /* Scaling not necessary for this plane. */ in malidp_se_check_scaling()
492 static int malidp_de_plane_check(struct drm_plane *plane, in malidp_de_plane_check() argument
496 plane); in malidp_de_plane_check()
497 struct malidp_plane *mp = to_malidp_plane(plane); in malidp_de_plane_check()
522 DRM_DEBUG_KMS("Invalid pitch %u for plane %d\n", in malidp_de_plane_check()
535 DRM_DEBUG_KMS("Plane src_x/src_y needs to be a multiple of tile sizes"); in malidp_de_plane_check()
546 * DP550/650 video layers can accept 3 plane formats only if in malidp_de_plane_check()
548 * third plane stride register. in malidp_de_plane_check()
594 /* HW can't support plane + pixel blending */ in malidp_de_plane_check()
672 static void malidp_de_set_color_encoding(struct malidp_plane *plane, in malidp_de_set_color_encoding() argument
680 malidp_hw_write(plane->hwdev, malidp_yuv2rgb_coeffs[enc][range][i], in malidp_de_set_color_encoding()
681 plane->layer->base + plane->layer->yuv2rgb_offset + in malidp_de_set_color_encoding()
710 struct drm_plane *plane = &mp->base; in malidp_set_plane_base_addr() local
717 * framebuffer as per the plane's src_x, src_y co-ordinates (ie to in malidp_set_plane_base_addr()
723 dma_addr = drm_fb_dma_get_gem_addr(fb, plane->state, in malidp_set_plane_base_addr()
739 static void malidp_de_set_plane_afbc(struct drm_plane *plane) in malidp_de_set_plane_afbc() argument
743 struct drm_framebuffer *fb = plane->state->fb; in malidp_de_set_plane_afbc()
745 mp = to_malidp_plane(plane); in malidp_de_set_plane_afbc()
747 /* no afbc_decoder_offset means AFBC is not supported on this plane */ in malidp_de_set_plane_afbc()
757 src_w = plane->state->src_w >> 16; in malidp_de_set_plane_afbc()
758 src_h = plane->state->src_h >> 16; in malidp_de_set_plane_afbc()
759 src_x = plane->state->src_x >> 16; in malidp_de_set_plane_afbc()
760 src_y = plane->state->src_y >> 16; in malidp_de_set_plane_afbc()
781 static void malidp_de_plane_update(struct drm_plane *plane, in malidp_de_plane_update() argument
785 plane); in malidp_de_plane_update()
787 struct malidp_plane_state *ms = to_malidp_plane_state(plane->state); in malidp_de_plane_update()
789 plane); in malidp_de_plane_update()
794 struct drm_framebuffer *fb = plane->state->fb; in malidp_de_plane_update()
796 mp = to_malidp_plane(plane); in malidp_de_plane_update()
826 if ((plane->state->color_encoding != old_state->color_encoding) || in malidp_de_plane_update()
827 (plane->state->color_range != old_state->color_range)) in malidp_de_plane_update()
828 malidp_de_set_color_encoding(mp, plane->state->color_encoding, in malidp_de_plane_update()
829 plane->state->color_range); in malidp_de_plane_update()
844 * able to use it as a drm plane. in malidp_de_plane_update()
853 malidp_de_set_plane_afbc(plane); in malidp_de_plane_update()
861 val |= ilog2(plane->state->rotation & DRM_MODE_ROTATE_MASK) << in malidp_de_plane_update()
902 static void malidp_de_plane_disable(struct drm_plane *plane, in malidp_de_plane_disable() argument
905 struct malidp_plane *mp = to_malidp_plane(plane); in malidp_de_plane_disable()
927 struct malidp_plane *plane = NULL; in malidp_de_planes_init() local
978 plane = drmm_universal_plane_alloc(drm, struct malidp_plane, base, in malidp_de_planes_init()
982 if (IS_ERR(plane)) { in malidp_de_planes_init()
983 ret = PTR_ERR(plane); in malidp_de_planes_init()
987 drm_plane_helper_add(&plane->base, in malidp_de_planes_init()
989 plane->hwdev = malidp->dev; in malidp_de_planes_init()
990 plane->layer = &map->layers[i]; in malidp_de_planes_init()
992 drm_plane_create_alpha_property(&plane->base); in malidp_de_planes_init()
993 drm_plane_create_blend_mode_property(&plane->base, blend_caps); in malidp_de_planes_init()
1000 drm_plane_create_rotation_property(&plane->base, DRM_MODE_ROTATE_0, flags); in malidp_de_planes_init()
1002 plane->layer->base + MALIDP_LAYER_COMPOSE); in malidp_de_planes_init()
1010 ret = drm_plane_create_color_properties(&plane->base, in malidp_de_planes_init()
1019 malidp_de_set_color_encoding(plane, enc, range); in malidp_de_planes_init()