Lines Matching full:rotation
98 * rotation:
99 * Rotation is set up with drm_plane_create_rotation_property(). It adds a
100 * rotation and reflection step between the source and destination rectangles.
148 * drm_plane_create_rotation_property - create a new rotation property
150 * @rotation: initial value of the rotation property
155 * Since a rotation by 180° degress is the same as reflecting both along the x
156 * and the y axis the rotation property is somewhat redundant. Drivers can use
160 * drm_property_create_bitmask()) called "rotation" and has the following
176 * Rotation is the specified amount in degrees in counter clockwise direction,
178 * rotation. After reflection, the rotation is applied to the image sampled from
182 unsigned int rotation, in drm_plane_create_rotation_property() argument
196 WARN_ON(!is_power_of_2(rotation & DRM_MODE_ROTATE_MASK)); in drm_plane_create_rotation_property()
197 WARN_ON(rotation & ~supported_rotations); in drm_plane_create_rotation_property()
199 prop = drm_property_create_bitmask(plane->dev, 0, "rotation", in drm_plane_create_rotation_property()
205 drm_object_attach_property(&plane->base, prop, rotation); in drm_plane_create_rotation_property()
208 plane->state->rotation = rotation; in drm_plane_create_rotation_property()
217 * drm_rotation_simplify() - Try to simplify the rotation
218 * @rotation: Rotation to be simplified
221 * Attempt to simplify the rotation to a form that is supported.
225 * drm_rotation_simplify(rotation, DRM_MODE_ROTATE_0 |
234 unsigned int drm_rotation_simplify(unsigned int rotation, in drm_rotation_simplify() argument
237 if (rotation & ~supported_rotations) { in drm_rotation_simplify()
238 rotation ^= DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y; in drm_rotation_simplify()
239 rotation = (rotation & DRM_MODE_REFLECT_MASK) | in drm_rotation_simplify()
240 BIT((ffs(rotation & DRM_MODE_ROTATE_MASK) + 1) in drm_rotation_simplify()
244 return rotation; in drm_rotation_simplify()