[PATCH 12/15] drm: RIP mode_config->rotation_property
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Oct 17 22:38:05 UTC 2016
Hi Ville,
On Friday 22 Jul 2016 16:43:13 ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Now that all drivers have been converted over to the per-plane rotation
> property, we can just nuke the global rotation property.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Stupid question, but how does this work when the hardware supports global
rotation only, not per-plane rotation ?
> ---
> drivers/gpu/drm/drm_atomic.c | 6 ++----
> drivers/gpu/drm/drm_crtc.c | 18 ------------------
> drivers/gpu/drm/drm_fb_helper.c | 7 +------
> include/drm/drm_crtc.h | 7 -------
> 4 files changed, 3 insertions(+), 35 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> index 116f940a9267..81061fcdb984 100644
> --- a/drivers/gpu/drm/drm_atomic.c
> +++ b/drivers/gpu/drm/drm_atomic.c
> @@ -709,8 +709,7 @@ int drm_atomic_plane_set_property(struct drm_plane
> *plane, state->src_w = val;
> } else if (property == config->prop_src_h) {
> state->src_h = val;
> - } else if (property == config->rotation_property ||
> - property == plane->rotation_property) {
> + } else if (property == plane->rotation_property) {
> if (!is_power_of_2(val & DRM_ROTATE_MASK))
> return -EINVAL;
> state->rotation = val;
> @@ -768,8 +767,7 @@ drm_atomic_plane_get_property(struct drm_plane *plane,
> *val = state->src_w;
> } else if (property == config->prop_src_h) {
> *val = state->src_h;
> - } else if (property == config->rotation_property ||
> - property == plane->rotation_property) {
> + } else if (property == plane->rotation_property) {
> *val = state->rotation;
> } else if (plane->funcs->atomic_get_property) {
> return plane->funcs->atomic_get_property(plane, state,
property, val);
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 9e20a52ece7c..c1df75caf72f 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -5783,24 +5783,6 @@ void drm_mode_config_cleanup(struct drm_device *dev)
> }
> EXPORT_SYMBOL(drm_mode_config_cleanup);
>
> -struct drm_property *drm_mode_create_rotation_property(struct drm_device
> *dev, - unsigned int
supported_rotations)
> -{
> - static const struct drm_prop_enum_list props[] = {
> - { DRM_ROTATE_0, "rotate-0" },
> - { DRM_ROTATE_90, "rotate-90" },
> - { DRM_ROTATE_180, "rotate-180" },
> - { DRM_ROTATE_270, "rotate-270" },
> - { DRM_REFLECT_X, "reflect-x" },
> - { DRM_REFLECT_Y, "reflect-y" },
> - };
> -
> - return drm_property_create_bitmask(dev, 0, "rotation",
> - props, ARRAY_SIZE(props),
> - supported_rotations);
> -}
> -EXPORT_SYMBOL(drm_mode_create_rotation_property);
> -
> int drm_plane_create_rotation_property(struct drm_plane *plane,
> unsigned int rotation,
> unsigned int supported_rotations)
> diff --git a/drivers/gpu/drm/drm_fb_helper.c
> b/drivers/gpu/drm/drm_fb_helper.c index ce536c0553e5..cf5f071ffae1 100644
> --- a/drivers/gpu/drm/drm_fb_helper.c
> +++ b/drivers/gpu/drm/drm_fb_helper.c
> @@ -392,15 +392,10 @@ static int restore_fbdev_mode(struct drm_fb_helper
> *fb_helper) if (plane->type != DRM_PLANE_TYPE_PRIMARY)
> drm_plane_force_disable(plane);
>
> - if (plane->rotation_property) {
> + if (plane->rotation_property)
> drm_mode_plane_set_obj_prop(plane,
> plane->rotation_property,
> BIT(DRM_ROTATE_0));
> - } else if (dev->mode_config.rotation_property) {
> - drm_mode_plane_set_obj_prop(plane,
> - dev-
>mode_config.rotation_property,
> - BIT(DRM_ROTATE_0));
> - }
> }
>
> for (i = 0; i < fb_helper->crtc_count; i++) {
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index 01cf0673f6c8..00a93e44f854 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -2480,11 +2480,6 @@ struct drm_mode_config {
> */
> struct drm_property *plane_type_property;
> /**
> - * @rotation_property: Optional property for planes or CRTCs to
specify
> - * rotation.
> - */
> - struct drm_property *rotation_property;
> - /**
> * @prop_src_x: Default atomic plane property for the plane source
> * position in the connected &drm_framebuffer.
> */
> @@ -2960,8 +2955,6 @@ extern int drm_mode_plane_set_obj_prop(struct
> drm_plane *plane, struct drm_property *property,
> uint64_t value);
>
> -extern struct drm_property *drm_mode_create_rotation_property(struct
> drm_device *dev, -
unsigned int supported_rotations);
> extern int drm_plane_create_rotation_property(struct drm_plane *plane,
> unsigned int rotation,
> unsigned int
supported_rotations);
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list