mirror of https://gitee.com/openkylin/linux.git
drm/msm/dpu: add rotation property
Signed-off-by: Rob Clark <robdclark@chromium.org>
This commit is contained in:
parent
2eba69071b
commit
15ee1e050a
|
@ -1037,8 +1037,21 @@ static void dpu_plane_sspp_atomic_update(struct drm_plane *plane)
|
|||
pstate->multirect_mode);
|
||||
|
||||
if (pdpu->pipe_hw->ops.setup_format) {
|
||||
unsigned int rotation;
|
||||
|
||||
src_flags = 0x0;
|
||||
|
||||
rotation = drm_rotation_simplify(state->rotation,
|
||||
DRM_MODE_ROTATE_0 |
|
||||
DRM_MODE_REFLECT_X |
|
||||
DRM_MODE_REFLECT_Y);
|
||||
|
||||
if (rotation & DRM_MODE_REFLECT_X)
|
||||
src_flags |= DPU_SSPP_FLIP_LR;
|
||||
|
||||
if (rotation & DRM_MODE_REFLECT_Y)
|
||||
src_flags |= DPU_SSPP_FLIP_UD;
|
||||
|
||||
/* update format */
|
||||
pdpu->pipe_hw->ops.setup_format(pdpu->pipe_hw, fmt, src_flags,
|
||||
pstate->multirect_index);
|
||||
|
@ -1519,6 +1532,13 @@ struct drm_plane *dpu_plane_init(struct drm_device *dev,
|
|||
if (ret)
|
||||
DPU_ERROR("failed to install zpos property, rc = %d\n", ret);
|
||||
|
||||
drm_plane_create_rotation_property(plane,
|
||||
DRM_MODE_ROTATE_0,
|
||||
DRM_MODE_ROTATE_0 |
|
||||
DRM_MODE_ROTATE_180 |
|
||||
DRM_MODE_REFLECT_X |
|
||||
DRM_MODE_REFLECT_Y);
|
||||
|
||||
drm_plane_enable_fb_damage_clips(plane);
|
||||
|
||||
/* success! finalize initialization */
|
||||
|
|
Loading…
Reference in New Issue