提交 15807780 编写于 作者: B Brian Starkey 提交者: Liviu Dudau

drm: mali-dp: Refactor plane initialisation

As we add more features, it makes sense to skip all the features not
supported by the smart layer together, instead of checking each one
individually. Achieve this by refactoring the plane init loop.
Signed-off-by: NBrian Starkey <brian.starkey@arm.com>
[re-factor code after upstream changed rotation property to be per-plane]
Signed-off-by: NLiviu Dudau <Liviu.Dudau@arm.com>
上级 de9c4810
......@@ -235,6 +235,8 @@ int malidp_de_planes_init(struct drm_device *drm)
struct malidp_plane *plane = NULL;
enum drm_plane_type plane_type;
unsigned long crtcs = 1 << drm->mode_config.num_crtc;
unsigned long flags = DRM_ROTATE_0 | DRM_ROTATE_90 | DRM_ROTATE_180 |
DRM_ROTATE_270 | DRM_REFLECT_X | DRM_REFLECT_Y;
u32 *formats;
int ret, i, j, n;
......@@ -267,23 +269,16 @@ int malidp_de_planes_init(struct drm_device *drm)
if (ret < 0)
goto cleanup;
/* SMART layer can't be rotated */
if (id != DE_SMART) {
unsigned long flags = DRM_ROTATE_0 |
DRM_ROTATE_90 |
DRM_ROTATE_180 |
DRM_ROTATE_270 |
DRM_REFLECT_X |
DRM_REFLECT_Y;
drm_plane_create_rotation_property(&plane->base,
DRM_ROTATE_0,
flags);
}
drm_plane_helper_add(&plane->base,
&malidp_de_plane_helper_funcs);
plane->hwdev = malidp->dev;
plane->layer = &map->layers[i];
/* Skip the features which the SMART layer doesn't have */
if (id == DE_SMART)
continue;
drm_plane_create_rotation_property(&plane->base, DRM_ROTATE_0, flags);
}
kfree(formats);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册