* [PATCH 0/8] acquire ctx for everyone! @ 2017-07-25 8:01 Daniel Vetter 2017-07-25 8:01 ` [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack Daniel Vetter ` (9 more replies) 0 siblings, 10 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: Intel Graphics Development; +Cc: Daniel Vetter, DRI Development Hi all, This is the final bits of my cleanup work to get rid of the implicit acquire context for atomic drivers. This handles the property stuff by essentially just ripping it all out, after 20+ drivers I don't see any need for a driver to overwrite anything here. Except omapdrm, and that is handled within the existing framework already. Besides removing a pile of code another upshot of this work is that a set_property call for atomic driver now only takes the locks it needs, the same way like the atomic ioctl. Leftover bits (I should probably put them into a todo.rst entry): - Convert vmwgfx over to the fbdev helpers since their current hand-rolled ones get this all wrong. - Add an explicit acquire_ctx to drm_modeset_(un)lock_all and nuke the GFP_ATOMIC allocation. - Also clean up the get_property paths a bit more, would be nice if we wouldn't need to have to take all the locks for atomic drivers. But already with this we're guaranteed that all core and helper paths pass around the acquire_ctx correctly, which means drivers can now start to use their own internal drm_modeset_locks for private data structures. Cheers, Daniel Daniel Vetter (8): drm/omap: Simplify the rotation-on-crtc hack drm: Don't update property values for atomic drivers drm: Handle properties in the core for atomic drivers drm: Nuke drm_atomic_helper_crtc_set_property drm: Nuke drm_atomic_helper_plane_set_property drm: Nuke drm_atomic_helper_connector_set_property drm: Nuke drm_atomic_helper_connector_dpms drm: Nuke drm_atomic_legacy_backoff drivers/gpu/drm/arm/malidp_planes.c | 1 - drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 1 - drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - drivers/gpu/drm/bridge/panel.c | 1 - drivers/gpu/drm/bridge/parade-ps8622.c | 1 - drivers/gpu/drm/bridge/sii902x.c | 1 - drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - drivers/gpu/drm/bridge/tc358767.c | 1 - drivers/gpu/drm/bridge/ti-tfp410.c | 1 - drivers/gpu/drm/drm_atomic.c | 98 ++++---- drivers/gpu/drm/drm_atomic_helper.c | 248 --------------------- drivers/gpu/drm/drm_connector.c | 9 +- drivers/gpu/drm/drm_crtc.c | 2 +- drivers/gpu/drm/drm_crtc_helper.c | 3 +- drivers/gpu/drm/drm_crtc_internal.h | 7 + drivers/gpu/drm/drm_mode_object.c | 159 +++++++++---- drivers/gpu/drm/drm_plane.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 - drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1 - drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - drivers/gpu/drm/exynos/exynos_drm_vidi.c | 1 - drivers/gpu/drm/exynos/exynos_hdmi.c | 1 - drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 1 - drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 1 - drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 2 - drivers/gpu/drm/i2c/tda998x_drv.c | 10 +- drivers/gpu/drm/i915/intel_crt.c | 2 - drivers/gpu/drm/i915/intel_display.c | 3 - drivers/gpu/drm/i915/intel_dp.c | 2 - drivers/gpu/drm/i915/intel_dp_mst.c | 2 - drivers/gpu/drm/i915/intel_dsi.c | 2 - drivers/gpu/drm/i915/intel_dvo.c | 2 - drivers/gpu/drm/i915/intel_hdmi.c | 2 - drivers/gpu/drm/i915/intel_lvds.c | 2 - drivers/gpu/drm/i915/intel_sdvo.c | 2 - drivers/gpu/drm/i915/intel_tv.c | 2 - drivers/gpu/drm/imx/imx-ldb.c | 1 - drivers/gpu/drm/imx/imx-tve.c | 1 - drivers/gpu/drm/imx/parallel-display.c | 1 - drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - drivers/gpu/drm/meson/meson_venc_cvbs.c | 1 - drivers/gpu/drm/msm/dsi/dsi_manager.c | 1 - drivers/gpu/drm/msm/edp/edp_connector.c | 1 - drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 1 - drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 1 - drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c | 1 - drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 2 - drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - drivers/gpu/drm/mxsfb/mxsfb_out.c | 1 - drivers/gpu/drm/nouveau/nouveau_connector.c | 15 +- drivers/gpu/drm/nouveau/nv50_display.c | 4 - drivers/gpu/drm/omapdrm/omap_connector.c | 1 - drivers/gpu/drm/omapdrm/omap_crtc.c | 65 +++--- drivers/gpu/drm/omapdrm/omap_plane.c | 1 - drivers/gpu/drm/pl111/pl111_connector.c | 1 - drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 1 - drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 - drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 1 - drivers/gpu/drm/rockchip/inno_hdmi.c | 1 - drivers/gpu/drm/sti/sti_cursor.c | 1 - drivers/gpu/drm/sti/sti_dvo.c | 1 - drivers/gpu/drm/sti/sti_gdp.c | 1 - drivers/gpu/drm/sti/sti_hda.c | 1 - drivers/gpu/drm/sti/sti_hdmi.c | 2 - drivers/gpu/drm/sti/sti_hqvdp.c | 1 - drivers/gpu/drm/stm/ltdc.c | 1 - drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 1 - drivers/gpu/drm/sun4i/sun4i_rgb.c | 1 - drivers/gpu/drm/sun4i/sun4i_tv.c | 1 - drivers/gpu/drm/tegra/dsi.c | 1 - drivers/gpu/drm/tegra/hdmi.c | 1 - drivers/gpu/drm/tegra/rgb.c | 1 - drivers/gpu/drm/tegra/sor.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 1 - drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - drivers/gpu/drm/vc4/vc4_vec.c | 2 - drivers/gpu/drm/virtio/virtgpu_display.c | 1 - drivers/gpu/drm/zte/zx_hdmi.c | 1 - drivers/gpu/drm/zte/zx_tvenc.c | 1 - drivers/gpu/drm/zte/zx_vga.c | 1 - include/drm/drm_atomic.h | 8 - include/drm/drm_atomic_helper.h | 11 - include/drm/drm_connector.h | 10 +- include/drm/drm_crtc.h | 6 +- include/drm/drm_plane.h | 6 +- 98 files changed, 224 insertions(+), 536 deletions(-) -- 2.13.3 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack 2017-07-25 8:01 [PATCH 0/8] acquire ctx for everyone! Daniel Vetter @ 2017-07-25 8:01 ` Daniel Vetter 2017-07-25 8:47 ` Maarten Lankhorst ` (3 more replies) 2017-07-25 8:01 ` [PATCH 2/8] drm: Don't update property values for atomic drivers Daniel Vetter ` (8 subsequent siblings) 9 siblings, 4 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: Intel Graphics Development Cc: Daniel Vetter, Tomi Valkeinen, Laurent Pinchart, DRI Development, Daniel Vetter I want/need to rework the core property handling, and this hack is getting in the way. But since it's a non-standard propety only used by legacy userspace we know that this will only every be called from ioctl code. And never on some other free-standing state struct, where this old hack wouldn't work either. v2: don't forget zorder and get_property! Cc: Tomi Valkeinen <tomi.valkeinen@ti.com Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/omapdrm/omap_crtc.c | 64 ++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 36 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c index 14e8a7738b06..efa525442e7d 100644 --- a/drivers/gpu/drm/omapdrm/omap_crtc.c +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c @@ -498,39 +498,30 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc, spin_unlock_irq(&crtc->dev->event_lock); } -static bool omap_crtc_is_plane_prop(struct drm_crtc *crtc, - struct drm_property *property) -{ - struct drm_device *dev = crtc->dev; - struct omap_drm_private *priv = dev->dev_private; - - return property == priv->zorder_prop || - property == crtc->primary->rotation_property; -} - static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, struct drm_crtc_state *state, struct drm_property *property, uint64_t val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - struct drm_plane_state *plane_state; - struct drm_plane *plane = crtc->primary; - - /* - * Delegate property set to the primary plane. Get the plane - * state and set the property directly. - */ - - plane_state = drm_atomic_get_plane_state(state->state, plane); - if (IS_ERR(plane_state)) - return PTR_ERR(plane_state); + struct omap_drm_private *priv = crtc->dev->dev_private; + struct drm_plane_state *plane_state; - return drm_atomic_plane_set_property(plane, plane_state, - property, val); - } + /* + * Delegate property set to the primary plane. Get the plane + * state and set the property directly. + */ + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); + if (IS_ERR(plane_state)) + return PTR_ERR(plane_state); + + if (property == crtc->primary->rotation_property) + plane_state->rotation = val; + else if (property == priv->zorder_prop) + plane_state->zpos = val; + else + return -EINVAL; - return -EINVAL; + return 0; } static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, @@ -538,16 +529,17 @@ static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, struct drm_property *property, uint64_t *val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - /* - * Delegate property get to the primary plane. The - * drm_atomic_plane_get_property() function isn't exported, but - * can be called through drm_object_property_get_value() as that - * will call drm_atomic_get_property() for atomic drivers. - */ - return drm_object_property_get_value(&crtc->primary->base, - property, val); - } + struct omap_drm_private *priv = crtc->dev->dev_private; + + /* + * Remap to the plane rotation/zorder property. We can peek at the plane + * state directly since holding the crtc locks gives you a read-lock on + * the plane state. + */ + if (property == crtc->primary->rotation_property) + return crtc->primary->state->rotation; + else if (property == priv->zorder_prop) + return crtc->primary->state->zpos; return -EINVAL; } -- 2.13.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack 2017-07-25 8:01 ` [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack Daniel Vetter @ 2017-07-25 8:47 ` Maarten Lankhorst 2017-07-25 9:24 ` [Intel-gfx] " Daniel Vetter 2017-07-31 10:54 ` [PATCH] drm/omap: Rework " Daniel Vetter ` (2 subsequent siblings) 3 siblings, 1 reply; 84+ messages in thread From: Maarten Lankhorst @ 2017-07-25 8:47 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: Daniel Vetter, Tomi Valkeinen, Laurent Pinchart, DRI Development Op 25-07-17 om 10:01 schreef Daniel Vetter: > I want/need to rework the core property handling, and this hack is > getting in the way. But since it's a non-standard propety only used by > legacy userspace we know that this will only every be called from > ioctl code. And never on some other free-standing state struct, where > this old hack wouldn't work either. > > v2: don't forget zorder and get_property! > > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > --- > drivers/gpu/drm/omapdrm/omap_crtc.c | 64 ++++++++++++++++--------------------- > 1 file changed, 28 insertions(+), 36 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c > index 14e8a7738b06..efa525442e7d 100644 > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c > @@ -498,39 +498,30 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc, > spin_unlock_irq(&crtc->dev->event_lock); > } > > -static bool omap_crtc_is_plane_prop(struct drm_crtc *crtc, > - struct drm_property *property) > -{ > - struct drm_device *dev = crtc->dev; > - struct omap_drm_private *priv = dev->dev_private; > - > - return property == priv->zorder_prop || > - property == crtc->primary->rotation_property; > -} > - > static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, > struct drm_crtc_state *state, > struct drm_property *property, > uint64_t val) > { > - if (omap_crtc_is_plane_prop(crtc, property)) { > - struct drm_plane_state *plane_state; > - struct drm_plane *plane = crtc->primary; > - > - /* > - * Delegate property set to the primary plane. Get the plane > - * state and set the property directly. > - */ > - > - plane_state = drm_atomic_get_plane_state(state->state, plane); > - if (IS_ERR(plane_state)) > - return PTR_ERR(plane_state); > + struct omap_drm_private *priv = crtc->dev->dev_private; > + struct drm_plane_state *plane_state; > > - return drm_atomic_plane_set_property(plane, plane_state, > - property, val); > - } > + /* > + * Delegate property set to the primary plane. Get the plane > + * state and set the property directly. > + */ > + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); > + if (IS_ERR(plane_state)) > + return PTR_ERR(plane_state); > + > + if (property == crtc->primary->rotation_property) > + plane_state->rotation = val; > + else if (property == priv->zorder_prop) > + plane_state->zpos = val; > + else > + return -EINVAL; > > - return -EINVAL; > + return 0; > } > > static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, > @@ -538,16 +529,17 @@ static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, > struct drm_property *property, > uint64_t *val) > { > - if (omap_crtc_is_plane_prop(crtc, property)) { > - /* > - * Delegate property get to the primary plane. The > - * drm_atomic_plane_get_property() function isn't exported, but > - * can be called through drm_object_property_get_value() as that > - * will call drm_atomic_get_property() for atomic drivers. > - */ > - return drm_object_property_get_value(&crtc->primary->base, > - property, val); > - } > + struct omap_drm_private *priv = crtc->dev->dev_private; > + > + /* > + * Remap to the plane rotation/zorder property. We can peek at the plane > + * state directly since holding the crtc locks gives you a read-lock on > + * the plane state. > + */ > + if (property == crtc->primary->rotation_property) > + return crtc->primary->state->rotation; > + else if (property == priv->zorder_prop) > + return crtc->primary->state->zpos; > > return -EINVAL; > } acquire_ctx for crtc's getprop too then? The comment about read lock is only valid when the plane is bound to the crtc. In general this is not always the case. You can only peak at plane->state when crtc->state->plane_mask & BIT(drm_plane_index(plane)) is true. I think we might need -EDEADLK handling for getprop then, even though it's not optimal. :( _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [Intel-gfx] [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack 2017-07-25 8:47 ` Maarten Lankhorst @ 2017-07-25 9:24 ` Daniel Vetter 2017-07-31 11:48 ` Laurent Pinchart 0 siblings, 1 reply; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 9:24 UTC (permalink / raw) To: Maarten Lankhorst Cc: Daniel Vetter, Intel Graphics Development, Tomi Valkeinen, Laurent Pinchart, DRI Development On Tue, Jul 25, 2017 at 10:47 AM, Maarten Lankhorst <maarten.lankhorst@linux.intel.com> wrote: > Op 25-07-17 om 10:01 schreef Daniel Vetter: >> I want/need to rework the core property handling, and this hack is >> getting in the way. But since it's a non-standard propety only used by >> legacy userspace we know that this will only every be called from >> ioctl code. And never on some other free-standing state struct, where >> this old hack wouldn't work either. >> >> v2: don't forget zorder and get_property! >> >> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> >> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> >> --- >> drivers/gpu/drm/omapdrm/omap_crtc.c | 64 ++++++++++++++++--------------------- >> 1 file changed, 28 insertions(+), 36 deletions(-) >> >> diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c >> index 14e8a7738b06..efa525442e7d 100644 >> --- a/drivers/gpu/drm/omapdrm/omap_crtc.c >> +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c >> @@ -498,39 +498,30 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc, >> spin_unlock_irq(&crtc->dev->event_lock); >> } >> >> -static bool omap_crtc_is_plane_prop(struct drm_crtc *crtc, >> - struct drm_property *property) >> -{ >> - struct drm_device *dev = crtc->dev; >> - struct omap_drm_private *priv = dev->dev_private; >> - >> - return property == priv->zorder_prop || >> - property == crtc->primary->rotation_property; >> -} >> - >> static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, >> struct drm_crtc_state *state, >> struct drm_property *property, >> uint64_t val) >> { >> - if (omap_crtc_is_plane_prop(crtc, property)) { >> - struct drm_plane_state *plane_state; >> - struct drm_plane *plane = crtc->primary; >> - >> - /* >> - * Delegate property set to the primary plane. Get the plane >> - * state and set the property directly. >> - */ >> - >> - plane_state = drm_atomic_get_plane_state(state->state, plane); >> - if (IS_ERR(plane_state)) >> - return PTR_ERR(plane_state); >> + struct omap_drm_private *priv = crtc->dev->dev_private; >> + struct drm_plane_state *plane_state; >> >> - return drm_atomic_plane_set_property(plane, plane_state, >> - property, val); >> - } >> + /* >> + * Delegate property set to the primary plane. Get the plane >> + * state and set the property directly. >> + */ >> + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); >> + if (IS_ERR(plane_state)) >> + return PTR_ERR(plane_state); >> + >> + if (property == crtc->primary->rotation_property) >> + plane_state->rotation = val; >> + else if (property == priv->zorder_prop) >> + plane_state->zpos = val; >> + else >> + return -EINVAL; >> >> - return -EINVAL; >> + return 0; >> } >> >> static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, >> @@ -538,16 +529,17 @@ static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, >> struct drm_property *property, >> uint64_t *val) >> { >> - if (omap_crtc_is_plane_prop(crtc, property)) { >> - /* >> - * Delegate property get to the primary plane. The >> - * drm_atomic_plane_get_property() function isn't exported, but >> - * can be called through drm_object_property_get_value() as that >> - * will call drm_atomic_get_property() for atomic drivers. >> - */ >> - return drm_object_property_get_value(&crtc->primary->base, >> - property, val); >> - } >> + struct omap_drm_private *priv = crtc->dev->dev_private; >> + >> + /* >> + * Remap to the plane rotation/zorder property. We can peek at the plane >> + * state directly since holding the crtc locks gives you a read-lock on >> + * the plane state. >> + */ >> + if (property == crtc->primary->rotation_property) >> + return crtc->primary->state->rotation; >> + else if (property == priv->zorder_prop) >> + return crtc->primary->state->zpos; >> >> return -EINVAL; >> } > > acquire_ctx for crtc's getprop too then? > > The comment about read lock is only valid when the plane is bound to the crtc. In general this is not always the case. > You can only peak at plane->state when crtc->state->plane_mask & BIT(drm_plane_index(plane)) is true. > > I think we might need -EDEADLK handling for getprop then, even though it's not optimal. :( Well both the old an new way only worked because we grab all the locks unconditionally. And I'd really want to avoid get_prop being anything but a simple lookup. Unfortuantely that breaks omapdrm, so no idea what exactly to do here. In a way adding properties without standardizing them across drivers first was a really bad idea, because then we have disjoint sets of uapi expectations, and there's just no way to make that work. I guess one radical approach might be to make this the "standard", and just redirect rotation from the CRTC to the primary plane. Or omapdrm needs to duplicate the property properly, and update one if the other is set. I think that's probably the most workable approach. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [Intel-gfx] [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack 2017-07-25 9:24 ` [Intel-gfx] " Daniel Vetter @ 2017-07-31 11:48 ` Laurent Pinchart 2017-07-31 11:56 ` Tomi Valkeinen 0 siblings, 1 reply; 84+ messages in thread From: Laurent Pinchart @ 2017-07-31 11:48 UTC (permalink / raw) To: Daniel Vetter Cc: Daniel Vetter, Intel Graphics Development, Tomi Valkeinen, DRI Development Hi Daniel, On Tuesday 25 Jul 2017 11:24:28 Daniel Vetter wrote: > On Tue, Jul 25, 2017 at 10:47 AM, Maarten Lankhorst wrote: > > Op 25-07-17 om 10:01 schreef Daniel Vetter: > >> I want/need to rework the core property handling, and this hack is > >> getting in the way. But since it's a non-standard propety only used by > >> legacy userspace we know that this will only every be called from > >> ioctl code. And never on some other free-standing state struct, where > >> this old hack wouldn't work either. > >> > >> v2: don't forget zorder and get_property! > >> > >> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com > >> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > >> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > >> --- > >> > >> drivers/gpu/drm/omapdrm/omap_crtc.c | 64 ++++++++++--------------------- > >> 1 file changed, 28 insertions(+), 36 deletions(-) [snip] > > The comment about read lock is only valid when the plane is bound to the > > crtc. In general this is not always the case. You can only peak at > > plane->state when crtc->state->plane_mask & BIT(drm_plane_index(plane)) > > is true. > > > > I think we might need -EDEADLK handling for getprop then, even though it's > > not optimal. :( > > Well both the old an new way only worked because we grab all the locks > unconditionally. And I'd really want to avoid get_prop being anything > but a simple lookup. Unfortuantely that breaks omapdrm, so no idea > what exactly to do here. > > In a way adding properties without standardizing them across drivers > first was a really bad idea, because then we have disjoint sets of > uapi expectations, and there's just no way to make that work. > > I guess one radical approach might be to make this the "standard", and > just redirect rotation from the CRTC to the primary plane. > > Or omapdrm needs to duplicate the property properly, and update one if > the other is set. I think that's probably the most workable approach. Maybe the first question we should answer is whether this hack is still needed in the omapdrm driver. Tomi, do you know whether userspace still needs this ? -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [Intel-gfx] [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack 2017-07-31 11:48 ` Laurent Pinchart @ 2017-07-31 11:56 ` Tomi Valkeinen 0 siblings, 0 replies; 84+ messages in thread From: Tomi Valkeinen @ 2017-07-31 11:56 UTC (permalink / raw) To: Laurent Pinchart, Daniel Vetter Cc: Daniel Vetter, Intel Graphics Development, DRI Development [-- Attachment #1.1.1: Type: text/plain, Size: 1420 bytes --] On 31/07/17 14:48, Laurent Pinchart wrote: >>> The comment about read lock is only valid when the plane is bound to the >>> crtc. In general this is not always the case. You can only peak at >>> plane->state when crtc->state->plane_mask & BIT(drm_plane_index(plane)) >>> is true. >>> >>> I think we might need -EDEADLK handling for getprop then, even though it's >>> not optimal. :( >> >> Well both the old an new way only worked because we grab all the locks >> unconditionally. And I'd really want to avoid get_prop being anything >> but a simple lookup. Unfortuantely that breaks omapdrm, so no idea >> what exactly to do here. >> >> In a way adding properties without standardizing them across drivers >> first was a really bad idea, because then we have disjoint sets of >> uapi expectations, and there's just no way to make that work. >> >> I guess one radical approach might be to make this the "standard", and >> just redirect rotation from the CRTC to the primary plane. >> >> Or omapdrm needs to duplicate the property properly, and update one if >> the other is set. I think that's probably the most workable approach. > > Maybe the first question we should answer is whether this hack is still needed > in the omapdrm driver. Tomi, do you know whether userspace still needs this ? The omap X driver uses legacy modesetting and the rotation property for the crtc. Tomi [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-07-25 8:01 ` [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack Daniel Vetter 2017-07-25 8:47 ` Maarten Lankhorst @ 2017-07-31 10:54 ` Daniel Vetter 2017-07-31 11:57 ` Laurent Pinchart 2017-07-31 12:45 ` Daniel Vetter 2017-07-31 15:42 ` Daniel Vetter 3 siblings, 1 reply; 84+ messages in thread From: Daniel Vetter @ 2017-07-31 10:54 UTC (permalink / raw) To: DRI Development Cc: Daniel Vetter, Tomi Valkeinen, Laurent Pinchart, Daniel Vetter I want/need to rework the core property handling, and this hack is getting in the way. But since it's a non-standard propety only used by legacy userspace we know that this will only every be called from ioctl code. And never on some other free-standing state struct, where this old hack wouldn't work either. v2: don't forget zorder and get_property! v3: Shadow the legacy state to avoid locking issues in get_property (Maarten). Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/omapdrm/omap_crtc.c | 84 +++++++++++++++++++++---------------- drivers/gpu/drm/omapdrm/omap_drv.h | 9 ++++ 2 files changed, 57 insertions(+), 36 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c index 14e8a7738b06..fc8b25748f10 100644 --- a/drivers/gpu/drm/omapdrm/omap_crtc.c +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c @@ -498,39 +498,34 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc, spin_unlock_irq(&crtc->dev->event_lock); } -static bool omap_crtc_is_plane_prop(struct drm_crtc *crtc, - struct drm_property *property) -{ - struct drm_device *dev = crtc->dev; - struct omap_drm_private *priv = dev->dev_private; - - return property == priv->zorder_prop || - property == crtc->primary->rotation_property; -} - static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, struct drm_crtc_state *state, struct drm_property *property, uint64_t val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - struct drm_plane_state *plane_state; - struct drm_plane *plane = crtc->primary; - - /* - * Delegate property set to the primary plane. Get the plane - * state and set the property directly. - */ - - plane_state = drm_atomic_get_plane_state(state->state, plane); - if (IS_ERR(plane_state)) - return PTR_ERR(plane_state); + struct omap_drm_private *priv = crtc->dev->dev_private; + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); + struct drm_plane_state *plane_state; - return drm_atomic_plane_set_property(plane, plane_state, - property, val); + /* + * Delegate property set to the primary plane. Get the plane + * state and set the property directly. + */ + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); + if (IS_ERR(plane_state)) + return PTR_ERR(plane_state); + + if (property == crtc->primary->rotation_property) { + plane_state->rotation = val; + omap_state->rotation = val; + } else if (property == priv->zorder_prop) { + plane_state->zpos = val; + omap_state->zpos = val; + } else { + return -EINVAL; } - return -EINVAL; + return 0; } static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, @@ -538,20 +533,37 @@ static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, struct drm_property *property, uint64_t *val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - /* - * Delegate property get to the primary plane. The - * drm_atomic_plane_get_property() function isn't exported, but - * can be called through drm_object_property_get_value() as that - * will call drm_atomic_get_property() for atomic drivers. - */ - return drm_object_property_get_value(&crtc->primary->base, - property, val); - } + struct omap_drm_private *priv = crtc->dev->dev_private; + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); + + /* + * Remap to the plane rotation/zorder property. We can peek at the plane + * state directly since holding the crtc locks gives you a read-lock on + * the plane state. + */ + if (property == crtc->primary->rotation_property) + return omap_state->rotation; + else if (property == priv->zorder_prop) + return omap_state->zpos; return -EINVAL; } +static struct drm_crtc_state * +omap_crtc_duplicate_state(struct drm_crtc *crtc) +{ + struct omap_crtc_state *state; + + if (WARN_ON(!crtc->state)) + return NULL; + + state = kmalloc(sizeof(*state), GFP_KERNEL); + if (state) + __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); + + return &state->base; +} + static const struct drm_crtc_funcs omap_crtc_funcs = { .reset = drm_atomic_helper_crtc_reset, .set_config = drm_atomic_helper_set_config, @@ -559,7 +571,7 @@ static const struct drm_crtc_funcs omap_crtc_funcs = { .page_flip = drm_atomic_helper_page_flip, .gamma_set = drm_atomic_helper_legacy_gamma_set, .set_property = drm_atomic_helper_crtc_set_property, - .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, + .atomic_duplicate_state = omap_crtc_duplicate_state, .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, .atomic_set_property = omap_crtc_atomic_set_property, .atomic_get_property = omap_crtc_atomic_get_property, diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h index 4bd1e9070b31..11703c174cd8 100644 --- a/drivers/gpu/drm/omapdrm/omap_drv.h +++ b/drivers/gpu/drm/omapdrm/omap_drv.h @@ -115,6 +115,15 @@ static inline void omap_fbdev_free(struct drm_device *dev) } #endif +struct omap_crtc_state { + /* must be first */ + struct drm_crtc_state base; + /* shadow values for legacy userspace support */ + unsigned int rotation; + unsigned int zpos; +}; +#define to_omap_crtc_state(x) container_of(x, struct omap_crtc_state, base) + struct videomode *omap_crtc_timings(struct drm_crtc *crtc); enum omap_channel omap_crtc_channel(struct drm_crtc *crtc); void omap_crtc_pre_init(void); -- 2.9.4 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-07-31 10:54 ` [PATCH] drm/omap: Rework " Daniel Vetter @ 2017-07-31 11:57 ` Laurent Pinchart 0 siblings, 0 replies; 84+ messages in thread From: Laurent Pinchart @ 2017-07-31 11:57 UTC (permalink / raw) To: Daniel Vetter; +Cc: Daniel Vetter, Tomi Valkeinen, DRI Development Hi Daniel, Thank you for the patch. On Monday 31 Jul 2017 12:54:19 Daniel Vetter wrote: > I want/need to rework the core property handling, and this hack is > getting in the way. But since it's a non-standard propety only used by s/propety/property/ > legacy userspace we know that this will only every be called from > ioctl code. And never on some other free-standing state struct, where > this old hack wouldn't work either. > > v2: don't forget zorder and get_property! > > v3: Shadow the legacy state to avoid locking issues in get_property > (Maarten). > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > --- > drivers/gpu/drm/omapdrm/omap_crtc.c | 84 ++++++++++++++++++---------------- > drivers/gpu/drm/omapdrm/omap_drv.h | 9 ++++ > 2 files changed, 57 insertions(+), 36 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c > b/drivers/gpu/drm/omapdrm/omap_crtc.c index 14e8a7738b06..fc8b25748f10 > 100644 > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c > @@ -498,39 +498,34 @@ static void omap_crtc_atomic_flush(struct drm_crtc > *crtc, spin_unlock_irq(&crtc->dev->event_lock); > } > > -static bool omap_crtc_is_plane_prop(struct drm_crtc *crtc, > - struct drm_property *property) > -{ > - struct drm_device *dev = crtc->dev; > - struct omap_drm_private *priv = dev->dev_private; > - > - return property == priv->zorder_prop || > - property == crtc->primary->rotation_property; > -} > - > static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, > struct drm_crtc_state *state, > struct drm_property *property, > uint64_t val) > { > - if (omap_crtc_is_plane_prop(crtc, property)) { > - struct drm_plane_state *plane_state; > - struct drm_plane *plane = crtc->primary; > - > - /* > - * Delegate property set to the primary plane. Get the plane > - * state and set the property directly. > - */ > - > - plane_state = drm_atomic_get_plane_state(state->state, plane); > - if (IS_ERR(plane_state)) > - return PTR_ERR(plane_state); > + struct omap_drm_private *priv = crtc->dev->dev_private; > + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); > + struct drm_plane_state *plane_state; > > - return drm_atomic_plane_set_property(plane, plane_state, > - property, val); > + /* > + * Delegate property set to the primary plane. Get the plane > + * state and set the property directly. Nitpicking, you can reformat the comment to go towards the 80 columns limit. > + */ > + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); > + if (IS_ERR(plane_state)) > + return PTR_ERR(plane_state); > + > + if (property == crtc->primary->rotation_property) { > + plane_state->rotation = val; > + omap_state->rotation = val; > + } else if (property == priv->zorder_prop) { > + plane_state->zpos = val; > + omap_state->zpos = val; > + } else { > + return -EINVAL; > } > > - return -EINVAL; > + return 0; > } > > static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, > @@ -538,20 +533,37 @@ static int omap_crtc_atomic_get_property(struct > drm_crtc *crtc, struct drm_property *property, > uint64_t *val) > { > - if (omap_crtc_is_plane_prop(crtc, property)) { > - /* > - * Delegate property get to the primary plane. The > - * drm_atomic_plane_get_property() function isn't exported, but > - * can be called through drm_object_property_get_value() as that > - * will call drm_atomic_get_property() for atomic drivers. > - */ > - return drm_object_property_get_value(&crtc->primary->base, > - property, val); > - } > + struct omap_drm_private *priv = crtc->dev->dev_private; > + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); > + > + /* > + * Remap to the plane rotation/zorder property. We can peek at the plane > + * state directly since holding the crtc locks gives you a read-lock on > + * the plane state. Isn't this comment outdated ? > + */ > + if (property == crtc->primary->rotation_property) > + return omap_state->rotation; > + else if (property == priv->zorder_prop) > + return omap_state->zpos; > > return -EINVAL; > } > > +static struct drm_crtc_state * > +omap_crtc_duplicate_state(struct drm_crtc *crtc) > +{ > + struct omap_crtc_state *state; > + > + if (WARN_ON(!crtc->state)) > + return NULL; > + > + state = kmalloc(sizeof(*state), GFP_KERNEL); > + if (state) > + __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); No need to copy the zpos and rotation fields ? > + return &state->base; > +} > + > static const struct drm_crtc_funcs omap_crtc_funcs = { > .reset = drm_atomic_helper_crtc_reset, > .set_config = drm_atomic_helper_set_config, > @@ -559,7 +571,7 @@ static const struct drm_crtc_funcs omap_crtc_funcs = { > .page_flip = drm_atomic_helper_page_flip, > .gamma_set = drm_atomic_helper_legacy_gamma_set, > .set_property = drm_atomic_helper_crtc_set_property, > - .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, > + .atomic_duplicate_state = omap_crtc_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, > .atomic_set_property = omap_crtc_atomic_set_property, > .atomic_get_property = omap_crtc_atomic_get_property, > diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h > b/drivers/gpu/drm/omapdrm/omap_drv.h index 4bd1e9070b31..11703c174cd8 > 100644 > --- a/drivers/gpu/drm/omapdrm/omap_drv.h > +++ b/drivers/gpu/drm/omapdrm/omap_drv.h > @@ -115,6 +115,15 @@ static inline void omap_fbdev_free(struct drm_device > *dev) } > #endif > > +struct omap_crtc_state { > + /* must be first */ Capitalizing comments would be appreciated :-) > + struct drm_crtc_state base; > + /* shadow values for legacy userspace support */ > + unsigned int rotation; > + unsigned int zpos; > +}; > +#define to_omap_crtc_state(x) container_of(x, struct omap_crtc_state, base) Could you please define this structure in omap_crtc.c, as it's internal to the CRTC handling code ? > struct videomode *omap_crtc_timings(struct drm_crtc *crtc); > enum omap_channel omap_crtc_channel(struct drm_crtc *crtc); > void omap_crtc_pre_init(void); -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-07-25 8:01 ` [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack Daniel Vetter 2017-07-25 8:47 ` Maarten Lankhorst 2017-07-31 10:54 ` [PATCH] drm/omap: Rework " Daniel Vetter @ 2017-07-31 12:45 ` Daniel Vetter 2017-07-31 13:30 ` Laurent Pinchart 2017-07-31 15:42 ` Daniel Vetter 3 siblings, 1 reply; 84+ messages in thread From: Daniel Vetter @ 2017-07-31 12:45 UTC (permalink / raw) To: DRI Development Cc: Daniel Vetter, Tomi Valkeinen, Laurent Pinchart, Daniel Vetter I want/need to rework the core property handling, and this hack is getting in the way. But since it's a non-standard propety only used by legacy userspace we know that this will only every be called from ioctl code. And never on some other free-standing state struct, where this old hack wouldn't work either. v2: don't forget zorder and get_property! v3: Shadow the legacy state to avoid locking issues in get_property (Maarten). v4: Review from Laurent - Move struct omap_crtc_state into omap_crtc.c - Clean up comments. - Don't forget to copy the shadowed state over on duplicate. Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/omapdrm/omap_crtc.c | 95 +++++++++++++++++++++++-------------- 1 file changed, 59 insertions(+), 36 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c index 14e8a7738b06..16d8b291921b 100644 --- a/drivers/gpu/drm/omapdrm/omap_crtc.c +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c @@ -26,6 +26,16 @@ #include "omap_drv.h" +#define to_omap_crtc_state(x) container_of(x, struct omap_crtc_state, base) + +struct omap_crtc_state { + /* Must be first. */ + struct drm_crtc_state base; + /* Shadow values for legacy userspace support. */ + unsigned int rotation; + unsigned int zpos; +}; + #define to_omap_crtc(x) container_of(x, struct omap_crtc, base) struct omap_crtc { @@ -498,39 +508,35 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc, spin_unlock_irq(&crtc->dev->event_lock); } -static bool omap_crtc_is_plane_prop(struct drm_crtc *crtc, - struct drm_property *property) -{ - struct drm_device *dev = crtc->dev; - struct omap_drm_private *priv = dev->dev_private; - - return property == priv->zorder_prop || - property == crtc->primary->rotation_property; -} - static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, struct drm_crtc_state *state, struct drm_property *property, uint64_t val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - struct drm_plane_state *plane_state; - struct drm_plane *plane = crtc->primary; - - /* - * Delegate property set to the primary plane. Get the plane - * state and set the property directly. - */ - - plane_state = drm_atomic_get_plane_state(state->state, plane); - if (IS_ERR(plane_state)) - return PTR_ERR(plane_state); + struct omap_drm_private *priv = crtc->dev->dev_private; + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); + struct drm_plane_state *plane_state; - return drm_atomic_plane_set_property(plane, plane_state, - property, val); + /* + * Delegate property set to the primary plane. Get the plane state and + * set the property directly, but keep a shadow copy for the + * atomic_get_property callback. + */ + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); + if (IS_ERR(plane_state)) + return PTR_ERR(plane_state); + + if (property == crtc->primary->rotation_property) { + plane_state->rotation = val; + omap_state->rotation = val; + } else if (property == priv->zorder_prop) { + plane_state->zpos = val; + omap_state->zpos = val; + } else { + return -EINVAL; } - return -EINVAL; + return 0; } static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, @@ -538,20 +544,37 @@ static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, struct drm_property *property, uint64_t *val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - /* - * Delegate property get to the primary plane. The - * drm_atomic_plane_get_property() function isn't exported, but - * can be called through drm_object_property_get_value() as that - * will call drm_atomic_get_property() for atomic drivers. - */ - return drm_object_property_get_value(&crtc->primary->base, - property, val); - } + struct omap_drm_private *priv = crtc->dev->dev_private; + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); + + if (property == crtc->primary->rotation_property) + return omap_state->rotation; + else if (property == priv->zorder_prop) + return omap_state->zpos; return -EINVAL; } +static struct drm_crtc_state * +omap_crtc_duplicate_state(struct drm_crtc *crtc) +{ + struct omap_crtc_state *state, *current_state; + + if (WARN_ON(!crtc->state)) + return NULL; + + current_state = to_omap_crtc_state(crtc->state); + + state = kmalloc(sizeof(*state), GFP_KERNEL); + if (state) + __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); + + state->zpos = current_state->zpos; + state->rotation = current_state->rotation; + + return &state->base; +} + static const struct drm_crtc_funcs omap_crtc_funcs = { .reset = drm_atomic_helper_crtc_reset, .set_config = drm_atomic_helper_set_config, @@ -559,7 +582,7 @@ static const struct drm_crtc_funcs omap_crtc_funcs = { .page_flip = drm_atomic_helper_page_flip, .gamma_set = drm_atomic_helper_legacy_gamma_set, .set_property = drm_atomic_helper_crtc_set_property, - .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, + .atomic_duplicate_state = omap_crtc_duplicate_state, .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, .atomic_set_property = omap_crtc_atomic_set_property, .atomic_get_property = omap_crtc_atomic_get_property, -- 2.9.4 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-07-31 12:45 ` Daniel Vetter @ 2017-07-31 13:30 ` Laurent Pinchart 0 siblings, 0 replies; 84+ messages in thread From: Laurent Pinchart @ 2017-07-31 13:30 UTC (permalink / raw) To: Daniel Vetter; +Cc: Daniel Vetter, Tomi Valkeinen, DRI Development Hi Daniel, Thank you for the patch. On Monday 31 Jul 2017 14:45:16 Daniel Vetter wrote: > I want/need to rework the core property handling, and this hack is > getting in the way. But since it's a non-standard propety only used by > legacy userspace we know that this will only every be called from > ioctl code. And never on some other free-standing state struct, where > this old hack wouldn't work either. > > v2: don't forget zorder and get_property! > > v3: Shadow the legacy state to avoid locking issues in get_property > (Maarten). > > v4: Review from Laurent > - Move struct omap_crtc_state into omap_crtc.c > - Clean up comments. > - Don't forget to copy the shadowed state over on duplicate. > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> I wish we could do better, but I think that's the best we can achieve without removing the hack. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/gpu/drm/omapdrm/omap_crtc.c | 95 ++++++++++++++++++++-------------- > 1 file changed, 59 insertions(+), 36 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c > b/drivers/gpu/drm/omapdrm/omap_crtc.c index 14e8a7738b06..16d8b291921b > 100644 > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c > @@ -26,6 +26,16 @@ > > #include "omap_drv.h" > > +#define to_omap_crtc_state(x) container_of(x, struct omap_crtc_state, base) > + > +struct omap_crtc_state { > + /* Must be first. */ > + struct drm_crtc_state base; > + /* Shadow values for legacy userspace support. */ > + unsigned int rotation; > + unsigned int zpos; > +}; > + > #define to_omap_crtc(x) container_of(x, struct omap_crtc, base) > > struct omap_crtc { > @@ -498,39 +508,35 @@ static void omap_crtc_atomic_flush(struct drm_crtc > *crtc, spin_unlock_irq(&crtc->dev->event_lock); > } > > -static bool omap_crtc_is_plane_prop(struct drm_crtc *crtc, > - struct drm_property *property) > -{ > - struct drm_device *dev = crtc->dev; > - struct omap_drm_private *priv = dev->dev_private; > - > - return property == priv->zorder_prop || > - property == crtc->primary->rotation_property; > -} > - > static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, > struct drm_crtc_state *state, > struct drm_property *property, > uint64_t val) > { > - if (omap_crtc_is_plane_prop(crtc, property)) { > - struct drm_plane_state *plane_state; > - struct drm_plane *plane = crtc->primary; > - > - /* > - * Delegate property set to the primary plane. Get the plane > - * state and set the property directly. > - */ > - > - plane_state = drm_atomic_get_plane_state(state->state, plane); > - if (IS_ERR(plane_state)) > - return PTR_ERR(plane_state); > + struct omap_drm_private *priv = crtc->dev->dev_private; > + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); > + struct drm_plane_state *plane_state; > > - return drm_atomic_plane_set_property(plane, plane_state, > - property, val); > + /* > + * Delegate property set to the primary plane. Get the plane state and > + * set the property directly, but keep a shadow copy for the > + * atomic_get_property callback. > + */ > + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); > + if (IS_ERR(plane_state)) > + return PTR_ERR(plane_state); > + > + if (property == crtc->primary->rotation_property) { > + plane_state->rotation = val; > + omap_state->rotation = val; > + } else if (property == priv->zorder_prop) { > + plane_state->zpos = val; > + omap_state->zpos = val; > + } else { > + return -EINVAL; > } > > - return -EINVAL; > + return 0; > } > > static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, > @@ -538,20 +544,37 @@ static int omap_crtc_atomic_get_property(struct > drm_crtc *crtc, struct drm_property *property, > uint64_t *val) > { > - if (omap_crtc_is_plane_prop(crtc, property)) { > - /* > - * Delegate property get to the primary plane. The > - * drm_atomic_plane_get_property() function isn't exported, but > - * can be called through drm_object_property_get_value() as that > - * will call drm_atomic_get_property() for atomic drivers. > - */ > - return drm_object_property_get_value(&crtc->primary->base, > - property, val); > - } > + struct omap_drm_private *priv = crtc->dev->dev_private; > + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); > + > + if (property == crtc->primary->rotation_property) > + return omap_state->rotation; > + else if (property == priv->zorder_prop) > + return omap_state->zpos; > > return -EINVAL; > } > > +static struct drm_crtc_state * > +omap_crtc_duplicate_state(struct drm_crtc *crtc) > +{ > + struct omap_crtc_state *state, *current_state; > + > + if (WARN_ON(!crtc->state)) > + return NULL; > + > + current_state = to_omap_crtc_state(crtc->state); > + > + state = kmalloc(sizeof(*state), GFP_KERNEL); > + if (state) > + __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); > + > + state->zpos = current_state->zpos; > + state->rotation = current_state->rotation; > + > + return &state->base; > +} > + > static const struct drm_crtc_funcs omap_crtc_funcs = { > .reset = drm_atomic_helper_crtc_reset, > .set_config = drm_atomic_helper_set_config, > @@ -559,7 +582,7 @@ static const struct drm_crtc_funcs omap_crtc_funcs = { > .page_flip = drm_atomic_helper_page_flip, > .gamma_set = drm_atomic_helper_legacy_gamma_set, > .set_property = drm_atomic_helper_crtc_set_property, > - .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, > + .atomic_duplicate_state = omap_crtc_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, > .atomic_set_property = omap_crtc_atomic_set_property, > .atomic_get_property = omap_crtc_atomic_get_property, -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-07-25 8:01 ` [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack Daniel Vetter ` (2 preceding siblings ...) 2017-07-31 12:45 ` Daniel Vetter @ 2017-07-31 15:42 ` Daniel Vetter 2017-08-01 5:59 ` Maarten Lankhorst 3 siblings, 1 reply; 84+ messages in thread From: Daniel Vetter @ 2017-07-31 15:42 UTC (permalink / raw) To: DRI Development Cc: Daniel Vetter, Tomi Valkeinen, Laurent Pinchart, Daniel Vetter I want/need to rework the core property handling, and this hack is getting in the way. But since it's a non-standard propety only used by legacy userspace we know that this will only every be called from ioctl code. And never on some other free-standing state struct, where this old hack wouldn't work either. v2: don't forget zorder and get_property! v3: Shadow the legacy state to avoid locking issues in get_property (Maarten). v4: Review from Laurent - Move struct omap_crtc_state into omap_crtc.c - Clean up comments. - Don't forget to copy the shadowed state over on duplicate. v5: Don't forget to update the reset handler (Maarten). Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> (v4) Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/omapdrm/omap_crtc.c | 109 ++++++++++++++++++++++++------------ 1 file changed, 72 insertions(+), 37 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c index 14e8a7738b06..9014085c33df 100644 --- a/drivers/gpu/drm/omapdrm/omap_crtc.c +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c @@ -26,6 +26,16 @@ #include "omap_drv.h" +#define to_omap_crtc_state(x) container_of(x, struct omap_crtc_state, base) + +struct omap_crtc_state { + /* Must be first. */ + struct drm_crtc_state base; + /* Shadow values for legacy userspace support. */ + unsigned int rotation; + unsigned int zpos; +}; + #define to_omap_crtc(x) container_of(x, struct omap_crtc, base) struct omap_crtc { @@ -498,39 +508,35 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc, spin_unlock_irq(&crtc->dev->event_lock); } -static bool omap_crtc_is_plane_prop(struct drm_crtc *crtc, - struct drm_property *property) -{ - struct drm_device *dev = crtc->dev; - struct omap_drm_private *priv = dev->dev_private; - - return property == priv->zorder_prop || - property == crtc->primary->rotation_property; -} - static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, struct drm_crtc_state *state, struct drm_property *property, uint64_t val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - struct drm_plane_state *plane_state; - struct drm_plane *plane = crtc->primary; - - /* - * Delegate property set to the primary plane. Get the plane - * state and set the property directly. - */ - - plane_state = drm_atomic_get_plane_state(state->state, plane); - if (IS_ERR(plane_state)) - return PTR_ERR(plane_state); + struct omap_drm_private *priv = crtc->dev->dev_private; + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); + struct drm_plane_state *plane_state; - return drm_atomic_plane_set_property(plane, plane_state, - property, val); + /* + * Delegate property set to the primary plane. Get the plane state and + * set the property directly, but keep a shadow copy for the + * atomic_get_property callback. + */ + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); + if (IS_ERR(plane_state)) + return PTR_ERR(plane_state); + + if (property == crtc->primary->rotation_property) { + plane_state->rotation = val; + omap_state->rotation = val; + } else if (property == priv->zorder_prop) { + plane_state->zpos = val; + omap_state->zpos = val; + } else { + return -EINVAL; } - return -EINVAL; + return 0; } static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, @@ -538,28 +544,57 @@ static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, struct drm_property *property, uint64_t *val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - /* - * Delegate property get to the primary plane. The - * drm_atomic_plane_get_property() function isn't exported, but - * can be called through drm_object_property_get_value() as that - * will call drm_atomic_get_property() for atomic drivers. - */ - return drm_object_property_get_value(&crtc->primary->base, - property, val); - } + struct omap_drm_private *priv = crtc->dev->dev_private; + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); + + if (property == crtc->primary->rotation_property) + return omap_state->rotation; + else if (property == priv->zorder_prop) + return omap_state->zpos; return -EINVAL; } +static void omap_crtc_reset(struct drm_crtc *crtc) +{ + if (crtc->state) + __drm_atomic_helper_crtc_destroy_state(crtc->state); + + kfree(crtc->state); + crtc->state = kzalloc(sizeof(struct omap_crtc_state), GFP_KERNEL); + + if (crtc->state) + crtc->state->crtc = crtc; +} + +static struct drm_crtc_state * +omap_crtc_duplicate_state(struct drm_crtc *crtc) +{ + struct omap_crtc_state *state, *current_state; + + if (WARN_ON(!crtc->state)) + return NULL; + + current_state = to_omap_crtc_state(crtc->state); + + state = kmalloc(sizeof(*state), GFP_KERNEL); + if (state) + __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); + + state->zpos = current_state->zpos; + state->rotation = current_state->rotation; + + return &state->base; +} + static const struct drm_crtc_funcs omap_crtc_funcs = { - .reset = drm_atomic_helper_crtc_reset, + .reset = omap_crtc_reset, .set_config = drm_atomic_helper_set_config, .destroy = omap_crtc_destroy, .page_flip = drm_atomic_helper_page_flip, .gamma_set = drm_atomic_helper_legacy_gamma_set, .set_property = drm_atomic_helper_crtc_set_property, - .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, + .atomic_duplicate_state = omap_crtc_duplicate_state, .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, .atomic_set_property = omap_crtc_atomic_set_property, .atomic_get_property = omap_crtc_atomic_get_property, -- 2.9.4 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-07-31 15:42 ` Daniel Vetter @ 2017-08-01 5:59 ` Maarten Lankhorst 2017-08-01 10:20 ` Laurent Pinchart 0 siblings, 1 reply; 84+ messages in thread From: Maarten Lankhorst @ 2017-08-01 5:59 UTC (permalink / raw) To: Daniel Vetter, DRI Development Cc: Daniel Vetter, Tomi Valkeinen, Laurent Pinchart Op 31-07-17 om 17:42 schreef Daniel Vetter: > I want/need to rework the core property handling, and this hack is > getting in the way. But since it's a non-standard propety only used by > legacy userspace we know that this will only every be called from > ioctl code. And never on some other free-standing state struct, where > this old hack wouldn't work either. > > v2: don't forget zorder and get_property! > > v3: Shadow the legacy state to avoid locking issues in get_property > (Maarten). > > v4: Review from Laurent > - Move struct omap_crtc_state into omap_crtc.c > - Clean up comments. > - Don't forget to copy the shadowed state over on duplicate. > > v5: Don't forget to update the reset handler (Maarten). > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> (v4) > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > --- > drivers/gpu/drm/omapdrm/omap_crtc.c | 109 ++++++++++++++++++++++++------------ > 1 file changed, 72 insertions(+), 37 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c > index 14e8a7738b06..9014085c33df 100644 > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c > @@ -26,6 +26,16 @@ > > #include "omap_drv.h" > > +#define to_omap_crtc_state(x) container_of(x, struct omap_crtc_state, base) > + > +struct omap_crtc_state { > + /* Must be first. */ > + struct drm_crtc_state base; > + /* Shadow values for legacy userspace support. */ > + unsigned int rotation; > + unsigned int zpos; > +}; > + > #define to_omap_crtc(x) container_of(x, struct omap_crtc, base) > > struct omap_crtc { > @@ -498,39 +508,35 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc, > spin_unlock_irq(&crtc->dev->event_lock); > } > > -static bool omap_crtc_is_plane_prop(struct drm_crtc *crtc, > - struct drm_property *property) > -{ > - struct drm_device *dev = crtc->dev; > - struct omap_drm_private *priv = dev->dev_private; > - > - return property == priv->zorder_prop || > - property == crtc->primary->rotation_property; > -} > - > static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, > struct drm_crtc_state *state, > struct drm_property *property, > uint64_t val) > { > - if (omap_crtc_is_plane_prop(crtc, property)) { > - struct drm_plane_state *plane_state; > - struct drm_plane *plane = crtc->primary; > - > - /* > - * Delegate property set to the primary plane. Get the plane > - * state and set the property directly. > - */ > - > - plane_state = drm_atomic_get_plane_state(state->state, plane); > - if (IS_ERR(plane_state)) > - return PTR_ERR(plane_state); > + struct omap_drm_private *priv = crtc->dev->dev_private; > + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); > + struct drm_plane_state *plane_state; > > - return drm_atomic_plane_set_property(plane, plane_state, > - property, val); > + /* > + * Delegate property set to the primary plane. Get the plane state and > + * set the property directly, but keep a shadow copy for the > + * atomic_get_property callback. > + */ > + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); > + if (IS_ERR(plane_state)) > + return PTR_ERR(plane_state); > + > + if (property == crtc->primary->rotation_property) { > + plane_state->rotation = val; > + omap_state->rotation = val; > + } else if (property == priv->zorder_prop) { > + plane_state->zpos = val; > + omap_state->zpos = val; With atomic we should try to always make the getprop values accurate, or compositors might have troubles restoring. I would update the shadow values in omap_crtc_atomic_check through omap_crtc_atomic_check instead, with something like this: + pri_state = drm_atomic_get_new_plane_state(crtc->primary, state->state); + if (pri_state) { + struct omap_crtc_state *omap_crtc_state = + to_omap_crtc_state(state); + + omap_crtc_state->zpos = pri_state->zpos; + omap_crtc_state->rotation = pri_state->rotation; + } That way even when updating the property through the primary plane, it gets reflected correctly. For example when vt switching with fbdev. > + } else { > + return -EINVAL; > } > > - return -EINVAL; > + return 0; > } > > static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, > @@ -538,28 +544,57 @@ static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, > struct drm_property *property, > uint64_t *val) > { > - if (omap_crtc_is_plane_prop(crtc, property)) { > - /* > - * Delegate property get to the primary plane. The > - * drm_atomic_plane_get_property() function isn't exported, but > - * can be called through drm_object_property_get_value() as that > - * will call drm_atomic_get_property() for atomic drivers. > - */ > - return drm_object_property_get_value(&crtc->primary->base, > - property, val); > - } > + struct omap_drm_private *priv = crtc->dev->dev_private; > + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); > + > + if (property == crtc->primary->rotation_property) > + return omap_state->rotation; > + else if (property == priv->zorder_prop) > + return omap_state->zpos; > > return -EINVAL; > } > > +static void omap_crtc_reset(struct drm_crtc *crtc) > +{ > + if (crtc->state) > + __drm_atomic_helper_crtc_destroy_state(crtc->state); > + > + kfree(crtc->state); > + crtc->state = kzalloc(sizeof(struct omap_crtc_state), GFP_KERNEL); > + > + if (crtc->state) > + crtc->state->crtc = crtc; Hm, perhaps add a __drm_atomic_helper_crtc_reset, and (perhaps) for planes too? Similar to __drm_atomic_helper_connector_reset, in case we want to add something in the future that might need to be initialised. :) > +} > + > +static struct drm_crtc_state * > +omap_crtc_duplicate_state(struct drm_crtc *crtc) > +{ > + struct omap_crtc_state *state, *current_state; > + > + if (WARN_ON(!crtc->state)) > + return NULL; > + > + current_state = to_omap_crtc_state(crtc->state); > + > + state = kmalloc(sizeof(*state), GFP_KERNEL); > + if (state) > + __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); > + > + state->zpos = current_state->zpos; > + state->rotation = current_state->rotation; > + > + return &state->base; > +} > + > static const struct drm_crtc_funcs omap_crtc_funcs = { > - .reset = drm_atomic_helper_crtc_reset, > + .reset = omap_crtc_reset, > .set_config = drm_atomic_helper_set_config, > .destroy = omap_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > .gamma_set = drm_atomic_helper_legacy_gamma_set, > .set_property = drm_atomic_helper_crtc_set_property, > - .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, > + .atomic_duplicate_state = omap_crtc_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, > .atomic_set_property = omap_crtc_atomic_set_property, > .atomic_get_property = omap_crtc_atomic_get_property, _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-08-01 5:59 ` Maarten Lankhorst @ 2017-08-01 10:20 ` Laurent Pinchart 2017-08-02 8:02 ` Daniel Vetter 0 siblings, 1 reply; 84+ messages in thread From: Laurent Pinchart @ 2017-08-01 10:20 UTC (permalink / raw) To: Maarten Lankhorst Cc: Daniel Vetter, Tomi Valkeinen, DRI Development, Daniel Vetter Hi Maarten, On Tuesday 01 Aug 2017 07:59:13 Maarten Lankhorst wrote: > Op 31-07-17 om 17:42 schreef Daniel Vetter: > > I want/need to rework the core property handling, and this hack is > > getting in the way. But since it's a non-standard propety only used by > > legacy userspace we know that this will only every be called from > > ioctl code. And never on some other free-standing state struct, where > > this old hack wouldn't work either. > > > > v2: don't forget zorder and get_property! > > > > v3: Shadow the legacy state to avoid locking issues in get_property > > (Maarten). > > > > v4: Review from Laurent > > - Move struct omap_crtc_state into omap_crtc.c > > - Clean up comments. > > - Don't forget to copy the shadowed state over on duplicate. > > > > v5: Don't forget to update the reset handler (Maarten). > > > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> (v4) > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > > --- > > > > drivers/gpu/drm/omapdrm/omap_crtc.c | 109 ++++++++++++++++++++----------- > > 1 file changed, 72 insertions(+), 37 deletions(-) > > > > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c > > b/drivers/gpu/drm/omapdrm/omap_crtc.c index 14e8a7738b06..9014085c33df > > 100644 > > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c [snip] > > static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, > > struct drm_crtc_state *state, > > struct drm_property *property, > > uint64_t val) > > { > > - if (omap_crtc_is_plane_prop(crtc, property)) { > > - struct drm_plane_state *plane_state; > > - struct drm_plane *plane = crtc->primary; > > - > > - /* > > - * Delegate property set to the primary plane. Get the plane > > - * state and set the property directly. > > - */ > > - > > - plane_state = drm_atomic_get_plane_state(state->state, plane); > > - if (IS_ERR(plane_state)) > > - return PTR_ERR(plane_state); > > + struct omap_drm_private *priv = crtc->dev->dev_private; > > + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); > > + struct drm_plane_state *plane_state; > > > > - return drm_atomic_plane_set_property(plane, plane_state, > > - property, val); > > + /* > > + * Delegate property set to the primary plane. Get the plane state and > > + * set the property directly, but keep a shadow copy for the > > + * atomic_get_property callback. > > + */ > > + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); > > + if (IS_ERR(plane_state)) > > + return PTR_ERR(plane_state); > > + > > + if (property == crtc->primary->rotation_property) { > > + plane_state->rotation = val; > > + omap_state->rotation = val; > > + } else if (property == priv->zorder_prop) { > > + plane_state->zpos = val; > > + omap_state->zpos = val; > > With atomic we should try to always make the getprop values accurate, or > compositors might have troubles restoring. > > I would update the shadow values in omap_crtc_atomic_check through > omap_crtc_atomic_check instead, with something like this: > > + pri_state = drm_atomic_get_new_plane_state(crtc->primary, > state->state); > + if (pri_state) { > + struct omap_crtc_state *omap_crtc_state = > + to_omap_crtc_state(state); > + > + omap_crtc_state->zpos = pri_state->zpos; > + omap_crtc_state->rotation = pri_state->rotation; > + } > > That way even when updating the property through the primary plane, it gets > reflected correctly. For example when vt switching with fbdev. Let's not make it over-complicated. This hack is only needed fo the legacy X OMAP modesetting driver. The CRTC zpos and rotation properties should not be used through the atomic API. > > + } else { > > + return -EINVAL; > > } > > > > - return -EINVAL; > > + return 0; > > } -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-08-01 10:20 ` Laurent Pinchart @ 2017-08-02 8:02 ` Daniel Vetter 2017-08-02 13:20 ` Maarten Lankhorst 0 siblings, 1 reply; 84+ messages in thread From: Daniel Vetter @ 2017-08-02 8:02 UTC (permalink / raw) To: Laurent Pinchart; +Cc: Daniel Vetter, Tomi Valkeinen, DRI Development On Tue, Aug 1, 2017 at 12:20 PM, Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote: > On Tuesday 01 Aug 2017 07:59:13 Maarten Lankhorst wrote: >> + pri_state = drm_atomic_get_new_plane_state(crtc->primary, >> state->state); >> + if (pri_state) { >> + struct omap_crtc_state *omap_crtc_state = >> + to_omap_crtc_state(state); >> + >> + omap_crtc_state->zpos = pri_state->zpos; >> + omap_crtc_state->rotation = pri_state->rotation; >> + } >> >> That way even when updating the property through the primary plane, it gets >> reflected correctly. For example when vt switching with fbdev. > > Let's not make it over-complicated. This hack is only needed fo the legacy X > OMAP modesetting driver. The CRTC zpos and rotation properties should not be > used through the atomic API. Marten is right, the atomic properties are all such that you can unconditionally restore them (e.g. fences report a no-op value), to make compositor switching easier. Not sure anyone implements that, but I think it's a useful idea to keep. I'll respin (or maybe Maarten simply submits his patch with a proper sob ...). -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-08-02 8:02 ` Daniel Vetter @ 2017-08-02 13:20 ` Maarten Lankhorst 2017-08-04 9:57 ` Tomi Valkeinen 0 siblings, 1 reply; 84+ messages in thread From: Maarten Lankhorst @ 2017-08-02 13:20 UTC (permalink / raw) To: Daniel Vetter, Laurent Pinchart Cc: Daniel Vetter, Tomi Valkeinen, DRI Development Op 02-08-17 om 10:02 schreef Daniel Vetter: > On Tue, Aug 1, 2017 at 12:20 PM, Laurent Pinchart > <laurent.pinchart@ideasonboard.com> wrote: >> On Tuesday 01 Aug 2017 07:59:13 Maarten Lankhorst wrote: >>> + pri_state = drm_atomic_get_new_plane_state(crtc->primary, >>> state->state); >>> + if (pri_state) { >>> + struct omap_crtc_state *omap_crtc_state = >>> + to_omap_crtc_state(state); >>> + >>> + omap_crtc_state->zpos = pri_state->zpos; >>> + omap_crtc_state->rotation = pri_state->rotation; >>> + } >>> >>> That way even when updating the property through the primary plane, it gets >>> reflected correctly. For example when vt switching with fbdev. >> Let's not make it over-complicated. This hack is only needed fo the legacy X >> OMAP modesetting driver. The CRTC zpos and rotation properties should not be >> used through the atomic API. > Marten is right, the atomic properties are all such that you can > unconditionally restore them (e.g. fences report a no-op value), to > make compositor switching easier. Not sure anyone implements that, but > I think it's a useful idea to keep. I'll respin (or maybe Maarten > simply submits his patch with a proper sob ...). > -Daniel Here you go, compile tested version. :) ----8<---- I want/need to rework the core property handling, and this hack is getting in the way. But since it's a non-standard propety only used by legacy userspace we know that this will only every be called from ioctl code. And never on some other free-standing state struct, where this old hack wouldn't work either. v2: don't forget zorder and get_property! v3: Shadow the legacy state to avoid locking issues in get_property (Maarten). v4: Review from Laurent - Move struct omap_crtc_state into omap_crtc.c - Clean up comments. - Don't forget to copy the shadowed state over on duplicate. v5: Don't forget to update the reset handler (Maarten). v6: Update omap_crtc_state shadow values in omap_crtc_atomic_check (Maarten). Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> (v4) Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> --- drivers/gpu/drm/omapdrm/omap_crtc.c | 118 +++++++++++++++++++++++++----------- 1 file changed, 81 insertions(+), 37 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c index 14e8a7738b06..b842fcd9914a 100644 --- a/drivers/gpu/drm/omapdrm/omap_crtc.c +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c @@ -26,6 +26,16 @@ #include "omap_drv.h" +#define to_omap_crtc_state(x) container_of(x, struct omap_crtc_state, base) + +struct omap_crtc_state { + /* Must be first. */ + struct drm_crtc_state base; + /* Shadow values for legacy userspace support. */ + unsigned int rotation; + unsigned int zpos; +}; + #define to_omap_crtc(x) container_of(x, struct omap_crtc, base) struct omap_crtc { @@ -445,6 +455,8 @@ static void omap_crtc_mode_set_nofb(struct drm_crtc *crtc) static int omap_crtc_atomic_check(struct drm_crtc *crtc, struct drm_crtc_state *state) { + struct drm_plane_state *pri_state; + if (state->color_mgmt_changed && state->gamma_lut) { uint length = state->gamma_lut->length / sizeof(struct drm_color_lut); @@ -453,6 +465,16 @@ static int omap_crtc_atomic_check(struct drm_crtc *crtc, return -EINVAL; } + pri_state = drm_atomic_get_new_plane_state(state->state, crtc->primary); + if (pri_state) { + struct omap_crtc_state *omap_crtc_state = + to_omap_crtc_state(state); + + /* Mirror new values for zpos and rotation in omap_crtc_state */ + omap_crtc_state->zpos = pri_state->zpos; + omap_crtc_state->rotation = pri_state->rotation; + } + return 0; } @@ -498,39 +520,32 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc, spin_unlock_irq(&crtc->dev->event_lock); } -static bool omap_crtc_is_plane_prop(struct drm_crtc *crtc, - struct drm_property *property) -{ - struct drm_device *dev = crtc->dev; - struct omap_drm_private *priv = dev->dev_private; - - return property == priv->zorder_prop || - property == crtc->primary->rotation_property; -} - static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, struct drm_crtc_state *state, struct drm_property *property, uint64_t val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - struct drm_plane_state *plane_state; - struct drm_plane *plane = crtc->primary; - - /* - * Delegate property set to the primary plane. Get the plane - * state and set the property directly. - */ - - plane_state = drm_atomic_get_plane_state(state->state, plane); - if (IS_ERR(plane_state)) - return PTR_ERR(plane_state); + struct omap_drm_private *priv = crtc->dev->dev_private; + struct drm_plane_state *plane_state; - return drm_atomic_plane_set_property(plane, plane_state, - property, val); + /* + * Delegate property set to the primary plane. Get the plane state and + * set the property directly, but keep a shadow copy for the + * atomic_get_property callback. + */ + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); + if (IS_ERR(plane_state)) + return PTR_ERR(plane_state); + + if (property == crtc->primary->rotation_property) { + plane_state->rotation = val; + } else if (property == priv->zorder_prop) { + plane_state->zpos = val; + } else { + return -EINVAL; } - return -EINVAL; + return 0; } static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, @@ -538,28 +553,57 @@ static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, struct drm_property *property, uint64_t *val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - /* - * Delegate property get to the primary plane. The - * drm_atomic_plane_get_property() function isn't exported, but - * can be called through drm_object_property_get_value() as that - * will call drm_atomic_get_property() for atomic drivers. - */ - return drm_object_property_get_value(&crtc->primary->base, - property, val); - } + struct omap_drm_private *priv = crtc->dev->dev_private; + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); + + if (property == crtc->primary->rotation_property) + return omap_state->rotation; + else if (property == priv->zorder_prop) + return omap_state->zpos; return -EINVAL; } +static void omap_crtc_reset(struct drm_crtc *crtc) +{ + if (crtc->state) + __drm_atomic_helper_crtc_destroy_state(crtc->state); + + kfree(crtc->state); + crtc->state = kzalloc(sizeof(struct omap_crtc_state), GFP_KERNEL); + + if (crtc->state) + crtc->state->crtc = crtc; +} + +static struct drm_crtc_state * +omap_crtc_duplicate_state(struct drm_crtc *crtc) +{ + struct omap_crtc_state *state, *current_state; + + if (WARN_ON(!crtc->state)) + return NULL; + + current_state = to_omap_crtc_state(crtc->state); + + state = kmalloc(sizeof(*state), GFP_KERNEL); + if (state) + __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); + + state->zpos = current_state->zpos; + state->rotation = current_state->rotation; + + return &state->base; +} + static const struct drm_crtc_funcs omap_crtc_funcs = { - .reset = drm_atomic_helper_crtc_reset, + .reset = omap_crtc_reset, .set_config = drm_atomic_helper_set_config, .destroy = omap_crtc_destroy, .page_flip = drm_atomic_helper_page_flip, .gamma_set = drm_atomic_helper_legacy_gamma_set, .set_property = drm_atomic_helper_crtc_set_property, - .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, + .atomic_duplicate_state = omap_crtc_duplicate_state, .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, .atomic_set_property = omap_crtc_atomic_set_property, .atomic_get_property = omap_crtc_atomic_get_property, -- 2.11.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-08-02 13:20 ` Maarten Lankhorst @ 2017-08-04 9:57 ` Tomi Valkeinen 2017-08-04 10:02 ` Daniel Vetter 0 siblings, 1 reply; 84+ messages in thread From: Tomi Valkeinen @ 2017-08-04 9:57 UTC (permalink / raw) To: Maarten Lankhorst, Daniel Vetter, Laurent Pinchart Cc: Daniel Vetter, DRI Development [-- Attachment #1.1.1: Type: text/plain, Size: 1559 bytes --] Hi, > Here you go, compile tested version. :) > ----8<---- > I want/need to rework the core property handling, and this hack is > getting in the way. But since it's a non-standard propety only used by > legacy userspace we know that this will only every be called from > ioctl code. And never on some other free-standing state struct, where > this old hack wouldn't work either. > > v2: don't forget zorder and get_property! > > v3: Shadow the legacy state to avoid locking issues in get_property > (Maarten). > > v4: Review from Laurent > - Move struct omap_crtc_state into omap_crtc.c > - Clean up comments. > - Don't forget to copy the shadowed state over on duplicate. > > v5: Don't forget to update the reset handler (Maarten). > v6: Update omap_crtc_state shadow values in omap_crtc_atomic_check (Maarten). > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> (v4) > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > --- > drivers/gpu/drm/omapdrm/omap_crtc.c | 118 +++++++++++++++++++++++++----------- > 1 file changed, 81 insertions(+), 37 deletions(-) This makes all the CRTC properties disappear... This doesn't depend on anything in drm-next, does it? I'm currently on v4.13-rc3. I'll look a bit more on what's going on later today. Tomi [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-08-04 9:57 ` Tomi Valkeinen @ 2017-08-04 10:02 ` Daniel Vetter 2017-08-07 9:24 ` Maarten Lankhorst ` (2 more replies) 0 siblings, 3 replies; 84+ messages in thread From: Daniel Vetter @ 2017-08-04 10:02 UTC (permalink / raw) To: Tomi Valkeinen; +Cc: Daniel Vetter, Laurent Pinchart, DRI Development On Fri, Aug 4, 2017 at 11:57 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote: >> Here you go, compile tested version. :) >> ----8<---- >> I want/need to rework the core property handling, and this hack is >> getting in the way. But since it's a non-standard propety only used by >> legacy userspace we know that this will only every be called from >> ioctl code. And never on some other free-standing state struct, where >> this old hack wouldn't work either. >> >> v2: don't forget zorder and get_property! >> >> v3: Shadow the legacy state to avoid locking issues in get_property >> (Maarten). >> >> v4: Review from Laurent >> - Move struct omap_crtc_state into omap_crtc.c >> - Clean up comments. >> - Don't forget to copy the shadowed state over on duplicate. >> >> v5: Don't forget to update the reset handler (Maarten). >> v6: Update omap_crtc_state shadow values in omap_crtc_atomic_check (Maarten). >> >> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> (v4) >> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> >> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> >> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> >> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> >> --- >> drivers/gpu/drm/omapdrm/omap_crtc.c | 118 +++++++++++++++++++++++++----------- >> 1 file changed, 81 insertions(+), 37 deletions(-) > > This makes all the CRTC properties disappear... Strange, we should still register them, that's really surprising. > This doesn't depend on anything in drm-next, does it? I'm currently on > v4.13-rc3. I'll look a bit more on what's going on later today. Not that I know of. Later patches will, but this one should be stand-alone. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-08-04 10:02 ` Daniel Vetter @ 2017-08-07 9:24 ` Maarten Lankhorst 2017-08-07 9:56 ` Maarten Lankhorst 2017-08-07 10:20 ` [PATCH v7] " Maarten Lankhorst 2 siblings, 0 replies; 84+ messages in thread From: Maarten Lankhorst @ 2017-08-07 9:24 UTC (permalink / raw) To: Daniel Vetter, Tomi Valkeinen Cc: Daniel Vetter, Laurent Pinchart, DRI Development Op 04-08-17 om 12:02 schreef Daniel Vetter: > On Fri, Aug 4, 2017 at 11:57 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote: >>> Here you go, compile tested version. :) >>> ----8<---- >>> I want/need to rework the core property handling, and this hack is >>> getting in the way. But since it's a non-standard propety only used by >>> legacy userspace we know that this will only every be called from >>> ioctl code. And never on some other free-standing state struct, where >>> this old hack wouldn't work either. >>> >>> v2: don't forget zorder and get_property! >>> >>> v3: Shadow the legacy state to avoid locking issues in get_property >>> (Maarten). >>> >>> v4: Review from Laurent >>> - Move struct omap_crtc_state into omap_crtc.c >>> - Clean up comments. >>> - Don't forget to copy the shadowed state over on duplicate. >>> >>> v5: Don't forget to update the reset handler (Maarten). >>> v6: Update omap_crtc_state shadow values in omap_crtc_atomic_check (Maarten). >>> >>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> (v4) >>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> >>> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >>> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> >>> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> >>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> >>> --- >>> drivers/gpu/drm/omapdrm/omap_crtc.c | 118 +++++++++++++++++++++++++----------- >>> 1 file changed, 81 insertions(+), 37 deletions(-) >> This makes all the CRTC properties disappear... > Strange, we should still register them, that's really surprising. > >> This doesn't depend on anything in drm-next, does it? I'm currently on >> v4.13-rc3. I'll look a bit more on what's going on later today. > Not that I know of. Later patches will, but this one should be stand-alone. > -Daniel The properties should not disappear, does kms_properties pass? ~Maarten _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH] drm/omap: Rework the rotation-on-crtc hack 2017-08-04 10:02 ` Daniel Vetter 2017-08-07 9:24 ` Maarten Lankhorst @ 2017-08-07 9:56 ` Maarten Lankhorst 2017-08-07 10:20 ` [PATCH v7] " Maarten Lankhorst 2 siblings, 0 replies; 84+ messages in thread From: Maarten Lankhorst @ 2017-08-07 9:56 UTC (permalink / raw) To: Daniel Vetter, Tomi Valkeinen Cc: Daniel Vetter, Laurent Pinchart, DRI Development Op 04-08-17 om 12:02 schreef Daniel Vetter: > On Fri, Aug 4, 2017 at 11:57 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote: >>> Here you go, compile tested version. :) >>> ----8<---- >>> I want/need to rework the core property handling, and this hack is >>> getting in the way. But since it's a non-standard propety only used by >>> legacy userspace we know that this will only every be called from >>> ioctl code. And never on some other free-standing state struct, where >>> this old hack wouldn't work either. >>> >>> v2: don't forget zorder and get_property! >>> >>> v3: Shadow the legacy state to avoid locking issues in get_property >>> (Maarten). >>> >>> v4: Review from Laurent >>> - Move struct omap_crtc_state into omap_crtc.c >>> - Clean up comments. >>> - Don't forget to copy the shadowed state over on duplicate. >>> >>> v5: Don't forget to update the reset handler (Maarten). >>> v6: Update omap_crtc_state shadow values in omap_crtc_atomic_check (Maarten). >>> >>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> (v4) >>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> >>> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >>> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> >>> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> >>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> >>> --- >>> drivers/gpu/drm/omapdrm/omap_crtc.c | 118 +++++++++++++++++++++++++----------- >>> 1 file changed, 81 insertions(+), 37 deletions(-) >> This makes all the CRTC properties disappear... > Strange, we should still register them, that's really surprising. > >> This doesn't depend on anything in drm-next, does it? I'm currently on >> v4.13-rc3. I'll look a bit more on what's going on later today. > Not that I know of. Later patches will, but this one should be stand-alone. > -Daniel Oh derp, I also see what's going wrong.. omap_crtc_atomic_get_property returns the value, instead of setting *val and returning 0. Next version coming up! _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH v7] drm/omap: Rework the rotation-on-crtc hack 2017-08-04 10:02 ` Daniel Vetter 2017-08-07 9:24 ` Maarten Lankhorst 2017-08-07 9:56 ` Maarten Lankhorst @ 2017-08-07 10:20 ` Maarten Lankhorst 2017-08-08 12:08 ` Tomi Valkeinen 2 siblings, 1 reply; 84+ messages in thread From: Maarten Lankhorst @ 2017-08-07 10:20 UTC (permalink / raw) To: Daniel Vetter, Tomi Valkeinen Cc: Daniel Vetter, Laurent Pinchart, DRI Development Op 04-08-17 om 12:02 schreef Daniel Vetter: > On Fri, Aug 4, 2017 at 11:57 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote: >>> Here you go, compile tested version. :) >>> ----8<---- >>> I want/need to rework the core property handling, and this hack is >>> getting in the way. But since it's a non-standard propety only used by >>> legacy userspace we know that this will only every be called from >>> ioctl code. And never on some other free-standing state struct, where >>> this old hack wouldn't work either. >>> >>> v2: don't forget zorder and get_property! >>> >>> v3: Shadow the legacy state to avoid locking issues in get_property >>> (Maarten). >>> >>> v4: Review from Laurent >>> - Move struct omap_crtc_state into omap_crtc.c >>> - Clean up comments. >>> - Don't forget to copy the shadowed state over on duplicate. >>> >>> v5: Don't forget to update the reset handler (Maarten). >>> v6: Update omap_crtc_state shadow values in omap_crtc_atomic_check (Maarten). >>> >>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> (v4) >>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> >>> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >>> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> >>> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> >>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> >>> --- >>> drivers/gpu/drm/omapdrm/omap_crtc.c | 118 +++++++++++++++++++++++++----------- >>> 1 file changed, 81 insertions(+), 37 deletions(-) >> This makes all the CRTC properties disappear... > Strange, we should still register them, that's really surprising. > >> This doesn't depend on anything in drm-next, does it? I'm currently on >> v4.13-rc3. I'll look a bit more on what's going on later today. > Not that I know of. Later patches will, but this one should be stand-alone. > -Daniel ----->8-------- I want/need to rework the core property handling, and this hack is getting in the way. But since it's a non-standard propety only used by legacy userspace we know that this will only every be called from ioctl code. And never on some other free-standing state struct, where this old hack wouldn't work either. v2: don't forget zorder and get_property! v3: Shadow the legacy state to avoid locking issues in get_property (Maarten). v4: Review from Laurent - Move struct omap_crtc_state into omap_crtc.c - Clean up comments. - Don't forget to copy the shadowed state over on duplicate. v5: Don't forget to update the reset handler (Maarten). v6: Update omap_crtc_state shadow values in omap_crtc_atomic_check (Maarten). v7: - Fix get_property to return 0 and set value in *val (Maarten). - Update comment in set_property for changes in v6 (Maarten). Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> (v4) Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> --- drivers/gpu/drm/omapdrm/omap_crtc.c | 124 ++++++++++++++++++++++++------------ 1 file changed, 85 insertions(+), 39 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c index 14e8a7738b06..09e05e002703 100644 --- a/drivers/gpu/drm/omapdrm/omap_crtc.c +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c @@ -26,6 +26,16 @@ #include "omap_drv.h" +#define to_omap_crtc_state(x) container_of(x, struct omap_crtc_state, base) + +struct omap_crtc_state { + /* Must be first. */ + struct drm_crtc_state base; + /* Shadow values for legacy userspace support. */ + unsigned int rotation; + unsigned int zpos; +}; + #define to_omap_crtc(x) container_of(x, struct omap_crtc, base) struct omap_crtc { @@ -445,6 +455,8 @@ static void omap_crtc_mode_set_nofb(struct drm_crtc *crtc) static int omap_crtc_atomic_check(struct drm_crtc *crtc, struct drm_crtc_state *state) { + struct drm_plane_state *pri_state; + if (state->color_mgmt_changed && state->gamma_lut) { uint length = state->gamma_lut->length / sizeof(struct drm_color_lut); @@ -453,6 +465,16 @@ static int omap_crtc_atomic_check(struct drm_crtc *crtc, return -EINVAL; } + pri_state = drm_atomic_get_new_plane_state(state->state, crtc->primary); + if (pri_state) { + struct omap_crtc_state *omap_crtc_state = + to_omap_crtc_state(state); + + /* Mirror new values for zpos and rotation in omap_crtc_state */ + omap_crtc_state->zpos = pri_state->zpos; + omap_crtc_state->rotation = pri_state->rotation; + } + return 0; } @@ -498,39 +520,32 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc, spin_unlock_irq(&crtc->dev->event_lock); } -static bool omap_crtc_is_plane_prop(struct drm_crtc *crtc, - struct drm_property *property) -{ - struct drm_device *dev = crtc->dev; - struct omap_drm_private *priv = dev->dev_private; - - return property == priv->zorder_prop || - property == crtc->primary->rotation_property; -} - static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, struct drm_crtc_state *state, struct drm_property *property, uint64_t val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - struct drm_plane_state *plane_state; - struct drm_plane *plane = crtc->primary; - - /* - * Delegate property set to the primary plane. Get the plane - * state and set the property directly. - */ - - plane_state = drm_atomic_get_plane_state(state->state, plane); - if (IS_ERR(plane_state)) - return PTR_ERR(plane_state); + struct omap_drm_private *priv = crtc->dev->dev_private; + struct drm_plane_state *plane_state; - return drm_atomic_plane_set_property(plane, plane_state, - property, val); - } + /* + * Delegate property set to the primary plane. Get the plane state and + * set the property directly, the shadow copy will be assigned in the + * omap_crtc_atomic_check callback. This way updates to plane state will + * always be mirrored in the crtc state correctly. + */ + plane_state = drm_atomic_get_plane_state(state->state, crtc->primary); + if (IS_ERR(plane_state)) + return PTR_ERR(plane_state); + + if (property == crtc->primary->rotation_property) + plane_state->rotation = val; + else if (property == priv->zorder_prop) + plane_state->zpos = val; + else + return -EINVAL; - return -EINVAL; + return 0; } static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, @@ -538,28 +553,59 @@ static int omap_crtc_atomic_get_property(struct drm_crtc *crtc, struct drm_property *property, uint64_t *val) { - if (omap_crtc_is_plane_prop(crtc, property)) { - /* - * Delegate property get to the primary plane. The - * drm_atomic_plane_get_property() function isn't exported, but - * can be called through drm_object_property_get_value() as that - * will call drm_atomic_get_property() for atomic drivers. - */ - return drm_object_property_get_value(&crtc->primary->base, - property, val); - } + struct omap_drm_private *priv = crtc->dev->dev_private; + struct omap_crtc_state *omap_state = to_omap_crtc_state(state); + + if (property == crtc->primary->rotation_property) + *val = omap_state->rotation; + else if (property == priv->zorder_prop) + *val = omap_state->zpos; + else + return -EINVAL; + + return 0; +} + +static void omap_crtc_reset(struct drm_crtc *crtc) +{ + if (crtc->state) + __drm_atomic_helper_crtc_destroy_state(crtc->state); + + kfree(crtc->state); + crtc->state = kzalloc(sizeof(struct omap_crtc_state), GFP_KERNEL); + + if (crtc->state) + crtc->state->crtc = crtc; +} + +static struct drm_crtc_state * +omap_crtc_duplicate_state(struct drm_crtc *crtc) +{ + struct omap_crtc_state *state, *current_state; + + if (WARN_ON(!crtc->state)) + return NULL; + + current_state = to_omap_crtc_state(crtc->state); + + state = kmalloc(sizeof(*state), GFP_KERNEL); + if (state) + __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); + + state->zpos = current_state->zpos; + state->rotation = current_state->rotation; - return -EINVAL; + return &state->base; } static const struct drm_crtc_funcs omap_crtc_funcs = { - .reset = drm_atomic_helper_crtc_reset, + .reset = omap_crtc_reset, .set_config = drm_atomic_helper_set_config, .destroy = omap_crtc_destroy, .page_flip = drm_atomic_helper_page_flip, .gamma_set = drm_atomic_helper_legacy_gamma_set, .set_property = drm_atomic_helper_crtc_set_property, - .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, + .atomic_duplicate_state = omap_crtc_duplicate_state, .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, .atomic_set_property = omap_crtc_atomic_set_property, .atomic_get_property = omap_crtc_atomic_get_property, -- 2.11.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH v7] drm/omap: Rework the rotation-on-crtc hack 2017-08-07 10:20 ` [PATCH v7] " Maarten Lankhorst @ 2017-08-08 12:08 ` Tomi Valkeinen 0 siblings, 0 replies; 84+ messages in thread From: Tomi Valkeinen @ 2017-08-08 12:08 UTC (permalink / raw) To: Maarten Lankhorst, Daniel Vetter Cc: Daniel Vetter, Laurent Pinchart, DRI Development [-- Attachment #1.1.1: Type: text/plain, Size: 1568 bytes --] On 07/08/17 13:20, Maarten Lankhorst wrote: > I want/need to rework the core property handling, and this hack is > getting in the way. But since it's a non-standard propety only used by > legacy userspace we know that this will only every be called from > ioctl code. And never on some other free-standing state struct, where > this old hack wouldn't work either. > > v2: don't forget zorder and get_property! > > v3: Shadow the legacy state to avoid locking issues in get_property > (Maarten). > > v4: Review from Laurent > - Move struct omap_crtc_state into omap_crtc.c > - Clean up comments. > - Don't forget to copy the shadowed state over on duplicate. > > v5: Don't forget to update the reset handler (Maarten). > v6: Update omap_crtc_state shadow values in omap_crtc_atomic_check (Maarten). > v7: > - Fix get_property to return 0 and set value in *val (Maarten). > - Update comment in set_property for changes in v6 (Maarten). > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> (v4) > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > --- > drivers/gpu/drm/omapdrm/omap_crtc.c | 124 ++++++++++++++++++++++++------------ > 1 file changed, 85 insertions(+), 39 deletions(-) Thanks, works now. Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Tomi [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 2/8] drm: Don't update property values for atomic drivers 2017-07-25 8:01 [PATCH 0/8] acquire ctx for everyone! Daniel Vetter 2017-07-25 8:01 ` [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack Daniel Vetter @ 2017-07-25 8:01 ` Daniel Vetter 2017-07-25 8:32 ` Maarten Lankhorst ` (2 more replies) 2017-07-25 8:01 ` [PATCH 3/8] drm: Handle properties in the core " Daniel Vetter ` (7 subsequent siblings) 9 siblings, 3 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: Intel Graphics Development; +Cc: Daniel Vetter, DRI Development, Daniel Vetter Atomic drivers only use the property value store for immutable (i.e. can't be set by userspace, but the kernel can still adjust it) properties. The only tricky part is the removal of the update in drm_atomic_helper_update_legacy_modeset_state(). This was added in commit 8c10342cb48f3140d9abeadcfd2fa6625d447282 (tag: topic/drm-misc-2015-07-28) Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Date: Mon Jul 27 13:24:29 2015 +0200 drm/atomic: Update legacy DPMS state during modesets, v3. by copying it from the i915 code, where it was originally added in commit 68d3472047a572936551f8ff0b6f4016c5a1fdef Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Thu Sep 6 22:08:35 2012 +0200 drm/i915: update dpms property in set_mode for the legacy modeset code. The reason we needed this hack was that i915 didn't yet set DRIVER_ATOMIC, and we checked for that instead of the newer-ish drm_drv_uses_atomic_modeset(), which avoids such troubles. With the correct feature checks this isn't needed anymore at all. Also make sure that drivers don't accidentally get this wrong by making the exported version of drm_object_property_get_value() only work for legacy drivers. Only gma500 uses it anyway. Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/drm_atomic_helper.c | 4 --- drivers/gpu/drm/drm_connector.c | 3 +-- drivers/gpu/drm/drm_crtc.c | 2 +- drivers/gpu/drm/drm_mode_object.c | 49 +++++++++++++++++++++++-------------- drivers/gpu/drm/drm_plane.c | 2 +- 5 files changed, 33 insertions(+), 27 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 7582bbc5decc..4a960c741e35 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -921,16 +921,12 @@ drm_atomic_helper_update_legacy_modeset_state(struct drm_device *dev, crtc = new_conn_state->crtc; if ((!crtc && old_conn_state->crtc) || (crtc && drm_atomic_crtc_needs_modeset(crtc->state))) { - struct drm_property *dpms_prop = - dev->mode_config.dpms_property; int mode = DRM_MODE_DPMS_OFF; if (crtc && crtc->state->active) mode = DRM_MODE_DPMS_ON; connector->dpms = mode; - drm_object_property_set_value(&connector->base, - dpms_prop, mode); } } diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 8072e6e4c62c..349104eadefe 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1225,8 +1225,7 @@ int drm_mode_connector_set_obj_prop(struct drm_mode_object *obj, } else if (connector->funcs->set_property) ret = connector->funcs->set_property(connector, property, value); - /* store the property value if successful */ - if (!ret) + if (!ret && drm_drv_uses_atomic_modeset(property->dev)) drm_object_property_set_value(&connector->base, property, value); return ret; } diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 5af25ce5bf7c..7d4fcdd34342 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -736,7 +736,7 @@ int drm_mode_crtc_set_obj_prop(struct drm_mode_object *obj, if (crtc->funcs->set_property) ret = crtc->funcs->set_property(crtc, property, value); - if (!ret) + if (!ret && drm_drv_uses_atomic_modeset(property->dev)) drm_object_property_set_value(obj, property, value); return ret; diff --git a/drivers/gpu/drm/drm_mode_object.c b/drivers/gpu/drm/drm_mode_object.c index da9a9adbcc98..92743a796bf0 100644 --- a/drivers/gpu/drm/drm_mode_object.c +++ b/drivers/gpu/drm/drm_mode_object.c @@ -233,6 +233,9 @@ int drm_object_property_set_value(struct drm_mode_object *obj, { int i; + WARN_ON(drm_drv_uses_atomic_modeset(property->dev) && + !(property->flags & DRM_MODE_PROP_IMMUTABLE)); + for (i = 0; i < obj->properties->count; i++) { if (obj->properties->properties[i] == property) { obj->properties->values[i] = val; @@ -244,24 +247,7 @@ int drm_object_property_set_value(struct drm_mode_object *obj, } EXPORT_SYMBOL(drm_object_property_set_value); -/** - * drm_object_property_get_value - retrieve the value of a property - * @obj: drm mode object to get property value from - * @property: property to retrieve - * @val: storage for the property value - * - * This function retrieves the softare state of the given property for the given - * property. Since there is no driver callback to retrieve the current property - * value this might be out of sync with the hardware, depending upon the driver - * and property. - * - * Atomic drivers should never call this function directly, the core will read - * out property values through the various ->atomic_get_property callbacks. - * - * Returns: - * Zero on success, error code on failure. - */ -int drm_object_property_get_value(struct drm_mode_object *obj, +int __drm_object_property_get_value(struct drm_mode_object *obj, struct drm_property *property, uint64_t *val) { int i; @@ -284,6 +270,31 @@ int drm_object_property_get_value(struct drm_mode_object *obj, return -EINVAL; } + +/** + * drm_object_property_get_value - retrieve the value of a property + * @obj: drm mode object to get property value from + * @property: property to retrieve + * @val: storage for the property value + * + * This function retrieves the softare state of the given property for the given + * property. Since there is no driver callback to retrieve the current property + * value this might be out of sync with the hardware, depending upon the driver + * and property. + * + * Atomic drivers should never call this function directly, the core will read + * out property values through the various ->atomic_get_property callbacks. + * + * Returns: + * Zero on success, error code on failure. + */ +int drm_object_property_get_value(struct drm_mode_object *obj, + struct drm_property *property, uint64_t *val) +{ + WARN_ON(drm_drv_uses_atomic_modeset(property->dev)); + + return __drm_object_property_get_value(obj, property, val); +} EXPORT_SYMBOL(drm_object_property_get_value); /* helper for getconnector and getproperties ioctls */ @@ -302,7 +313,7 @@ int drm_mode_object_get_properties(struct drm_mode_object *obj, bool atomic, continue; if (*arg_count_props > count) { - ret = drm_object_property_get_value(obj, prop, &val); + ret = __drm_object_property_get_value(obj, prop, &val); if (ret) return ret; diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c index 5dc8c4350602..b4ffd0455200 100644 --- a/drivers/gpu/drm/drm_plane.c +++ b/drivers/gpu/drm/drm_plane.c @@ -330,7 +330,7 @@ int drm_mode_plane_set_obj_prop(struct drm_plane *plane, if (plane->funcs->set_property) ret = plane->funcs->set_property(plane, property, value); - if (!ret) + if (!ret && drm_drv_uses_atomic_modeset(property->dev)) drm_object_property_set_value(obj, property, value); return ret; -- 2.13.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH 2/8] drm: Don't update property values for atomic drivers 2017-07-25 8:01 ` [PATCH 2/8] drm: Don't update property values for atomic drivers Daniel Vetter @ 2017-07-25 8:32 ` Maarten Lankhorst 2017-07-25 12:01 ` [PATCH] " Daniel Vetter 2017-08-11 22:20 ` [PATCH 2/8] " Laurent Pinchart 2 siblings, 0 replies; 84+ messages in thread From: Maarten Lankhorst @ 2017-07-25 8:32 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development; +Cc: Daniel Vetter, DRI Development Op 25-07-17 om 10:01 schreef Daniel Vetter: > Atomic drivers only use the property value store for immutable (i.e. > can't be set by userspace, but the kernel can still adjust it) > properties. The only tricky part is the removal of the update in > drm_atomic_helper_update_legacy_modeset_state(). > > This was added in > > commit 8c10342cb48f3140d9abeadcfd2fa6625d447282 (tag: topic/drm-misc-2015-07-28) > Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Date: Mon Jul 27 13:24:29 2015 +0200 > > drm/atomic: Update legacy DPMS state during modesets, v3. > > by copying it from the i915 code, where it was originally added in > > commit 68d3472047a572936551f8ff0b6f4016c5a1fdef > Author: Daniel Vetter <daniel.vetter@ffwll.ch> > Date: Thu Sep 6 22:08:35 2012 +0200 > > drm/i915: update dpms property in set_mode > > for the legacy modeset code. The reason we needed this hack was that > i915 didn't yet set DRIVER_ATOMIC, and we checked for that instead of > the newer-ish drm_drv_uses_atomic_modeset(), which avoids such > troubles. With the correct feature checks this isn't needed anymore at > all. > > Also make sure that drivers don't accidentally get this wrong by > making the exported version of drm_object_property_get_value() only > work for legacy drivers. Only gma500 uses it anyway. > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > --- > drivers/gpu/drm/drm_atomic_helper.c | 4 --- > drivers/gpu/drm/drm_connector.c | 3 +-- > drivers/gpu/drm/drm_crtc.c | 2 +- > drivers/gpu/drm/drm_mode_object.c | 49 +++++++++++++++++++++++-------------- > drivers/gpu/drm/drm_plane.c | 2 +- > 5 files changed, 33 insertions(+), 27 deletions(-) > > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 7582bbc5decc..4a960c741e35 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -921,16 +921,12 @@ drm_atomic_helper_update_legacy_modeset_state(struct drm_device *dev, > crtc = new_conn_state->crtc; > if ((!crtc && old_conn_state->crtc) || > (crtc && drm_atomic_crtc_needs_modeset(crtc->state))) { > - struct drm_property *dpms_prop = > - dev->mode_config.dpms_property; > int mode = DRM_MODE_DPMS_OFF; > > if (crtc && crtc->state->active) > mode = DRM_MODE_DPMS_ON; > > connector->dpms = mode; > - drm_object_property_set_value(&connector->base, > - dpms_prop, mode); > } > } > > diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c > index 8072e6e4c62c..349104eadefe 100644 > --- a/drivers/gpu/drm/drm_connector.c > +++ b/drivers/gpu/drm/drm_connector.c > @@ -1225,8 +1225,7 @@ int drm_mode_connector_set_obj_prop(struct drm_mode_object *obj, > } else if (connector->funcs->set_property) > ret = connector->funcs->set_property(connector, property, value); > > - /* store the property value if successful */ > - if (!ret) > + if (!ret && drm_drv_uses_atomic_modeset(property->dev)) > drm_object_property_set_value(&connector->base, property, value); > return ret; > } > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index 5af25ce5bf7c..7d4fcdd34342 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -736,7 +736,7 @@ int drm_mode_crtc_set_obj_prop(struct drm_mode_object *obj, > > if (crtc->funcs->set_property) > ret = crtc->funcs->set_property(crtc, property, value); > - if (!ret) > + if (!ret && drm_drv_uses_atomic_modeset(property->dev)) > drm_object_property_set_value(obj, property, value); You've inverted the checks here for connector and crtc. :) Otherwise looks sane, fix this and you can add my r-b. On second thought, as penance you should add kms_properties to the fast-feedback testlist. ;) > return ret; > diff --git a/drivers/gpu/drm/drm_mode_object.c b/drivers/gpu/drm/drm_mode_object.c > index da9a9adbcc98..92743a796bf0 100644 > --- a/drivers/gpu/drm/drm_mode_object.c > +++ b/drivers/gpu/drm/drm_mode_object.c > @@ -233,6 +233,9 @@ int drm_object_property_set_value(struct drm_mode_object *obj, > { > int i; > > + WARN_ON(drm_drv_uses_atomic_modeset(property->dev) && > + !(property->flags & DRM_MODE_PROP_IMMUTABLE)); > + > for (i = 0; i < obj->properties->count; i++) { > if (obj->properties->properties[i] == property) { > obj->properties->values[i] = val; > @@ -244,24 +247,7 @@ int drm_object_property_set_value(struct drm_mode_object *obj, > } > EXPORT_SYMBOL(drm_object_property_set_value); > > -/** > - * drm_object_property_get_value - retrieve the value of a property > - * @obj: drm mode object to get property value from > - * @property: property to retrieve > - * @val: storage for the property value > - * > - * This function retrieves the softare state of the given property for the given > - * property. Since there is no driver callback to retrieve the current property > - * value this might be out of sync with the hardware, depending upon the driver > - * and property. > - * > - * Atomic drivers should never call this function directly, the core will read > - * out property values through the various ->atomic_get_property callbacks. > - * > - * Returns: > - * Zero on success, error code on failure. > - */ > -int drm_object_property_get_value(struct drm_mode_object *obj, > +int __drm_object_property_get_value(struct drm_mode_object *obj, > struct drm_property *property, uint64_t *val) > { > int i; > @@ -284,6 +270,31 @@ int drm_object_property_get_value(struct drm_mode_object *obj, > > return -EINVAL; > } > + > +/** > + * drm_object_property_get_value - retrieve the value of a property > + * @obj: drm mode object to get property value from > + * @property: property to retrieve > + * @val: storage for the property value > + * > + * This function retrieves the softare state of the given property for the given > + * property. Since there is no driver callback to retrieve the current property > + * value this might be out of sync with the hardware, depending upon the driver > + * and property. > + * > + * Atomic drivers should never call this function directly, the core will read > + * out property values through the various ->atomic_get_property callbacks. > + * > + * Returns: > + * Zero on success, error code on failure. > + */ > +int drm_object_property_get_value(struct drm_mode_object *obj, > + struct drm_property *property, uint64_t *val) > +{ > + WARN_ON(drm_drv_uses_atomic_modeset(property->dev)); > + > + return __drm_object_property_get_value(obj, property, val); > +} > EXPORT_SYMBOL(drm_object_property_get_value); > > /* helper for getconnector and getproperties ioctls */ > @@ -302,7 +313,7 @@ int drm_mode_object_get_properties(struct drm_mode_object *obj, bool atomic, > continue; > > if (*arg_count_props > count) { > - ret = drm_object_property_get_value(obj, prop, &val); > + ret = __drm_object_property_get_value(obj, prop, &val); > if (ret) > return ret; > > diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c > index 5dc8c4350602..b4ffd0455200 100644 > --- a/drivers/gpu/drm/drm_plane.c > +++ b/drivers/gpu/drm/drm_plane.c > @@ -330,7 +330,7 @@ int drm_mode_plane_set_obj_prop(struct drm_plane *plane, > > if (plane->funcs->set_property) > ret = plane->funcs->set_property(plane, property, value); > - if (!ret) > + if (!ret && drm_drv_uses_atomic_modeset(property->dev)) > drm_object_property_set_value(obj, property, value); > > return ret; _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH] drm: Don't update property values for atomic drivers 2017-07-25 8:01 ` [PATCH 2/8] drm: Don't update property values for atomic drivers Daniel Vetter 2017-07-25 8:32 ` Maarten Lankhorst @ 2017-07-25 12:01 ` Daniel Vetter 2017-08-11 22:20 ` [PATCH 2/8] " Laurent Pinchart 2 siblings, 0 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 12:01 UTC (permalink / raw) To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter Atomic drivers only use the property value store for immutable (i.e. can't be set by userspace, but the kernel can still adjust it) properties. The only tricky part is the removal of the update in drm_atomic_helper_update_legacy_modeset_state(). This was added in commit 8c10342cb48f3140d9abeadcfd2fa6625d447282 (tag: topic/drm-misc-2015-07-28) Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Date: Mon Jul 27 13:24:29 2015 +0200 drm/atomic: Update legacy DPMS state during modesets, v3. by copying it from the i915 code, where it was originally added in commit 68d3472047a572936551f8ff0b6f4016c5a1fdef Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Thu Sep 6 22:08:35 2012 +0200 drm/i915: update dpms property in set_mode for the legacy modeset code. The reason we needed this hack was that i915 didn't yet set DRIVER_ATOMIC, and we checked for that instead of the newer-ish drm_drv_uses_atomic_modeset(), which avoids such troubles. With the correct feature checks this isn't needed anymore at all. Also make sure that drivers don't accidentally get this wrong by making the exported version of drm_object_property_get_value() only work for legacy drivers. Only gma500 uses it anyway. v2: Fixup the uses_atomic_modeset() checks (Maarten) Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/drm_atomic_helper.c | 4 --- drivers/gpu/drm/drm_connector.c | 3 +-- drivers/gpu/drm/drm_crtc.c | 2 +- drivers/gpu/drm/drm_mode_object.c | 49 +++++++++++++++++++++++-------------- drivers/gpu/drm/drm_plane.c | 2 +- 5 files changed, 33 insertions(+), 27 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 7582bbc5decc..4a960c741e35 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -921,16 +921,12 @@ drm_atomic_helper_update_legacy_modeset_state(struct drm_device *dev, crtc = new_conn_state->crtc; if ((!crtc && old_conn_state->crtc) || (crtc && drm_atomic_crtc_needs_modeset(crtc->state))) { - struct drm_property *dpms_prop = - dev->mode_config.dpms_property; int mode = DRM_MODE_DPMS_OFF; if (crtc && crtc->state->active) mode = DRM_MODE_DPMS_ON; connector->dpms = mode; - drm_object_property_set_value(&connector->base, - dpms_prop, mode); } } diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 8072e6e4c62c..0e9e3161bdd0 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1225,8 +1225,7 @@ int drm_mode_connector_set_obj_prop(struct drm_mode_object *obj, } else if (connector->funcs->set_property) ret = connector->funcs->set_property(connector, property, value); - /* store the property value if successful */ - if (!ret) + if (!ret && !drm_drv_uses_atomic_modeset(property->dev)) drm_object_property_set_value(&connector->base, property, value); return ret; } diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 5af25ce5bf7c..9271235d84b0 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -736,7 +736,7 @@ int drm_mode_crtc_set_obj_prop(struct drm_mode_object *obj, if (crtc->funcs->set_property) ret = crtc->funcs->set_property(crtc, property, value); - if (!ret) + if (!ret && !drm_drv_uses_atomic_modeset(property->dev)) drm_object_property_set_value(obj, property, value); return ret; diff --git a/drivers/gpu/drm/drm_mode_object.c b/drivers/gpu/drm/drm_mode_object.c index da9a9adbcc98..92743a796bf0 100644 --- a/drivers/gpu/drm/drm_mode_object.c +++ b/drivers/gpu/drm/drm_mode_object.c @@ -233,6 +233,9 @@ int drm_object_property_set_value(struct drm_mode_object *obj, { int i; + WARN_ON(drm_drv_uses_atomic_modeset(property->dev) && + !(property->flags & DRM_MODE_PROP_IMMUTABLE)); + for (i = 0; i < obj->properties->count; i++) { if (obj->properties->properties[i] == property) { obj->properties->values[i] = val; @@ -244,24 +247,7 @@ int drm_object_property_set_value(struct drm_mode_object *obj, } EXPORT_SYMBOL(drm_object_property_set_value); -/** - * drm_object_property_get_value - retrieve the value of a property - * @obj: drm mode object to get property value from - * @property: property to retrieve - * @val: storage for the property value - * - * This function retrieves the softare state of the given property for the given - * property. Since there is no driver callback to retrieve the current property - * value this might be out of sync with the hardware, depending upon the driver - * and property. - * - * Atomic drivers should never call this function directly, the core will read - * out property values through the various ->atomic_get_property callbacks. - * - * Returns: - * Zero on success, error code on failure. - */ -int drm_object_property_get_value(struct drm_mode_object *obj, +int __drm_object_property_get_value(struct drm_mode_object *obj, struct drm_property *property, uint64_t *val) { int i; @@ -284,6 +270,31 @@ int drm_object_property_get_value(struct drm_mode_object *obj, return -EINVAL; } + +/** + * drm_object_property_get_value - retrieve the value of a property + * @obj: drm mode object to get property value from + * @property: property to retrieve + * @val: storage for the property value + * + * This function retrieves the softare state of the given property for the given + * property. Since there is no driver callback to retrieve the current property + * value this might be out of sync with the hardware, depending upon the driver + * and property. + * + * Atomic drivers should never call this function directly, the core will read + * out property values through the various ->atomic_get_property callbacks. + * + * Returns: + * Zero on success, error code on failure. + */ +int drm_object_property_get_value(struct drm_mode_object *obj, + struct drm_property *property, uint64_t *val) +{ + WARN_ON(drm_drv_uses_atomic_modeset(property->dev)); + + return __drm_object_property_get_value(obj, property, val); +} EXPORT_SYMBOL(drm_object_property_get_value); /* helper for getconnector and getproperties ioctls */ @@ -302,7 +313,7 @@ int drm_mode_object_get_properties(struct drm_mode_object *obj, bool atomic, continue; if (*arg_count_props > count) { - ret = drm_object_property_get_value(obj, prop, &val); + ret = __drm_object_property_get_value(obj, prop, &val); if (ret) return ret; diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c index 5dc8c4350602..186416f5e4c5 100644 --- a/drivers/gpu/drm/drm_plane.c +++ b/drivers/gpu/drm/drm_plane.c @@ -330,7 +330,7 @@ int drm_mode_plane_set_obj_prop(struct drm_plane *plane, if (plane->funcs->set_property) ret = plane->funcs->set_property(plane, property, value); - if (!ret) + if (!ret && !drm_drv_uses_atomic_modeset(property->dev)) drm_object_property_set_value(obj, property, value); return ret; -- 2.13.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH 2/8] drm: Don't update property values for atomic drivers 2017-07-25 8:01 ` [PATCH 2/8] drm: Don't update property values for atomic drivers Daniel Vetter 2017-07-25 8:32 ` Maarten Lankhorst 2017-07-25 12:01 ` [PATCH] " Daniel Vetter @ 2017-08-11 22:20 ` Laurent Pinchart 2017-08-14 7:25 ` Daniel Vetter 2 siblings, 1 reply; 84+ messages in thread From: Laurent Pinchart @ 2017-08-11 22:20 UTC (permalink / raw) To: dri-devel; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter Hi Daniel, On Tuesday 25 Jul 2017 10:01:16 Daniel Vetter wrote: > Atomic drivers only use the property value store for immutable (i.e. > can't be set by userspace, but the kernel can still adjust it) > properties. The only tricky part is the removal of the update in > drm_atomic_helper_update_legacy_modeset_state(). > > This was added in > > commit 8c10342cb48f3140d9abeadcfd2fa6625d447282 (tag: > topic/drm-misc-2015-07-28) Author: Maarten Lankhorst > <maarten.lankhorst@linux.intel.com> > Date: Mon Jul 27 13:24:29 2015 +0200 > > drm/atomic: Update legacy DPMS state during modesets, v3. > > by copying it from the i915 code, where it was originally added in > > commit 68d3472047a572936551f8ff0b6f4016c5a1fdef > Author: Daniel Vetter <daniel.vetter@ffwll.ch> > Date: Thu Sep 6 22:08:35 2012 +0200 > > drm/i915: update dpms property in set_mode > > for the legacy modeset code. The reason we needed this hack was that > i915 didn't yet set DRIVER_ATOMIC, and we checked for that instead of > the newer-ish drm_drv_uses_atomic_modeset(), which avoids such > troubles. With the correct feature checks this isn't needed anymore at > all. > > Also make sure that drivers don't accidentally get this wrong by > making the exported version of drm_object_property_get_value() only > work for legacy drivers. Only gma500 uses it anyway. > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > --- > drivers/gpu/drm/drm_atomic_helper.c | 4 --- > drivers/gpu/drm/drm_connector.c | 3 +-- > drivers/gpu/drm/drm_crtc.c | 2 +- > drivers/gpu/drm/drm_mode_object.c | 49 ++++++++++++++++++++-------------- > drivers/gpu/drm/drm_plane.c | 2 +- > 5 files changed, 33 insertions(+), 27 deletions(-) > > diff --git a/drivers/gpu/drm/drm_atomic_helper.c > b/drivers/gpu/drm/drm_atomic_helper.c index 7582bbc5decc..4a960c741e35 > 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -921,16 +921,12 @@ drm_atomic_helper_update_legacy_modeset_state(struct > drm_device *dev, crtc = new_conn_state->crtc; > if ((!crtc && old_conn_state->crtc) || > (crtc && drm_atomic_crtc_needs_modeset(crtc->state))) { > - struct drm_property *dpms_prop = > - dev->mode_config.dpms_property; > int mode = DRM_MODE_DPMS_OFF; > > if (crtc && crtc->state->active) > mode = DRM_MODE_DPMS_ON; > > connector->dpms = mode; > - drm_object_property_set_value(&connector->base, > - dpms_prop, mode); > } > } > > diff --git a/drivers/gpu/drm/drm_connector.c > b/drivers/gpu/drm/drm_connector.c index 8072e6e4c62c..349104eadefe 100644 > --- a/drivers/gpu/drm/drm_connector.c > +++ b/drivers/gpu/drm/drm_connector.c > @@ -1225,8 +1225,7 @@ int drm_mode_connector_set_obj_prop(struct > drm_mode_object *obj, } else if (connector->funcs->set_property) > ret = connector->funcs->set_property(connector, property, value); > > - /* store the property value if successful */ > - if (!ret) > + if (!ret && drm_drv_uses_atomic_modeset(property->dev)) > drm_object_property_set_value(&connector->base, property, value); > return ret; > } > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index 5af25ce5bf7c..7d4fcdd34342 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -736,7 +736,7 @@ int drm_mode_crtc_set_obj_prop(struct drm_mode_object > *obj, > > if (crtc->funcs->set_property) > ret = crtc->funcs->set_property(crtc, property, value); > - if (!ret) > + if (!ret && drm_drv_uses_atomic_modeset(property->dev)) > drm_object_property_set_value(obj, property, value); > > return ret; > diff --git a/drivers/gpu/drm/drm_mode_object.c > b/drivers/gpu/drm/drm_mode_object.c index da9a9adbcc98..92743a796bf0 100644 > --- a/drivers/gpu/drm/drm_mode_object.c > +++ b/drivers/gpu/drm/drm_mode_object.c > @@ -233,6 +233,9 @@ int drm_object_property_set_value(struct drm_mode_object > *obj, { > int i; > > + WARN_ON(drm_drv_uses_atomic_modeset(property->dev) && > + !(property->flags & DRM_MODE_PROP_IMMUTABLE)); It would have been nice to remove the calls to drm_object_property_set_value() for the dpms property from drivers before adding this :-/ Three drivers (rcar- du, shmobile and fsl-dcu) initialize the connector's DPMS property to OFF using this call (the default being ON). Following the DPMS code paths always give me a headache, so if you know by heart how I should replace the set property call, I'm all ears :-) > for (i = 0; i < obj->properties->count; i++) { > if (obj->properties->properties[i] == property) { > obj->properties->values[i] = val; > @@ -244,24 +247,7 @@ int drm_object_property_set_value(struct > drm_mode_object *obj, } > EXPORT_SYMBOL(drm_object_property_set_value); > > -/** > - * drm_object_property_get_value - retrieve the value of a property > - * @obj: drm mode object to get property value from > - * @property: property to retrieve > - * @val: storage for the property value > - * > - * This function retrieves the softare state of the given property for the > given - * property. Since there is no driver callback to retrieve the > current property - * value this might be out of sync with the hardware, > depending upon the driver - * and property. > - * > - * Atomic drivers should never call this function directly, the core will > read - * out property values through the various ->atomic_get_property > callbacks. - * > - * Returns: > - * Zero on success, error code on failure. > - */ > -int drm_object_property_get_value(struct drm_mode_object *obj, > +int __drm_object_property_get_value(struct drm_mode_object *obj, > struct drm_property *property, uint64_t *val) > { > int i; > @@ -284,6 +270,31 @@ int drm_object_property_get_value(struct > drm_mode_object *obj, > > return -EINVAL; > } > + > +/** > + * drm_object_property_get_value - retrieve the value of a property > + * @obj: drm mode object to get property value from > + * @property: property to retrieve > + * @val: storage for the property value > + * > + * This function retrieves the softare state of the given property for the > given + * property. Since there is no driver callback to retrieve the > current property + * value this might be out of sync with the hardware, > depending upon the driver + * and property. > + * > + * Atomic drivers should never call this function directly, the core will > read + * out property values through the various ->atomic_get_property > callbacks. + * > + * Returns: > + * Zero on success, error code on failure. > + */ > +int drm_object_property_get_value(struct drm_mode_object *obj, > + struct drm_property *property, uint64_t *val) > +{ > + WARN_ON(drm_drv_uses_atomic_modeset(property->dev)); > + > + return __drm_object_property_get_value(obj, property, val); > +} > EXPORT_SYMBOL(drm_object_property_get_value); > > /* helper for getconnector and getproperties ioctls */ > @@ -302,7 +313,7 @@ int drm_mode_object_get_properties(struct > drm_mode_object *obj, bool atomic, continue; > > if (*arg_count_props > count) { > - ret = drm_object_property_get_value(obj, prop, &val); > + ret = __drm_object_property_get_value(obj, prop, &val); > if (ret) > return ret; > > diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c > index 5dc8c4350602..b4ffd0455200 100644 > --- a/drivers/gpu/drm/drm_plane.c > +++ b/drivers/gpu/drm/drm_plane.c > @@ -330,7 +330,7 @@ int drm_mode_plane_set_obj_prop(struct drm_plane *plane, > > if (plane->funcs->set_property) > ret = plane->funcs->set_property(plane, property, value); > - if (!ret) > + if (!ret && drm_drv_uses_atomic_modeset(property->dev)) > drm_object_property_set_value(obj, property, value); > > return ret; -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 2/8] drm: Don't update property values for atomic drivers 2017-08-11 22:20 ` [PATCH 2/8] " Laurent Pinchart @ 2017-08-14 7:25 ` Daniel Vetter 2017-08-14 10:32 ` Laurent Pinchart 0 siblings, 1 reply; 84+ messages in thread From: Daniel Vetter @ 2017-08-14 7:25 UTC (permalink / raw) To: Laurent Pinchart; +Cc: Daniel Vetter, Intel Graphics Development, dri-devel On Sat, Aug 12, 2017 at 12:20 AM, Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote: > On Tuesday 25 Jul 2017 10:01:16 Daniel Vetter wrote: >> diff --git a/drivers/gpu/drm/drm_mode_object.c >> b/drivers/gpu/drm/drm_mode_object.c index da9a9adbcc98..92743a796bf0 100644 >> --- a/drivers/gpu/drm/drm_mode_object.c >> +++ b/drivers/gpu/drm/drm_mode_object.c >> @@ -233,6 +233,9 @@ int drm_object_property_set_value(struct drm_mode_object >> *obj, { >> int i; >> >> + WARN_ON(drm_drv_uses_atomic_modeset(property->dev) && >> + !(property->flags & DRM_MODE_PROP_IMMUTABLE)); > > It would have been nice to remove the calls to drm_object_property_set_value() > for the dpms property from drivers before adding this :-/ Three drivers (rcar- > du, shmobile and fsl-dcu) initialize the connector's DPMS property to OFF > using this call (the default being ON). > > Following the DPMS code paths always give me a headache, so if you know by > heart how I should replace the set property call, I'm all ears :-) Remove, it doesn't do anything for kms drivers. The value these calls update was never consulted when reading the property, instead drm_atomic_connector_get_property() directly looks at drm_connector->dpms. These calls where only needed for legacy modeset. Also note that the default _ON is the right one, since DPMS state is in addition to modeset state. dpms should actually be set to _ON when you enable the display using a modeset call, atomic takes care of that in drm_atomic_helper_update_legacy_modeset_state(). Aka we found a using this WARN_ON! And if you think the above explanation should be somewhere in kerneldoc, pls add :-) -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 2/8] drm: Don't update property values for atomic drivers 2017-08-14 7:25 ` Daniel Vetter @ 2017-08-14 10:32 ` Laurent Pinchart 2017-08-14 14:09 ` Daniel Vetter 0 siblings, 1 reply; 84+ messages in thread From: Laurent Pinchart @ 2017-08-14 10:32 UTC (permalink / raw) To: Daniel Vetter; +Cc: Daniel Vetter, Intel Graphics Development, dri-devel On Monday 14 Aug 2017 09:25:47 Daniel Vetter wrote: > On Sat, Aug 12, 2017 at 12:20 AM, Laurent Pinchart > > <laurent.pinchart@ideasonboard.com> wrote: > > On Tuesday 25 Jul 2017 10:01:16 Daniel Vetter wrote: > >> diff --git a/drivers/gpu/drm/drm_mode_object.c > >> b/drivers/gpu/drm/drm_mode_object.c index da9a9adbcc98..92743a796bf0 > >> 100644 > >> --- a/drivers/gpu/drm/drm_mode_object.c > >> +++ b/drivers/gpu/drm/drm_mode_object.c > >> @@ -233,6 +233,9 @@ int drm_object_property_set_value(struct > >> drm_mode_object *obj, { > >> > >> int i; > >> > >> + WARN_ON(drm_drv_uses_atomic_modeset(property->dev) && > >> + !(property->flags & DRM_MODE_PROP_IMMUTABLE)); > > > > It would have been nice to remove the calls to > > drm_object_property_set_value() for the dpms property from drivers before > > adding this :-/ Three drivers (rcar- du, shmobile and fsl-dcu) initialize > > the connector's DPMS property to OFF using this call (the default being > > ON). > > > > Following the DPMS code paths always give me a headache, so if you know by > > heart how I should replace the set property call, I'm all ears :-) > > Remove, it doesn't do anything for kms drivers. The value these calls > update was never consulted when reading the property, instead > drm_atomic_connector_get_property() directly looks at > drm_connector->dpms. But DRM_IOCTL_MODE_OBJ_GETPROPERTIES doesn't, it gets the property value directly, doesn't it ? > These calls where only needed for legacy modeset. Also note that the default > _ON is the right one, since DPMS state is in addition to modeset state. dpms > should actually be set to _ON when you enable the display using a modeset > call, atomic takes care of that in > drm_atomic_helper_update_legacy_modeset_state(). Sure, but the connectors should start disabled, shouldn't they ? > Aka we found a using this WARN_ON! > > And if you think the above explanation should be somewhere in > kerneldoc, pls add :-) -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 2/8] drm: Don't update property values for atomic drivers 2017-08-14 10:32 ` Laurent Pinchart @ 2017-08-14 14:09 ` Daniel Vetter 0 siblings, 0 replies; 84+ messages in thread From: Daniel Vetter @ 2017-08-14 14:09 UTC (permalink / raw) To: Laurent Pinchart Cc: Daniel Vetter, Intel Graphics Development, dri-devel, Daniel Vetter On Mon, Aug 14, 2017 at 01:32:07PM +0300, Laurent Pinchart wrote: > On Monday 14 Aug 2017 09:25:47 Daniel Vetter wrote: > > On Sat, Aug 12, 2017 at 12:20 AM, Laurent Pinchart > > > > <laurent.pinchart@ideasonboard.com> wrote: > > > On Tuesday 25 Jul 2017 10:01:16 Daniel Vetter wrote: > > >> diff --git a/drivers/gpu/drm/drm_mode_object.c > > >> b/drivers/gpu/drm/drm_mode_object.c index da9a9adbcc98..92743a796bf0 > > >> 100644 > > >> --- a/drivers/gpu/drm/drm_mode_object.c > > >> +++ b/drivers/gpu/drm/drm_mode_object.c > > >> @@ -233,6 +233,9 @@ int drm_object_property_set_value(struct > > >> drm_mode_object *obj, { > > >> > > >> int i; > > >> > > >> + WARN_ON(drm_drv_uses_atomic_modeset(property->dev) && > > >> + !(property->flags & DRM_MODE_PROP_IMMUTABLE)); > > > > > > It would have been nice to remove the calls to > > > drm_object_property_set_value() for the dpms property from drivers before > > > adding this :-/ Three drivers (rcar- du, shmobile and fsl-dcu) initialize > > > the connector's DPMS property to OFF using this call (the default being > > > ON). > > > > > > Following the DPMS code paths always give me a headache, so if you know by > > > heart how I should replace the set property call, I'm all ears :-) > > > > Remove, it doesn't do anything for kms drivers. The value these calls > > update was never consulted when reading the property, instead > > drm_atomic_connector_get_property() directly looks at > > drm_connector->dpms. > > But DRM_IOCTL_MODE_OBJ_GETPROPERTIES doesn't, it gets the property value > directly, doesn't it ? It redirects to the atomic machinery, so should all work out. > > These calls where only needed for legacy modeset. Also note that the default > > _ON is the right one, since DPMS state is in addition to modeset state. dpms > > should actually be set to _ON when you enable the display using a modeset > > call, atomic takes care of that in > > drm_atomic_helper_update_legacy_modeset_state(). > > Sure, but the connectors should start disabled, shouldn't they ? Sure, and they are, because connector_state->crtc == NULL. DPMS only matters if your connector is connected, which at boot-up/reset state it isnt. Yes DPMS is one of those thing which with hindsight I'd like to never have happened, it's probably the most quirky uabi we have :-/ If you have userspace that gets confused by this we need to: a) either fix your userspace b) if we decide to fix the kernel, fix it for everyone (i.e. in drm_connector_init). Given that the "standard kms driver" (aka i915.ko) doesn't do that, I don't think we need b). -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 3/8] drm: Handle properties in the core for atomic drivers 2017-07-25 8:01 [PATCH 0/8] acquire ctx for everyone! Daniel Vetter 2017-07-25 8:01 ` [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack Daniel Vetter 2017-07-25 8:01 ` [PATCH 2/8] drm: Don't update property values for atomic drivers Daniel Vetter @ 2017-07-25 8:01 ` Daniel Vetter 2017-07-25 9:36 ` Archit Taneja 2017-07-25 12:02 ` [PATCH] " Daniel Vetter 2017-07-25 8:01 ` [PATCH 4/8] drm: Nuke drm_atomic_helper_crtc_set_property Daniel Vetter ` (6 subsequent siblings) 9 siblings, 2 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: Intel Graphics Development; +Cc: Daniel Vetter, DRI Development, Daniel Vetter The reason behind the original indirection through the helper functions was to allow existing drivers to overwrite how they handle properties. For example when a vendor-specific userspace had expectations that didn't match atomic. That seemed likely, since atomic is standardizing a _lot_ more of the behaviour of a kms driver. But 20 drivers later there's no such need at all. Worse, this forces all drivers to hook up the default behaviour, breaking userspace if they forget to do that. And it forces us to export a bunch of core function just for those helpers. And finally, these helpers are the last places using drm_atomic_legacy_backoff() and the implicit acquire_ctx. This patch here just implements the new behaviour and updates the docs. Follow-up patches will garbage-collect all the dead code. v2: Fixup docs even better! v3: Make it actually work ... Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/drm_atomic.c | 60 ++++++++++++++++++-- drivers/gpu/drm/drm_connector.c | 6 +- drivers/gpu/drm/drm_crtc_helper.c | 3 +- drivers/gpu/drm/drm_crtc_internal.h | 7 +++ drivers/gpu/drm/drm_mode_object.c | 110 +++++++++++++++++++++++++++--------- include/drm/drm_connector.h | 10 ++-- include/drm/drm_crtc.h | 6 +- include/drm/drm_plane.h | 6 +- 8 files changed, 158 insertions(+), 50 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 01192dd3ed79..0fd14aff7add 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -1864,9 +1864,60 @@ static struct drm_pending_vblank_event *create_vblank_event( return e; } -static int atomic_set_prop(struct drm_atomic_state *state, - struct drm_mode_object *obj, struct drm_property *prop, - uint64_t prop_value) +int drm_atomic_connector_commit_dpms(struct drm_atomic_state *state, + struct drm_connector *connector, + int mode) +{ + struct drm_connector *tmp_connector; + struct drm_connector_state *new_conn_state; + struct drm_crtc *crtc; + struct drm_crtc_state *crtc_state; + int i, ret, old_mode = connector->dpms; + bool active = false; + + ret = drm_modeset_lock(&state->dev->mode_config.connection_mutex, + state->acquire_ctx); + if (ret) + return ret; + + if (mode != DRM_MODE_DPMS_ON) + mode = DRM_MODE_DPMS_OFF; + connector->dpms = mode; + + crtc = connector->state->crtc; + if (!crtc) + goto out; + ret = drm_atomic_add_affected_connectors(state, crtc); + if (ret) + goto out; + + crtc_state = drm_atomic_get_crtc_state(state, crtc); + if (IS_ERR(crtc_state)) { + ret = PTR_ERR(crtc_state); + goto out; + } + + for_each_new_connector_in_state(state, tmp_connector, new_conn_state, i) { + if (new_conn_state->crtc != crtc) + continue; + if (tmp_connector->dpms == DRM_MODE_DPMS_ON) { + active = true; + break; + } + } + + crtc_state->active = active; + ret = drm_atomic_commit(state); +out: + if (ret != 0) + connector->dpms = old_mode; + return ret; +} + +int drm_atomic_set_property(struct drm_atomic_state *state, + struct drm_mode_object *obj, + struct drm_property *prop, + uint64_t prop_value) { struct drm_mode_object *ref; int ret; @@ -2286,7 +2337,8 @@ int drm_mode_atomic_ioctl(struct drm_device *dev, goto out; } - ret = atomic_set_prop(state, obj, prop, prop_value); + ret = drm_atomic_set_property(state, obj, prop, + prop_value); if (ret) { drm_mode_object_put(obj); goto out; diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 349104eadefe..12371f184019 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -717,9 +717,9 @@ DRM_ENUM_NAME_FN(drm_get_tv_subconnector_name, * drivers, it remaps to controlling the "ACTIVE" property on the CRTC the * connector is linked to. Drivers should never set this property directly, * it is handled by the DRM core by calling the &drm_connector_funcs.dpms - * callback. Atomic drivers should implement this hook using - * drm_atomic_helper_connector_dpms(). This is the only property standard - * connector property that userspace can change. + * callback. For atomic drivers the remapping to the "ACTIVE" property is + * implemented in the DRM core. This is the only standard connector + * property that userspace can change. * PATH: * Connector path property to identify how this sink is physically * connected. Used by DP MST. This should be set by calling diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 4afdf7902eda..eab36a460638 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -863,8 +863,7 @@ static int drm_helper_choose_crtc_dpms(struct drm_crtc *crtc) * provided by the driver. * * This function is deprecated. New drivers must implement atomic modeset - * support, for which this function is unsuitable. Instead drivers should use - * drm_atomic_helper_connector_dpms(). + * support, where DPMS is handled in the DRM core. * * Returns: * Always returns 0. diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h index d077c5490041..a43582076b20 100644 --- a/drivers/gpu/drm/drm_crtc_internal.h +++ b/drivers/gpu/drm/drm_crtc_internal.h @@ -178,6 +178,13 @@ struct drm_minor; int drm_atomic_debugfs_init(struct drm_minor *minor); #endif +int drm_atomic_connector_commit_dpms(struct drm_atomic_state *state, + struct drm_connector *connector, + int mode); +int drm_atomic_set_property(struct drm_atomic_state *state, + struct drm_mode_object *obj, + struct drm_property *prop, + uint64_t prop_value); int drm_atomic_get_property(struct drm_mode_object *obj, struct drm_property *property, uint64_t *val); int drm_mode_atomic_ioctl(struct drm_device *dev, diff --git a/drivers/gpu/drm/drm_mode_object.c b/drivers/gpu/drm/drm_mode_object.c index 92743a796bf0..1055533792f3 100644 --- a/drivers/gpu/drm/drm_mode_object.c +++ b/drivers/gpu/drm/drm_mode_object.c @@ -392,6 +392,83 @@ struct drm_property *drm_mode_obj_find_prop_id(struct drm_mode_object *obj, return NULL; } +static int set_property_legacy(struct drm_mode_object *obj, + struct drm_property *prop, + uint64_t prop_value) +{ + struct drm_device *dev = prop->dev; + struct drm_mode_object *ref; + int ret = -EINVAL; + + if (!drm_property_change_valid_get(prop, prop_value, &ref)) + return -EINVAL; + + drm_modeset_lock_all(dev); + switch (obj->type) { + case DRM_MODE_OBJECT_CONNECTOR: + ret = drm_mode_connector_set_obj_prop(obj, prop, + prop_value); + break; + case DRM_MODE_OBJECT_CRTC: + ret = drm_mode_crtc_set_obj_prop(obj, prop, prop_value); + break; + case DRM_MODE_OBJECT_PLANE: + ret = drm_mode_plane_set_obj_prop(obj_to_plane(obj), + prop, prop_value); + break; + } + drm_property_change_valid_put(prop, ref); + drm_modeset_unlock_all(dev); + + return ret; +} + +static int set_property_atomic(struct drm_mode_object *obj, + struct drm_property *prop, + uint64_t prop_value) +{ + struct drm_device *dev = prop->dev; + struct drm_atomic_state *state; + struct drm_modeset_acquire_ctx ctx; + int ret; + + drm_modeset_acquire_init(&ctx, 0); + + state = drm_atomic_state_alloc(dev); + if (!state) + return -ENOMEM; + state->acquire_ctx = &ctx; +retry: + if (prop == state->dev->mode_config.dpms_property) { + if (obj->type != DRM_MODE_OBJECT_CONNECTOR) { + ret = -EINVAL; + goto out; + } + + ret = drm_atomic_connector_commit_dpms(state, + obj_to_connector(obj), + prop_value); + } else { + ret = drm_atomic_set_property(state, obj, prop, prop_value); + if (ret) + goto out; + ret = drm_atomic_commit(state); + } +out: + if (ret == -EDEADLK) { + drm_atomic_state_clear(state); + drm_modeset_backoff(&ctx); + goto retry; + } + + drm_atomic_state_put(state); + + drm_modeset_drop_locks(&ctx); + drm_modeset_acquire_fini(&ctx); + + return ret; +} + int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv) { @@ -399,18 +476,13 @@ int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data, struct drm_mode_object *arg_obj; struct drm_property *property; int ret = -EINVAL; - struct drm_mode_object *ref; if (!drm_core_check_feature(dev, DRIVER_MODESET)) return -EINVAL; - drm_modeset_lock_all(dev); - arg_obj = drm_mode_object_find(dev, arg->obj_id, arg->obj_type); - if (!arg_obj) { - ret = -ENOENT; - goto out; - } + if (!arg_obj) + return -ENOENT; if (!arg_obj->properties) goto out_unref; @@ -419,28 +491,12 @@ int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data, if (!property) goto out_unref; - if (!drm_property_change_valid_get(property, arg->value, &ref)) - goto out_unref; - - switch (arg_obj->type) { - case DRM_MODE_OBJECT_CONNECTOR: - ret = drm_mode_connector_set_obj_prop(arg_obj, property, - arg->value); - break; - case DRM_MODE_OBJECT_CRTC: - ret = drm_mode_crtc_set_obj_prop(arg_obj, property, arg->value); - break; - case DRM_MODE_OBJECT_PLANE: - ret = drm_mode_plane_set_obj_prop(obj_to_plane(arg_obj), - property, arg->value); - break; - } - - drm_property_change_valid_put(property, ref); + if (drm_drv_uses_atomic_modeset(property->dev)) + ret = set_property_atomic(arg_obj, property, arg->value); + else + ret = set_property_legacy(arg_obj, property, arg->value); out_unref: drm_mode_object_put(arg_obj); -out: - drm_modeset_unlock_all(dev); return ret; } diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index 4bc088269d05..ea8da401c93c 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -382,8 +382,8 @@ struct drm_connector_funcs { * implement the 4 level DPMS support on the connector any more, but * instead only have an on/off "ACTIVE" property on the CRTC object. * - * Drivers implementing atomic modeset should use - * drm_atomic_helper_connector_dpms() to implement this hook. + * This hook is not used by atomic drivers, remapping of the legacy DPMS + * property is entirely handled in the DRM core. * * RETURNS: * @@ -480,11 +480,9 @@ struct drm_connector_funcs { * This is the legacy entry point to update a property attached to the * connector. * - * Drivers implementing atomic modeset should use - * drm_atomic_helper_connector_set_property() to implement this hook. - * * This callback is optional if the driver does not support any legacy - * driver-private properties. + * driver-private properties. For atomic drivers it is not used because + * property handling is done entirely in the DRM core. * * RETURNS: * diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 3a911a64c257..9c01f94b393c 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -481,11 +481,9 @@ struct drm_crtc_funcs { * This is the legacy entry point to update a property attached to the * CRTC. * - * Drivers implementing atomic modeset should use - * drm_atomic_helper_crtc_set_property() to implement this hook. - * * This callback is optional if the driver does not support any legacy - * driver-private properties. + * driver-private properties. For atomic drivers it is not used because + * property handling is done entirely in the DRM core. * * RETURNS: * diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h index 9ab3e7044812..204c213810df 100644 --- a/include/drm/drm_plane.h +++ b/include/drm/drm_plane.h @@ -233,11 +233,9 @@ struct drm_plane_funcs { * This is the legacy entry point to update a property attached to the * plane. * - * Drivers implementing atomic modeset should use - * drm_atomic_helper_plane_set_property() to implement this hook. - * * This callback is optional if the driver does not support any legacy - * driver-private properties. + * driver-private properties. For atomic drivers it is not used because + * property handling is done entirely in the DRM core. * * RETURNS: * -- 2.13.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH 3/8] drm: Handle properties in the core for atomic drivers 2017-07-25 8:01 ` [PATCH 3/8] drm: Handle properties in the core " Daniel Vetter @ 2017-07-25 9:36 ` Archit Taneja 2017-07-25 12:02 ` [PATCH] " Daniel Vetter 1 sibling, 0 replies; 84+ messages in thread From: Archit Taneja @ 2017-07-25 9:36 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development; +Cc: Daniel Vetter, DRI Development On 07/25/2017 01:31 PM, Daniel Vetter wrote: > The reason behind the original indirection through the helper > functions was to allow existing drivers to overwrite how they handle > properties. For example when a vendor-specific userspace had > expectations that didn't match atomic. That seemed likely, since > atomic is standardizing a _lot_ more of the behaviour of a kms driver. > > But 20 drivers later there's no such need at all. Worse, this forces > all drivers to hook up the default behaviour, breaking userspace if > they forget to do that. And it forces us to export a bunch of core > function just for those helpers. > > And finally, these helpers are the last places using > drm_atomic_legacy_backoff() and the implicit acquire_ctx. > > This patch here just implements the new behaviour and updates the > docs. Follow-up patches will garbage-collect all the dead code. > > v2: Fixup docs even better! > > v3: Make it actually work ... Reviewed-by: Archit Taneja <architt@codeaurora.org> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > --- > drivers/gpu/drm/drm_atomic.c | 60 ++++++++++++++++++-- > drivers/gpu/drm/drm_connector.c | 6 +- > drivers/gpu/drm/drm_crtc_helper.c | 3 +- > drivers/gpu/drm/drm_crtc_internal.h | 7 +++ > drivers/gpu/drm/drm_mode_object.c | 110 +++++++++++++++++++++++++++--------- > include/drm/drm_connector.h | 10 ++-- > include/drm/drm_crtc.h | 6 +- > include/drm/drm_plane.h | 6 +- > 8 files changed, 158 insertions(+), 50 deletions(-) > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 01192dd3ed79..0fd14aff7add 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -1864,9 +1864,60 @@ static struct drm_pending_vblank_event *create_vblank_event( > return e; > } > > -static int atomic_set_prop(struct drm_atomic_state *state, > - struct drm_mode_object *obj, struct drm_property *prop, > - uint64_t prop_value) > +int drm_atomic_connector_commit_dpms(struct drm_atomic_state *state, > + struct drm_connector *connector, > + int mode) > +{ > + struct drm_connector *tmp_connector; > + struct drm_connector_state *new_conn_state; > + struct drm_crtc *crtc; > + struct drm_crtc_state *crtc_state; > + int i, ret, old_mode = connector->dpms; > + bool active = false; > + > + ret = drm_modeset_lock(&state->dev->mode_config.connection_mutex, > + state->acquire_ctx); > + if (ret) > + return ret; > + > + if (mode != DRM_MODE_DPMS_ON) > + mode = DRM_MODE_DPMS_OFF; > + connector->dpms = mode; > + > + crtc = connector->state->crtc; > + if (!crtc) > + goto out; > + ret = drm_atomic_add_affected_connectors(state, crtc); > + if (ret) > + goto out; > + > + crtc_state = drm_atomic_get_crtc_state(state, crtc); > + if (IS_ERR(crtc_state)) { > + ret = PTR_ERR(crtc_state); > + goto out; > + } > + > + for_each_new_connector_in_state(state, tmp_connector, new_conn_state, i) { > + if (new_conn_state->crtc != crtc) > + continue; > + if (tmp_connector->dpms == DRM_MODE_DPMS_ON) { > + active = true; > + break; > + } > + } > + > + crtc_state->active = active; > + ret = drm_atomic_commit(state); > +out: > + if (ret != 0) > + connector->dpms = old_mode; > + return ret; > +} > + > +int drm_atomic_set_property(struct drm_atomic_state *state, > + struct drm_mode_object *obj, > + struct drm_property *prop, > + uint64_t prop_value) > { > struct drm_mode_object *ref; > int ret; > @@ -2286,7 +2337,8 @@ int drm_mode_atomic_ioctl(struct drm_device *dev, > goto out; > } > > - ret = atomic_set_prop(state, obj, prop, prop_value); > + ret = drm_atomic_set_property(state, obj, prop, > + prop_value); > if (ret) { > drm_mode_object_put(obj); > goto out; > diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c > index 349104eadefe..12371f184019 100644 > --- a/drivers/gpu/drm/drm_connector.c > +++ b/drivers/gpu/drm/drm_connector.c > @@ -717,9 +717,9 @@ DRM_ENUM_NAME_FN(drm_get_tv_subconnector_name, > * drivers, it remaps to controlling the "ACTIVE" property on the CRTC the > * connector is linked to. Drivers should never set this property directly, > * it is handled by the DRM core by calling the &drm_connector_funcs.dpms > - * callback. Atomic drivers should implement this hook using > - * drm_atomic_helper_connector_dpms(). This is the only property standard > - * connector property that userspace can change. > + * callback. For atomic drivers the remapping to the "ACTIVE" property is > + * implemented in the DRM core. This is the only standard connector > + * property that userspace can change. > * PATH: > * Connector path property to identify how this sink is physically > * connected. Used by DP MST. This should be set by calling > diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c > index 4afdf7902eda..eab36a460638 100644 > --- a/drivers/gpu/drm/drm_crtc_helper.c > +++ b/drivers/gpu/drm/drm_crtc_helper.c > @@ -863,8 +863,7 @@ static int drm_helper_choose_crtc_dpms(struct drm_crtc *crtc) > * provided by the driver. > * > * This function is deprecated. New drivers must implement atomic modeset > - * support, for which this function is unsuitable. Instead drivers should use > - * drm_atomic_helper_connector_dpms(). > + * support, where DPMS is handled in the DRM core. > * > * Returns: > * Always returns 0. > diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h > index d077c5490041..a43582076b20 100644 > --- a/drivers/gpu/drm/drm_crtc_internal.h > +++ b/drivers/gpu/drm/drm_crtc_internal.h > @@ -178,6 +178,13 @@ struct drm_minor; > int drm_atomic_debugfs_init(struct drm_minor *minor); > #endif > > +int drm_atomic_connector_commit_dpms(struct drm_atomic_state *state, > + struct drm_connector *connector, > + int mode); > +int drm_atomic_set_property(struct drm_atomic_state *state, > + struct drm_mode_object *obj, > + struct drm_property *prop, > + uint64_t prop_value); > int drm_atomic_get_property(struct drm_mode_object *obj, > struct drm_property *property, uint64_t *val); > int drm_mode_atomic_ioctl(struct drm_device *dev, > diff --git a/drivers/gpu/drm/drm_mode_object.c b/drivers/gpu/drm/drm_mode_object.c > index 92743a796bf0..1055533792f3 100644 > --- a/drivers/gpu/drm/drm_mode_object.c > +++ b/drivers/gpu/drm/drm_mode_object.c > @@ -392,6 +392,83 @@ struct drm_property *drm_mode_obj_find_prop_id(struct drm_mode_object *obj, > return NULL; > } > > +static int set_property_legacy(struct drm_mode_object *obj, > + struct drm_property *prop, > + uint64_t prop_value) > +{ > + struct drm_device *dev = prop->dev; > + struct drm_mode_object *ref; > + int ret = -EINVAL; > + > + if (!drm_property_change_valid_get(prop, prop_value, &ref)) > + return -EINVAL; > + > + drm_modeset_lock_all(dev); > + switch (obj->type) { > + case DRM_MODE_OBJECT_CONNECTOR: > + ret = drm_mode_connector_set_obj_prop(obj, prop, > + prop_value); > + break; > + case DRM_MODE_OBJECT_CRTC: > + ret = drm_mode_crtc_set_obj_prop(obj, prop, prop_value); > + break; > + case DRM_MODE_OBJECT_PLANE: > + ret = drm_mode_plane_set_obj_prop(obj_to_plane(obj), > + prop, prop_value); > + break; > + } > + drm_property_change_valid_put(prop, ref); > + drm_modeset_unlock_all(dev); > + > + return ret; > +} > + > +static int set_property_atomic(struct drm_mode_object *obj, > + struct drm_property *prop, > + uint64_t prop_value) > +{ > + struct drm_device *dev = prop->dev; > + struct drm_atomic_state *state; > + struct drm_modeset_acquire_ctx ctx; > + int ret; > + > + drm_modeset_acquire_init(&ctx, 0); > + > + state = drm_atomic_state_alloc(dev); > + if (!state) > + return -ENOMEM; > + state->acquire_ctx = &ctx; > +retry: > + if (prop == state->dev->mode_config.dpms_property) { > + if (obj->type != DRM_MODE_OBJECT_CONNECTOR) { > + ret = -EINVAL; > + goto out; > + } > + > + ret = drm_atomic_connector_commit_dpms(state, > + obj_to_connector(obj), > + prop_value); > + } else { > + ret = drm_atomic_set_property(state, obj, prop, prop_value); > + if (ret) > + goto out; > + ret = drm_atomic_commit(state); > + } > +out: > + if (ret == -EDEADLK) { > + drm_atomic_state_clear(state); > + drm_modeset_backoff(&ctx); > + goto retry; > + } > + > + drm_atomic_state_put(state); > + > + drm_modeset_drop_locks(&ctx); > + drm_modeset_acquire_fini(&ctx); > + > + return ret; > +} > + > int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data, > struct drm_file *file_priv) > { > @@ -399,18 +476,13 @@ int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data, > struct drm_mode_object *arg_obj; > struct drm_property *property; > int ret = -EINVAL; > - struct drm_mode_object *ref; > > if (!drm_core_check_feature(dev, DRIVER_MODESET)) > return -EINVAL; > > - drm_modeset_lock_all(dev); > - > arg_obj = drm_mode_object_find(dev, arg->obj_id, arg->obj_type); > - if (!arg_obj) { > - ret = -ENOENT; > - goto out; > - } > + if (!arg_obj) > + return -ENOENT; > > if (!arg_obj->properties) > goto out_unref; > @@ -419,28 +491,12 @@ int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data, > if (!property) > goto out_unref; > > - if (!drm_property_change_valid_get(property, arg->value, &ref)) > - goto out_unref; > - > - switch (arg_obj->type) { > - case DRM_MODE_OBJECT_CONNECTOR: > - ret = drm_mode_connector_set_obj_prop(arg_obj, property, > - arg->value); > - break; > - case DRM_MODE_OBJECT_CRTC: > - ret = drm_mode_crtc_set_obj_prop(arg_obj, property, arg->value); > - break; > - case DRM_MODE_OBJECT_PLANE: > - ret = drm_mode_plane_set_obj_prop(obj_to_plane(arg_obj), > - property, arg->value); > - break; > - } > - > - drm_property_change_valid_put(property, ref); > + if (drm_drv_uses_atomic_modeset(property->dev)) > + ret = set_property_atomic(arg_obj, property, arg->value); > + else > + ret = set_property_legacy(arg_obj, property, arg->value); > > out_unref: > drm_mode_object_put(arg_obj); > -out: > - drm_modeset_unlock_all(dev); > return ret; > } > diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h > index 4bc088269d05..ea8da401c93c 100644 > --- a/include/drm/drm_connector.h > +++ b/include/drm/drm_connector.h > @@ -382,8 +382,8 @@ struct drm_connector_funcs { > * implement the 4 level DPMS support on the connector any more, but > * instead only have an on/off "ACTIVE" property on the CRTC object. > * > - * Drivers implementing atomic modeset should use > - * drm_atomic_helper_connector_dpms() to implement this hook. > + * This hook is not used by atomic drivers, remapping of the legacy DPMS > + * property is entirely handled in the DRM core. > * > * RETURNS: > * > @@ -480,11 +480,9 @@ struct drm_connector_funcs { > * This is the legacy entry point to update a property attached to the > * connector. > * > - * Drivers implementing atomic modeset should use > - * drm_atomic_helper_connector_set_property() to implement this hook. > - * > * This callback is optional if the driver does not support any legacy > - * driver-private properties. > + * driver-private properties. For atomic drivers it is not used because > + * property handling is done entirely in the DRM core. > * > * RETURNS: > * > diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h > index 3a911a64c257..9c01f94b393c 100644 > --- a/include/drm/drm_crtc.h > +++ b/include/drm/drm_crtc.h > @@ -481,11 +481,9 @@ struct drm_crtc_funcs { > * This is the legacy entry point to update a property attached to the > * CRTC. > * > - * Drivers implementing atomic modeset should use > - * drm_atomic_helper_crtc_set_property() to implement this hook. > - * > * This callback is optional if the driver does not support any legacy > - * driver-private properties. > + * driver-private properties. For atomic drivers it is not used because > + * property handling is done entirely in the DRM core. > * > * RETURNS: > * > diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h > index 9ab3e7044812..204c213810df 100644 > --- a/include/drm/drm_plane.h > +++ b/include/drm/drm_plane.h > @@ -233,11 +233,9 @@ struct drm_plane_funcs { > * This is the legacy entry point to update a property attached to the > * plane. > * > - * Drivers implementing atomic modeset should use > - * drm_atomic_helper_plane_set_property() to implement this hook. > - * > * This callback is optional if the driver does not support any legacy > - * driver-private properties. > + * driver-private properties. For atomic drivers it is not used because > + * property handling is done entirely in the DRM core. > * > * RETURNS: > * > -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH] drm: Handle properties in the core for atomic drivers 2017-07-25 8:01 ` [PATCH 3/8] drm: Handle properties in the core " Daniel Vetter 2017-07-25 9:36 ` Archit Taneja @ 2017-07-25 12:02 ` Daniel Vetter 1 sibling, 0 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 12:02 UTC (permalink / raw) To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter The reason behind the original indirection through the helper functions was to allow existing drivers to overwrite how they handle properties. For example when a vendor-specific userspace had expectations that didn't match atomic. That seemed likely, since atomic is standardizing a _lot_ more of the behaviour of a kms driver. But 20 drivers later there's no such need at all. Worse, this forces all drivers to hook up the default behaviour, breaking userspace if they forget to do that. And it forces us to export a bunch of core function just for those helpers. And finally, these helpers are the last places using drm_atomic_legacy_backoff() and the implicit acquire_ctx. This patch here just implements the new behaviour and updates the docs. Follow-up patches will garbage-collect all the dead code. v2: Fixup docs even better! v3: Make it actually work ... v4: Drop the uses_atomic_modeset() checks from the previous patch again, since they're now moved up in the callchain. Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Archit Taneja <architt@codeaurora.org> (v3) Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/drm_atomic.c | 60 ++++++++++++++++++-- drivers/gpu/drm/drm_connector.c | 8 +-- drivers/gpu/drm/drm_crtc.c | 2 +- drivers/gpu/drm/drm_crtc_helper.c | 3 +- drivers/gpu/drm/drm_crtc_internal.h | 7 +++ drivers/gpu/drm/drm_mode_object.c | 110 +++++++++++++++++++++++++++--------- drivers/gpu/drm/drm_plane.c | 2 +- include/drm/drm_connector.h | 10 ++-- include/drm/drm_crtc.h | 6 +- include/drm/drm_plane.h | 6 +- 10 files changed, 161 insertions(+), 53 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 01192dd3ed79..0fd14aff7add 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -1864,9 +1864,60 @@ static struct drm_pending_vblank_event *create_vblank_event( return e; } -static int atomic_set_prop(struct drm_atomic_state *state, - struct drm_mode_object *obj, struct drm_property *prop, - uint64_t prop_value) +int drm_atomic_connector_commit_dpms(struct drm_atomic_state *state, + struct drm_connector *connector, + int mode) +{ + struct drm_connector *tmp_connector; + struct drm_connector_state *new_conn_state; + struct drm_crtc *crtc; + struct drm_crtc_state *crtc_state; + int i, ret, old_mode = connector->dpms; + bool active = false; + + ret = drm_modeset_lock(&state->dev->mode_config.connection_mutex, + state->acquire_ctx); + if (ret) + return ret; + + if (mode != DRM_MODE_DPMS_ON) + mode = DRM_MODE_DPMS_OFF; + connector->dpms = mode; + + crtc = connector->state->crtc; + if (!crtc) + goto out; + ret = drm_atomic_add_affected_connectors(state, crtc); + if (ret) + goto out; + + crtc_state = drm_atomic_get_crtc_state(state, crtc); + if (IS_ERR(crtc_state)) { + ret = PTR_ERR(crtc_state); + goto out; + } + + for_each_new_connector_in_state(state, tmp_connector, new_conn_state, i) { + if (new_conn_state->crtc != crtc) + continue; + if (tmp_connector->dpms == DRM_MODE_DPMS_ON) { + active = true; + break; + } + } + + crtc_state->active = active; + ret = drm_atomic_commit(state); +out: + if (ret != 0) + connector->dpms = old_mode; + return ret; +} + +int drm_atomic_set_property(struct drm_atomic_state *state, + struct drm_mode_object *obj, + struct drm_property *prop, + uint64_t prop_value) { struct drm_mode_object *ref; int ret; @@ -2286,7 +2337,8 @@ int drm_mode_atomic_ioctl(struct drm_device *dev, goto out; } - ret = atomic_set_prop(state, obj, prop, prop_value); + ret = drm_atomic_set_property(state, obj, prop, + prop_value); if (ret) { drm_mode_object_put(obj); goto out; diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 0e9e3161bdd0..ba9f36cef68c 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -717,9 +717,9 @@ DRM_ENUM_NAME_FN(drm_get_tv_subconnector_name, * drivers, it remaps to controlling the "ACTIVE" property on the CRTC the * connector is linked to. Drivers should never set this property directly, * it is handled by the DRM core by calling the &drm_connector_funcs.dpms - * callback. Atomic drivers should implement this hook using - * drm_atomic_helper_connector_dpms(). This is the only property standard - * connector property that userspace can change. + * callback. For atomic drivers the remapping to the "ACTIVE" property is + * implemented in the DRM core. This is the only standard connector + * property that userspace can change. * PATH: * Connector path property to identify how this sink is physically * connected. Used by DP MST. This should be set by calling @@ -1225,7 +1225,7 @@ int drm_mode_connector_set_obj_prop(struct drm_mode_object *obj, } else if (connector->funcs->set_property) ret = connector->funcs->set_property(connector, property, value); - if (!ret && !drm_drv_uses_atomic_modeset(property->dev)) + if (!ret) drm_object_property_set_value(&connector->base, property, value); return ret; } diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 9271235d84b0..5af25ce5bf7c 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -736,7 +736,7 @@ int drm_mode_crtc_set_obj_prop(struct drm_mode_object *obj, if (crtc->funcs->set_property) ret = crtc->funcs->set_property(crtc, property, value); - if (!ret && !drm_drv_uses_atomic_modeset(property->dev)) + if (!ret) drm_object_property_set_value(obj, property, value); return ret; diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 4afdf7902eda..eab36a460638 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -863,8 +863,7 @@ static int drm_helper_choose_crtc_dpms(struct drm_crtc *crtc) * provided by the driver. * * This function is deprecated. New drivers must implement atomic modeset - * support, for which this function is unsuitable. Instead drivers should use - * drm_atomic_helper_connector_dpms(). + * support, where DPMS is handled in the DRM core. * * Returns: * Always returns 0. diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h index d077c5490041..a43582076b20 100644 --- a/drivers/gpu/drm/drm_crtc_internal.h +++ b/drivers/gpu/drm/drm_crtc_internal.h @@ -178,6 +178,13 @@ struct drm_minor; int drm_atomic_debugfs_init(struct drm_minor *minor); #endif +int drm_atomic_connector_commit_dpms(struct drm_atomic_state *state, + struct drm_connector *connector, + int mode); +int drm_atomic_set_property(struct drm_atomic_state *state, + struct drm_mode_object *obj, + struct drm_property *prop, + uint64_t prop_value); int drm_atomic_get_property(struct drm_mode_object *obj, struct drm_property *property, uint64_t *val); int drm_mode_atomic_ioctl(struct drm_device *dev, diff --git a/drivers/gpu/drm/drm_mode_object.c b/drivers/gpu/drm/drm_mode_object.c index 92743a796bf0..1055533792f3 100644 --- a/drivers/gpu/drm/drm_mode_object.c +++ b/drivers/gpu/drm/drm_mode_object.c @@ -392,6 +392,83 @@ struct drm_property *drm_mode_obj_find_prop_id(struct drm_mode_object *obj, return NULL; } +static int set_property_legacy(struct drm_mode_object *obj, + struct drm_property *prop, + uint64_t prop_value) +{ + struct drm_device *dev = prop->dev; + struct drm_mode_object *ref; + int ret = -EINVAL; + + if (!drm_property_change_valid_get(prop, prop_value, &ref)) + return -EINVAL; + + drm_modeset_lock_all(dev); + switch (obj->type) { + case DRM_MODE_OBJECT_CONNECTOR: + ret = drm_mode_connector_set_obj_prop(obj, prop, + prop_value); + break; + case DRM_MODE_OBJECT_CRTC: + ret = drm_mode_crtc_set_obj_prop(obj, prop, prop_value); + break; + case DRM_MODE_OBJECT_PLANE: + ret = drm_mode_plane_set_obj_prop(obj_to_plane(obj), + prop, prop_value); + break; + } + drm_property_change_valid_put(prop, ref); + drm_modeset_unlock_all(dev); + + return ret; +} + +static int set_property_atomic(struct drm_mode_object *obj, + struct drm_property *prop, + uint64_t prop_value) +{ + struct drm_device *dev = prop->dev; + struct drm_atomic_state *state; + struct drm_modeset_acquire_ctx ctx; + int ret; + + drm_modeset_acquire_init(&ctx, 0); + + state = drm_atomic_state_alloc(dev); + if (!state) + return -ENOMEM; + state->acquire_ctx = &ctx; +retry: + if (prop == state->dev->mode_config.dpms_property) { + if (obj->type != DRM_MODE_OBJECT_CONNECTOR) { + ret = -EINVAL; + goto out; + } + + ret = drm_atomic_connector_commit_dpms(state, + obj_to_connector(obj), + prop_value); + } else { + ret = drm_atomic_set_property(state, obj, prop, prop_value); + if (ret) + goto out; + ret = drm_atomic_commit(state); + } +out: + if (ret == -EDEADLK) { + drm_atomic_state_clear(state); + drm_modeset_backoff(&ctx); + goto retry; + } + + drm_atomic_state_put(state); + + drm_modeset_drop_locks(&ctx); + drm_modeset_acquire_fini(&ctx); + + return ret; +} + int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv) { @@ -399,18 +476,13 @@ int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data, struct drm_mode_object *arg_obj; struct drm_property *property; int ret = -EINVAL; - struct drm_mode_object *ref; if (!drm_core_check_feature(dev, DRIVER_MODESET)) return -EINVAL; - drm_modeset_lock_all(dev); - arg_obj = drm_mode_object_find(dev, arg->obj_id, arg->obj_type); - if (!arg_obj) { - ret = -ENOENT; - goto out; - } + if (!arg_obj) + return -ENOENT; if (!arg_obj->properties) goto out_unref; @@ -419,28 +491,12 @@ int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data, if (!property) goto out_unref; - if (!drm_property_change_valid_get(property, arg->value, &ref)) - goto out_unref; - - switch (arg_obj->type) { - case DRM_MODE_OBJECT_CONNECTOR: - ret = drm_mode_connector_set_obj_prop(arg_obj, property, - arg->value); - break; - case DRM_MODE_OBJECT_CRTC: - ret = drm_mode_crtc_set_obj_prop(arg_obj, property, arg->value); - break; - case DRM_MODE_OBJECT_PLANE: - ret = drm_mode_plane_set_obj_prop(obj_to_plane(arg_obj), - property, arg->value); - break; - } - - drm_property_change_valid_put(property, ref); + if (drm_drv_uses_atomic_modeset(property->dev)) + ret = set_property_atomic(arg_obj, property, arg->value); + else + ret = set_property_legacy(arg_obj, property, arg->value); out_unref: drm_mode_object_put(arg_obj); -out: - drm_modeset_unlock_all(dev); return ret; } diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c index 186416f5e4c5..5dc8c4350602 100644 --- a/drivers/gpu/drm/drm_plane.c +++ b/drivers/gpu/drm/drm_plane.c @@ -330,7 +330,7 @@ int drm_mode_plane_set_obj_prop(struct drm_plane *plane, if (plane->funcs->set_property) ret = plane->funcs->set_property(plane, property, value); - if (!ret && !drm_drv_uses_atomic_modeset(property->dev)) + if (!ret) drm_object_property_set_value(obj, property, value); return ret; diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index 4bc088269d05..ea8da401c93c 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -382,8 +382,8 @@ struct drm_connector_funcs { * implement the 4 level DPMS support on the connector any more, but * instead only have an on/off "ACTIVE" property on the CRTC object. * - * Drivers implementing atomic modeset should use - * drm_atomic_helper_connector_dpms() to implement this hook. + * This hook is not used by atomic drivers, remapping of the legacy DPMS + * property is entirely handled in the DRM core. * * RETURNS: * @@ -480,11 +480,9 @@ struct drm_connector_funcs { * This is the legacy entry point to update a property attached to the * connector. * - * Drivers implementing atomic modeset should use - * drm_atomic_helper_connector_set_property() to implement this hook. - * * This callback is optional if the driver does not support any legacy - * driver-private properties. + * driver-private properties. For atomic drivers it is not used because + * property handling is done entirely in the DRM core. * * RETURNS: * diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 3a911a64c257..9c01f94b393c 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -481,11 +481,9 @@ struct drm_crtc_funcs { * This is the legacy entry point to update a property attached to the * CRTC. * - * Drivers implementing atomic modeset should use - * drm_atomic_helper_crtc_set_property() to implement this hook. - * * This callback is optional if the driver does not support any legacy - * driver-private properties. + * driver-private properties. For atomic drivers it is not used because + * property handling is done entirely in the DRM core. * * RETURNS: * diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h index 9ab3e7044812..204c213810df 100644 --- a/include/drm/drm_plane.h +++ b/include/drm/drm_plane.h @@ -233,11 +233,9 @@ struct drm_plane_funcs { * This is the legacy entry point to update a property attached to the * plane. * - * Drivers implementing atomic modeset should use - * drm_atomic_helper_plane_set_property() to implement this hook. - * * This callback is optional if the driver does not support any legacy - * driver-private properties. + * driver-private properties. For atomic drivers it is not used because + * property handling is done entirely in the DRM core. * * RETURNS: * -- 2.13.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 84+ messages in thread
* [PATCH 4/8] drm: Nuke drm_atomic_helper_crtc_set_property 2017-07-25 8:01 [PATCH 0/8] acquire ctx for everyone! Daniel Vetter ` (2 preceding siblings ...) 2017-07-25 8:01 ` [PATCH 3/8] drm: Handle properties in the core " Daniel Vetter @ 2017-07-25 8:01 ` Daniel Vetter 2017-07-25 9:38 ` Archit Taneja ` (2 more replies) 2017-07-25 8:01 ` Daniel Vetter ` (5 subsequent siblings) 9 siblings, 3 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: Intel Graphics Development Cc: David Airlie, Daniel Vetter, DRI Development, Sushmita Susheelendra, Masahiro Yamada, Daniel Vetter, Boris Brezillon, Archit Taneja, Laurent Pinchart, Alexey Brodkin, Tomi Valkeinen, Ben Skeggs, nouveau, Eric Engestrom, Thomas Hellstrom, Philippe Cornu, Philipp Zabel, Maxime Ripard, Shawn Guo It's dead code because this is now handled in the core. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Boris Brezillon <boris.brezillon@free-electrons.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: David Airlie <airlied@linux.ie> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: Shawn Guo <shawn.guo@linaro.org> Cc: Eric Engestrom <eric@engestrom.ch> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Philippe Cornu <philippe.cornu@st.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Sushmita Susheelendra <ssusheel@codeaurora.org> Cc: Archit Taneja <architt@codeaurora.org> Cc: intel-gfx@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Thomas Hellstrom <thellstrom@vmware.com> --- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 1 - drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - drivers/gpu/drm/i915/intel_display.c | 1 - drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 1 - drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 2 - drivers/gpu/drm/nouveau/nv50_display.c | 1 - drivers/gpu/drm/omapdrm/omap_crtc.c | 1 - include/drm/drm_atomic_helper.h | 3 -- 9 files changed, 66 deletions(-) diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c index 4fbbeab5c5d4..d73281095fac 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c @@ -431,7 +431,6 @@ static const struct drm_crtc_funcs atmel_hlcdc_crtc_funcs = { .atomic_destroy_state = atmel_hlcdc_crtc_destroy_state, .enable_vblank = atmel_hlcdc_crtc_enable_vblank, .disable_vblank = atmel_hlcdc_crtc_disable_vblank, - .set_property = drm_atomic_helper_crtc_set_property, .gamma_set = drm_atomic_helper_legacy_gamma_set, }; diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 4a960c741e35..22245aa8b1aa 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, EXPORT_SYMBOL(drm_atomic_helper_resume); /** - * drm_atomic_helper_crtc_set_property - helper for crtc properties - * @crtc: DRM crtc - * @property: DRM property - * @val: value of property - * - * Provides a default crtc set_property handler using the atomic driver - * interface. - * - * RETURNS: - * Zero on success, error code on failure - */ -int -drm_atomic_helper_crtc_set_property(struct drm_crtc *crtc, - struct drm_property *property, - uint64_t val) -{ - struct drm_atomic_state *state; - struct drm_crtc_state *crtc_state; - int ret = 0; - - state = drm_atomic_state_alloc(crtc->dev); - if (!state) - return -ENOMEM; - - /* ->set_property is always called with all locks held. */ - state->acquire_ctx = crtc->dev->mode_config.acquire_ctx; -retry: - crtc_state = drm_atomic_get_crtc_state(state, crtc); - if (IS_ERR(crtc_state)) { - ret = PTR_ERR(crtc_state); - goto fail; - } - - ret = drm_atomic_crtc_set_property(crtc, crtc_state, - property, val); - if (ret) - goto fail; - - ret = drm_atomic_commit(state); -fail: - if (ret == -EDEADLK) - goto backoff; - - drm_atomic_state_put(state); - return ret; - -backoff: - drm_atomic_state_clear(state); - drm_atomic_legacy_backoff(state); - - goto retry; -} -EXPORT_SYMBOL(drm_atomic_helper_crtc_set_property); - -/** * drm_atomic_helper_plane_set_property - helper for plane properties * @plane: DRM plane * @property: DRM property diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c index 706efd0c4190..961551135a39 100644 --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c @@ -567,7 +567,6 @@ static const struct drm_crtc_funcs ade_crtc_funcs = { .set_config = drm_atomic_helper_set_config, .page_flip = drm_atomic_helper_page_flip, .reset = drm_atomic_helper_crtc_reset, - .set_property = drm_atomic_helper_crtc_set_property, .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, .enable_vblank = ade_crtc_enable_vblank, diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index f7b128c33aa1..b4d0c5298a53 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -12373,7 +12373,6 @@ static int intel_atomic_commit(struct drm_device *dev, static const struct drm_crtc_funcs intel_crtc_funcs = { .gamma_set = drm_atomic_helper_legacy_gamma_set, .set_config = drm_atomic_helper_set_config, - .set_property = drm_atomic_helper_crtc_set_property, .destroy = intel_crtc_destroy, .page_flip = drm_atomic_helper_page_flip, .atomic_duplicate_state = intel_crtc_duplicate_state, diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c index 3c7a9d343e05..47fa2aba1983 100644 --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c @@ -484,7 +484,6 @@ static const struct drm_crtc_funcs mdp4_crtc_funcs = { .set_config = drm_atomic_helper_set_config, .destroy = mdp4_crtc_destroy, .page_flip = drm_atomic_helper_page_flip, - .set_property = drm_atomic_helper_crtc_set_property, .cursor_set = mdp4_crtc_cursor_set, .cursor_move = mdp4_crtc_cursor_move, .reset = drm_atomic_helper_crtc_reset, diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c index 4322a502555a..5e3bc7224eee 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c @@ -919,7 +919,6 @@ static const struct drm_crtc_funcs mdp5_crtc_funcs = { .set_config = drm_atomic_helper_set_config, .destroy = mdp5_crtc_destroy, .page_flip = drm_atomic_helper_page_flip, - .set_property = drm_atomic_helper_crtc_set_property, .reset = mdp5_crtc_reset, .atomic_duplicate_state = mdp5_crtc_duplicate_state, .atomic_destroy_state = mdp5_crtc_destroy_state, @@ -932,7 +931,6 @@ static const struct drm_crtc_funcs mdp5_crtc_no_lm_cursor_funcs = { .set_config = drm_atomic_helper_set_config, .destroy = mdp5_crtc_destroy, .page_flip = drm_atomic_helper_page_flip, - .set_property = drm_atomic_helper_crtc_set_property, .reset = mdp5_crtc_reset, .atomic_duplicate_state = mdp5_crtc_duplicate_state, .atomic_destroy_state = mdp5_crtc_destroy_state, diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index 9d40b2a8be4d..aa6fc525c539 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c @@ -2325,7 +2325,6 @@ nv50_head_func = { .destroy = nv50_head_destroy, .set_config = drm_atomic_helper_set_config, .page_flip = drm_atomic_helper_page_flip, - .set_property = drm_atomic_helper_crtc_set_property, .atomic_duplicate_state = nv50_head_atomic_duplicate_state, .atomic_destroy_state = nv50_head_atomic_destroy_state, }; diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c index efa525442e7d..33ed24e9c599 100644 --- a/drivers/gpu/drm/omapdrm/omap_crtc.c +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c @@ -550,7 +550,6 @@ static const struct drm_crtc_funcs omap_crtc_funcs = { .destroy = omap_crtc_destroy, .page_flip = drm_atomic_helper_page_flip, .gamma_set = drm_atomic_helper_legacy_gamma_set, - .set_property = drm_atomic_helper_crtc_set_property, .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, .atomic_set_property = omap_crtc_atomic_set_property, diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h index d6ddf5bc5fdd..e5c835d94540 100644 --- a/include/drm/drm_atomic_helper.h +++ b/include/drm/drm_atomic_helper.h @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, int drm_atomic_helper_resume(struct drm_device *dev, struct drm_atomic_state *state); -int drm_atomic_helper_crtc_set_property(struct drm_crtc *crtc, - struct drm_property *property, - uint64_t val); int drm_atomic_helper_plane_set_property(struct drm_plane *plane, struct drm_property *property, uint64_t val); -- 2.13.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH 4/8] drm: Nuke drm_atomic_helper_crtc_set_property 2017-07-25 8:01 ` [PATCH 4/8] drm: Nuke drm_atomic_helper_crtc_set_property Daniel Vetter @ 2017-07-25 9:38 ` Archit Taneja 2017-07-25 10:05 ` Philippe CORNU 2017-08-03 13:34 ` Thomas Hellstrom 2 siblings, 0 replies; 84+ messages in thread From: Archit Taneja @ 2017-07-25 9:38 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: David Airlie, nouveau, DRI Development, Sushmita Susheelendra, Masahiro Yamada, Daniel Vetter, Boris Brezillon, Thomas Hellstrom, Laurent Pinchart, Alexey Brodkin, Tomi Valkeinen, Ben Skeggs, Eric Engestrom, Philippe Cornu, Philipp Zabel, Maxime Ripard, Shawn Guo On 07/25/2017 01:31 PM, Daniel Vetter wrote: > It's dead code because this is now handled in the core. Reviewed-by: Archit Taneja <architt@codeaurora.org> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Masahiro Yamada <yamada.masahiro@socionext.com> > Cc: Sushmita Susheelendra <ssusheel@codeaurora.org> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: intel-gfx@lists.freedesktop.org > Cc: nouveau@lists.freedesktop.org > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Thomas Hellstrom <thellstrom@vmware.com> > --- > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 1 - > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 1 - > drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 1 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_crtc.c | 1 - > include/drm/drm_atomic_helper.h | 3 -- > 9 files changed, 66 deletions(-) > > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > index 4fbbeab5c5d4..d73281095fac 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > @@ -431,7 +431,6 @@ static const struct drm_crtc_funcs atmel_hlcdc_crtc_funcs = { > .atomic_destroy_state = atmel_hlcdc_crtc_destroy_state, > .enable_vblank = atmel_hlcdc_crtc_enable_vblank, > .disable_vblank = atmel_hlcdc_crtc_disable_vblank, > - .set_property = drm_atomic_helper_crtc_set_property, > .gamma_set = drm_atomic_helper_legacy_gamma_set, > }; > > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 4a960c741e35..22245aa8b1aa 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_crtc_set_property - helper for crtc properties > - * @crtc: DRM crtc > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default crtc set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_crtc_set_property(struct drm_crtc *crtc, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_crtc_state *crtc_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(crtc->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = crtc->dev->mode_config.acquire_ctx; > -retry: > - crtc_state = drm_atomic_get_crtc_state(state, crtc); > - if (IS_ERR(crtc_state)) { > - ret = PTR_ERR(crtc_state); > - goto fail; > - } > - > - ret = drm_atomic_crtc_set_property(crtc, crtc_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_crtc_set_property); > - > -/** > * drm_atomic_helper_plane_set_property - helper for plane properties > * @plane: DRM plane > * @property: DRM property > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 706efd0c4190..961551135a39 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -567,7 +567,6 @@ static const struct drm_crtc_funcs ade_crtc_funcs = { > .set_config = drm_atomic_helper_set_config, > .page_flip = drm_atomic_helper_page_flip, > .reset = drm_atomic_helper_crtc_reset, > - .set_property = drm_atomic_helper_crtc_set_property, > .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, > .enable_vblank = ade_crtc_enable_vblank, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index f7b128c33aa1..b4d0c5298a53 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12373,7 +12373,6 @@ static int intel_atomic_commit(struct drm_device *dev, > static const struct drm_crtc_funcs intel_crtc_funcs = { > .gamma_set = drm_atomic_helper_legacy_gamma_set, > .set_config = drm_atomic_helper_set_config, > - .set_property = drm_atomic_helper_crtc_set_property, > .destroy = intel_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > .atomic_duplicate_state = intel_crtc_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c > index 3c7a9d343e05..47fa2aba1983 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c > +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c > @@ -484,7 +484,6 @@ static const struct drm_crtc_funcs mdp4_crtc_funcs = { > .set_config = drm_atomic_helper_set_config, > .destroy = mdp4_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .cursor_set = mdp4_crtc_cursor_set, > .cursor_move = mdp4_crtc_cursor_move, > .reset = drm_atomic_helper_crtc_reset, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c > index 4322a502555a..5e3bc7224eee 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c > @@ -919,7 +919,6 @@ static const struct drm_crtc_funcs mdp5_crtc_funcs = { > .set_config = drm_atomic_helper_set_config, > .destroy = mdp5_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .reset = mdp5_crtc_reset, > .atomic_duplicate_state = mdp5_crtc_duplicate_state, > .atomic_destroy_state = mdp5_crtc_destroy_state, > @@ -932,7 +931,6 @@ static const struct drm_crtc_funcs mdp5_crtc_no_lm_cursor_funcs = { > .set_config = drm_atomic_helper_set_config, > .destroy = mdp5_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .reset = mdp5_crtc_reset, > .atomic_duplicate_state = mdp5_crtc_duplicate_state, > .atomic_destroy_state = mdp5_crtc_destroy_state, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index 9d40b2a8be4d..aa6fc525c539 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -2325,7 +2325,6 @@ nv50_head_func = { > .destroy = nv50_head_destroy, > .set_config = drm_atomic_helper_set_config, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .atomic_duplicate_state = nv50_head_atomic_duplicate_state, > .atomic_destroy_state = nv50_head_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c > index efa525442e7d..33ed24e9c599 100644 > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c > @@ -550,7 +550,6 @@ static const struct drm_crtc_funcs omap_crtc_funcs = { > .destroy = omap_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > .gamma_set = drm_atomic_helper_legacy_gamma_set, > - .set_property = drm_atomic_helper_crtc_set_property, > .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, > .atomic_set_property = omap_crtc_atomic_set_property, > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index d6ddf5bc5fdd..e5c835d94540 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_crtc_set_property(struct drm_crtc *crtc, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > struct drm_property *property, > uint64_t val); > -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 4/8] drm: Nuke drm_atomic_helper_crtc_set_property 2017-07-25 8:01 ` [PATCH 4/8] drm: Nuke drm_atomic_helper_crtc_set_property Daniel Vetter 2017-07-25 9:38 ` Archit Taneja @ 2017-07-25 10:05 ` Philippe CORNU 2017-08-03 13:34 ` Thomas Hellstrom 2 siblings, 0 replies; 84+ messages in thread From: Philippe CORNU @ 2017-07-25 10:05 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: David Airlie, nouveau, DRI Development, Sushmita Susheelendra, Masahiro Yamada, Daniel Vetter, Boris Brezillon, Archit Taneja, Laurent Pinchart, Alexey Brodkin, Tomi Valkeinen, Ben Skeggs, Eric Engestrom, Thomas Hellstrom, Philipp Zabel, Maxime Ripard, Shawn Guo On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code because this is now handled in the core. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Philippe Cornu <philippe.cornu@st.com> Tested-by: Philippe Cornu <philippe.cornu@st.com> Many thanks Philippe :-) > Cc: Masahiro Yamada <yamada.masahiro@socionext.com> > Cc: Sushmita Susheelendra <ssusheel@codeaurora.org> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: intel-gfx@lists.freedesktop.org > Cc: nouveau@lists.freedesktop.org > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Thomas Hellstrom <thellstrom@vmware.com> > --- > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 1 - > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 1 - > drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 1 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_crtc.c | 1 - > include/drm/drm_atomic_helper.h | 3 -- > 9 files changed, 66 deletions(-) > > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > index 4fbbeab5c5d4..d73281095fac 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > @@ -431,7 +431,6 @@ static const struct drm_crtc_funcs atmel_hlcdc_crtc_funcs = { > .atomic_destroy_state = atmel_hlcdc_crtc_destroy_state, > .enable_vblank = atmel_hlcdc_crtc_enable_vblank, > .disable_vblank = atmel_hlcdc_crtc_disable_vblank, > - .set_property = drm_atomic_helper_crtc_set_property, > .gamma_set = drm_atomic_helper_legacy_gamma_set, > }; > > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 4a960c741e35..22245aa8b1aa 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_crtc_set_property - helper for crtc properties > - * @crtc: DRM crtc > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default crtc set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_crtc_set_property(struct drm_crtc *crtc, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_crtc_state *crtc_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(crtc->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = crtc->dev->mode_config.acquire_ctx; > -retry: > - crtc_state = drm_atomic_get_crtc_state(state, crtc); > - if (IS_ERR(crtc_state)) { > - ret = PTR_ERR(crtc_state); > - goto fail; > - } > - > - ret = drm_atomic_crtc_set_property(crtc, crtc_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_crtc_set_property); > - > -/** > * drm_atomic_helper_plane_set_property - helper for plane properties > * @plane: DRM plane > * @property: DRM property > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 706efd0c4190..961551135a39 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -567,7 +567,6 @@ static const struct drm_crtc_funcs ade_crtc_funcs = { > .set_config = drm_atomic_helper_set_config, > .page_flip = drm_atomic_helper_page_flip, > .reset = drm_atomic_helper_crtc_reset, > - .set_property = drm_atomic_helper_crtc_set_property, > .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, > .enable_vblank = ade_crtc_enable_vblank, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index f7b128c33aa1..b4d0c5298a53 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12373,7 +12373,6 @@ static int intel_atomic_commit(struct drm_device *dev, > static const struct drm_crtc_funcs intel_crtc_funcs = { > .gamma_set = drm_atomic_helper_legacy_gamma_set, > .set_config = drm_atomic_helper_set_config, > - .set_property = drm_atomic_helper_crtc_set_property, > .destroy = intel_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > .atomic_duplicate_state = intel_crtc_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c > index 3c7a9d343e05..47fa2aba1983 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c > +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c > @@ -484,7 +484,6 @@ static const struct drm_crtc_funcs mdp4_crtc_funcs = { > .set_config = drm_atomic_helper_set_config, > .destroy = mdp4_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .cursor_set = mdp4_crtc_cursor_set, > .cursor_move = mdp4_crtc_cursor_move, > .reset = drm_atomic_helper_crtc_reset, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c > index 4322a502555a..5e3bc7224eee 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c > @@ -919,7 +919,6 @@ static const struct drm_crtc_funcs mdp5_crtc_funcs = { > .set_config = drm_atomic_helper_set_config, > .destroy = mdp5_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .reset = mdp5_crtc_reset, > .atomic_duplicate_state = mdp5_crtc_duplicate_state, > .atomic_destroy_state = mdp5_crtc_destroy_state, > @@ -932,7 +931,6 @@ static const struct drm_crtc_funcs mdp5_crtc_no_lm_cursor_funcs = { > .set_config = drm_atomic_helper_set_config, > .destroy = mdp5_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .reset = mdp5_crtc_reset, > .atomic_duplicate_state = mdp5_crtc_duplicate_state, > .atomic_destroy_state = mdp5_crtc_destroy_state, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index 9d40b2a8be4d..aa6fc525c539 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -2325,7 +2325,6 @@ nv50_head_func = { > .destroy = nv50_head_destroy, > .set_config = drm_atomic_helper_set_config, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .atomic_duplicate_state = nv50_head_atomic_duplicate_state, > .atomic_destroy_state = nv50_head_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c > index efa525442e7d..33ed24e9c599 100644 > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c > @@ -550,7 +550,6 @@ static const struct drm_crtc_funcs omap_crtc_funcs = { > .destroy = omap_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > .gamma_set = drm_atomic_helper_legacy_gamma_set, > - .set_property = drm_atomic_helper_crtc_set_property, > .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, > .atomic_set_property = omap_crtc_atomic_set_property, > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index d6ddf5bc5fdd..e5c835d94540 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_crtc_set_property(struct drm_crtc *crtc, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > struct drm_property *property, > uint64_t val); > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 4/8] drm: Nuke drm_atomic_helper_crtc_set_property 2017-07-25 8:01 ` [PATCH 4/8] drm: Nuke drm_atomic_helper_crtc_set_property Daniel Vetter 2017-07-25 9:38 ` Archit Taneja 2017-07-25 10:05 ` Philippe CORNU @ 2017-08-03 13:34 ` Thomas Hellstrom 2 siblings, 0 replies; 84+ messages in thread From: Thomas Hellstrom @ 2017-08-03 13:34 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: nouveau, DRI Development, Sushmita Susheelendra, Masahiro Yamada, Daniel Vetter, Boris Brezillon, Laurent Pinchart, Alexey Brodkin, Tomi Valkeinen, linux-graphics-maintainer, Ben Skeggs, Eric Engestrom, Philippe Cornu, Maxime Ripard Acked-by: Thomas Hellstrom <thellstrom@vmware.com> On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code because this is now handled in the core. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Masahiro Yamada <yamada.masahiro@socionext.com> > Cc: Sushmita Susheelendra <ssusheel@codeaurora.org> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: intel-gfx@lists.freedesktop.org > Cc: nouveau@lists.freedesktop.org > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Thomas Hellstrom <thellstrom@vmware.com> > --- > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 1 - > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 1 - > drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 1 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_crtc.c | 1 - > include/drm/drm_atomic_helper.h | 3 -- > 9 files changed, 66 deletions(-) > > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > index 4fbbeab5c5d4..d73281095fac 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c > @@ -431,7 +431,6 @@ static const struct drm_crtc_funcs atmel_hlcdc_crtc_funcs = { > .atomic_destroy_state = atmel_hlcdc_crtc_destroy_state, > .enable_vblank = atmel_hlcdc_crtc_enable_vblank, > .disable_vblank = atmel_hlcdc_crtc_disable_vblank, > - .set_property = drm_atomic_helper_crtc_set_property, > .gamma_set = drm_atomic_helper_legacy_gamma_set, > }; > > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 4a960c741e35..22245aa8b1aa 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_crtc_set_property - helper for crtc properties > - * @crtc: DRM crtc > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default crtc set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_crtc_set_property(struct drm_crtc *crtc, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_crtc_state *crtc_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(crtc->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = crtc->dev->mode_config.acquire_ctx; > -retry: > - crtc_state = drm_atomic_get_crtc_state(state, crtc); > - if (IS_ERR(crtc_state)) { > - ret = PTR_ERR(crtc_state); > - goto fail; > - } > - > - ret = drm_atomic_crtc_set_property(crtc, crtc_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_crtc_set_property); > - > -/** > * drm_atomic_helper_plane_set_property - helper for plane properties > * @plane: DRM plane > * @property: DRM property > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 706efd0c4190..961551135a39 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -567,7 +567,6 @@ static const struct drm_crtc_funcs ade_crtc_funcs = { > .set_config = drm_atomic_helper_set_config, > .page_flip = drm_atomic_helper_page_flip, > .reset = drm_atomic_helper_crtc_reset, > - .set_property = drm_atomic_helper_crtc_set_property, > .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, > .enable_vblank = ade_crtc_enable_vblank, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index f7b128c33aa1..b4d0c5298a53 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12373,7 +12373,6 @@ static int intel_atomic_commit(struct drm_device *dev, > static const struct drm_crtc_funcs intel_crtc_funcs = { > .gamma_set = drm_atomic_helper_legacy_gamma_set, > .set_config = drm_atomic_helper_set_config, > - .set_property = drm_atomic_helper_crtc_set_property, > .destroy = intel_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > .atomic_duplicate_state = intel_crtc_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c > index 3c7a9d343e05..47fa2aba1983 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c > +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c > @@ -484,7 +484,6 @@ static const struct drm_crtc_funcs mdp4_crtc_funcs = { > .set_config = drm_atomic_helper_set_config, > .destroy = mdp4_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .cursor_set = mdp4_crtc_cursor_set, > .cursor_move = mdp4_crtc_cursor_move, > .reset = drm_atomic_helper_crtc_reset, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c > index 4322a502555a..5e3bc7224eee 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c > @@ -919,7 +919,6 @@ static const struct drm_crtc_funcs mdp5_crtc_funcs = { > .set_config = drm_atomic_helper_set_config, > .destroy = mdp5_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .reset = mdp5_crtc_reset, > .atomic_duplicate_state = mdp5_crtc_duplicate_state, > .atomic_destroy_state = mdp5_crtc_destroy_state, > @@ -932,7 +931,6 @@ static const struct drm_crtc_funcs mdp5_crtc_no_lm_cursor_funcs = { > .set_config = drm_atomic_helper_set_config, > .destroy = mdp5_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .reset = mdp5_crtc_reset, > .atomic_duplicate_state = mdp5_crtc_duplicate_state, > .atomic_destroy_state = mdp5_crtc_destroy_state, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index 9d40b2a8be4d..aa6fc525c539 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -2325,7 +2325,6 @@ nv50_head_func = { > .destroy = nv50_head_destroy, > .set_config = drm_atomic_helper_set_config, > .page_flip = drm_atomic_helper_page_flip, > - .set_property = drm_atomic_helper_crtc_set_property, > .atomic_duplicate_state = nv50_head_atomic_duplicate_state, > .atomic_destroy_state = nv50_head_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c > index efa525442e7d..33ed24e9c599 100644 > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c > @@ -550,7 +550,6 @@ static const struct drm_crtc_funcs omap_crtc_funcs = { > .destroy = omap_crtc_destroy, > .page_flip = drm_atomic_helper_page_flip, > .gamma_set = drm_atomic_helper_legacy_gamma_set, > - .set_property = drm_atomic_helper_crtc_set_property, > .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, > .atomic_set_property = omap_crtc_atomic_set_property, > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index d6ddf5bc5fdd..e5c835d94540 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_crtc_set_property(struct drm_crtc *crtc, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > struct drm_property *property, > uint64_t val); _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property 2017-07-25 8:01 [PATCH 0/8] acquire ctx for everyone! Daniel Vetter 2017-07-25 8:01 ` [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack Daniel Vetter @ 2017-07-25 8:01 ` Daniel Vetter 2017-07-25 8:01 ` [PATCH 3/8] drm: Handle properties in the core " Daniel Vetter ` (7 subsequent siblings) 9 siblings, 0 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: Intel Graphics Development Cc: DRI Development, Daniel Vetter, Daniel Vetter, Liviu Dudau, Brian Starkey, Mali DP Maintainers, Boris Brezillon, Jani Nikula, Sean Paul, David Airlie, Inki Dae, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park, Kukjin Kim, Krzysztof Kozlowski, Ben Skeggs, Tomi Valkeinen, Laurent Pinchart, Benjamin Gaignard, Vincent Abriou, Yannick Fertre, Philippe Cornu, Jyri Sarha, Ville Syrjälä, Rongrong Zou, Shawn Guo, Alexey Brodkin, Eric Engestrom, Chris Wilson, Rob Clark, Archit Taneja, linux-arm-kernel, linux-samsung-soc, nouveau, linux-renesas-soc, Thomas Hellstrom, Maxime Ripard It's dead code, the core handles all this directly now. This also allows us to unexport drm_atomic_helper_plane_set_property. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Liviu Dudau <liviu.dudau@arm.com> Cc: Brian Starkey <brian.starkey@arm.com> Cc: Mali DP Maintainers <malidp@foss.arm.com> Cc: Boris Brezillon <boris.brezillon@free-electrons.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: David Airlie <airlied@linux.ie> Cc: Inki Dae <inki.dae@samsung.com> Cc: Joonyoung Shim <jy0922.shim@samsung.com> Cc: Seung-Woo Kim <sw0312.kim@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Kukjin Kim <kgene@kernel.org> Cc: Krzysztof Kozlowski <krzk@kernel.org> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> Cc: Vincent Abriou <vincent.abriou@st.com> Cc: Yannick Fertre <yannick.fertre@st.com> Cc: Philippe Cornu <philippe.cornu@st.com> Cc: Jyri Sarha <jsarha@ti.com> Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> Cc: Rongrong Zou <zourongrong@gmail.com> Cc: Shawn Guo <shawn.guo@linaro.org> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: Eric Engestrom <eric@engestrom.ch> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Rob Clark <robdclark@gmail.com> Cc: Archit Taneja <architt@codeaurora.org> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: intel-gfx@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org Cc: linux-renesas-soc@vger.kernel.org Cc: Thomas Hellstrom <thellstrom@vmware.com> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> --- drivers/gpu/drm/arm/malidp_planes.c | 1 - drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - drivers/gpu/drm/drm_atomic.c | 3 +- drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - drivers/gpu/drm/i915/intel_display.c | 2 - drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - drivers/gpu/drm/nouveau/nv50_display.c | 1 - drivers/gpu/drm/omapdrm/omap_plane.c | 1 - drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - drivers/gpu/drm/sti/sti_cursor.c | 1 - drivers/gpu/drm/sti/sti_gdp.c | 1 - drivers/gpu/drm/sti/sti_hqvdp.c | 1 - drivers/gpu/drm/stm/ltdc.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - include/drm/drm_atomic.h | 3 -- include/drm/drm_atomic_helper.h | 3 -- 20 files changed, 1 insertion(+), 81 deletions(-) diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c index 600fa7bd7f52..0f0f8234fe21 100644 --- a/drivers/gpu/drm/arm/malidp_planes.c +++ b/drivers/gpu/drm/arm/malidp_planes.c @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, static const struct drm_plane_funcs malidp_de_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = malidp_de_plane_destroy, .reset = malidp_plane_reset, .atomic_duplicate_state = malidp_duplicate_plane_state, diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c index b5bd9b005225..9cd9e23e75c6 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, static struct drm_plane_funcs layer_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = atmel_hlcdc_plane_destroy, .reset = atmel_hlcdc_plane_reset, .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 0fd14aff7add..395438a7a576 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); * RETURNS: * Zero on success, error code on failure */ -int drm_atomic_plane_set_property(struct drm_plane *plane, +static int drm_atomic_plane_set_property(struct drm_plane *plane, struct drm_plane_state *state, struct drm_property *property, uint64_t val) { @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, return 0; } -EXPORT_SYMBOL(drm_atomic_plane_set_property); /** * drm_atomic_plane_get_property - get property value from plane state diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 22245aa8b1aa..0482e39a7889 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, EXPORT_SYMBOL(drm_atomic_helper_resume); /** - * drm_atomic_helper_plane_set_property - helper for plane properties - * @plane: DRM plane - * @property: DRM property - * @val: value of property - * - * Provides a default plane set_property handler using the atomic driver - * interface. - * - * RETURNS: - * Zero on success, error code on failure - */ -int -drm_atomic_helper_plane_set_property(struct drm_plane *plane, - struct drm_property *property, - uint64_t val) -{ - struct drm_atomic_state *state; - struct drm_plane_state *plane_state; - int ret = 0; - - state = drm_atomic_state_alloc(plane->dev); - if (!state) - return -ENOMEM; - - /* ->set_property is always called with all locks held. */ - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; -retry: - plane_state = drm_atomic_get_plane_state(state, plane); - if (IS_ERR(plane_state)) { - ret = PTR_ERR(plane_state); - goto fail; - } - - ret = drm_atomic_plane_set_property(plane, plane_state, - property, val); - if (ret) - goto fail; - - ret = drm_atomic_commit(state); -fail: - if (ret == -EDEADLK) - goto backoff; - - drm_atomic_state_put(state); - return ret; - -backoff: - drm_atomic_state_clear(state); - drm_atomic_legacy_backoff(state); - - goto retry; -} -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); - -/** * drm_atomic_helper_connector_set_property - helper for connector properties * @connector: DRM connector * @property: DRM property diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c index 611b6fd65433..5e686ee74900 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = drm_plane_cleanup, - .set_property = drm_atomic_helper_plane_set_property, .reset = exynos_drm_plane_reset, .atomic_duplicate_state = exynos_drm_plane_duplicate_state, .atomic_destroy_state = exynos_drm_plane_destroy_state, diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c index 54a4542a40f1..0bbd3c3480ee 100644 --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { static struct drm_plane_funcs hibmc_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c index 961551135a39..8df42fddd8f7 100644 --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { static struct drm_plane_funcs ade_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index b4d0c5298a53..e908982f6864 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = intel_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_get_property = intel_plane_atomic_get_property, .atomic_set_property = intel_plane_atomic_set_property, .atomic_duplicate_state = intel_plane_duplicate_state, @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { .update_plane = intel_legacy_cursor_update, .disable_plane = drm_atomic_helper_disable_plane, .destroy = intel_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_get_property = intel_plane_atomic_get_property, .atomic_set_property = intel_plane_atomic_set_property, .atomic_duplicate_state = intel_plane_duplicate_state, diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c index fe3a4de1a433..a60750b66b47 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = mdp5_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_set_property = mdp5_plane_atomic_set_property, .atomic_get_property = mdp5_plane_atomic_get_property, .reset = mdp5_plane_reset, @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { .update_plane = mdp5_update_cursor_plane_legacy, .disable_plane = drm_atomic_helper_disable_plane, .destroy = mdp5_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_set_property = mdp5_plane_atomic_set_property, .atomic_get_property = mdp5_plane_atomic_get_property, .reset = mdp5_plane_reset, diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index aa6fc525c539..e2029f05bf7b 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c @@ -1055,7 +1055,6 @@ nv50_wndw = { .disable_plane = drm_atomic_helper_disable_plane, .destroy = nv50_wndw_destroy, .reset = nv50_wndw_reset, - .set_property = drm_atomic_helper_plane_set_property, .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, .atomic_destroy_state = nv50_wndw_atomic_destroy_state, }; diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c index 2160f64548e0..c29b66a36907 100644 --- a/drivers/gpu/drm/omapdrm/omap_plane.c +++ b/drivers/gpu/drm/omapdrm/omap_plane.c @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { .disable_plane = drm_atomic_helper_disable_plane, .reset = omap_plane_reset, .destroy = omap_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, .atomic_set_property = omap_plane_atomic_set_property, diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c index dcde6288da6c..985ce332eb0a 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .reset = rcar_du_plane_reset, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c index f870445ebc8d..caa82f2f2567 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .reset = rcar_du_vsp_plane_reset, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c index 5b3a41f74f21..9baa5e62a8e5 100644 --- a/drivers/gpu/drm/sti/sti_cursor.c +++ b/drivers/gpu/drm/sti/sti_cursor.c @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = sti_cursor_destroy, - .set_property = drm_atomic_helper_plane_set_property, .reset = sti_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c index 5ee0503945c8..66c5224011d2 100644 --- a/drivers/gpu/drm/sti/sti_gdp.c +++ b/drivers/gpu/drm/sti/sti_gdp.c @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = sti_gdp_destroy, - .set_property = drm_atomic_helper_plane_set_property, .reset = sti_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c index 53a46dda8bd5..bec3ccfec3b5 100644 --- a/drivers/gpu/drm/sti/sti_hqvdp.c +++ b/drivers/gpu/drm/sti/sti_hqvdp.c @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = sti_hqvdp_destroy, - .set_property = drm_atomic_helper_plane_set_property, .reset = sti_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c index 04cc66d6b96f..76820bcbfed0 100644 --- a/drivers/gpu/drm/stm/ltdc.c +++ b/drivers/gpu/drm/stm/ltdc.c @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = drm_plane_cleanup, - .set_property = drm_atomic_helper_plane_set_property, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c index ba0d66c0d8ac..7667b038ae7f 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = drm_plane_cleanup, - .set_property = drm_atomic_helper_plane_set_property, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 7cd0f303f5a3..1f6a2c768e4b 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, struct drm_plane_state * __must_check drm_atomic_get_plane_state(struct drm_atomic_state *state, struct drm_plane *plane); -int drm_atomic_plane_set_property(struct drm_plane *plane, - struct drm_plane_state *state, struct drm_property *property, - uint64_t val); struct drm_connector_state * __must_check drm_atomic_get_connector_state(struct drm_atomic_state *state, struct drm_connector *connector); diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h index e5c835d94540..a62aeb816dd8 100644 --- a/include/drm/drm_atomic_helper.h +++ b/include/drm/drm_atomic_helper.h @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, int drm_atomic_helper_resume(struct drm_device *dev, struct drm_atomic_state *state); -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, - struct drm_property *property, - uint64_t val); int drm_atomic_helper_connector_set_property(struct drm_connector *connector, struct drm_property *property, uint64_t val); -- 2.13.3 ^ permalink raw reply related [flat|nested] 84+ messages in thread
* [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property @ 2017-07-25 8:01 ` Daniel Vetter 0 siblings, 0 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: linux-arm-kernel It's dead code, the core handles all this directly now. This also allows us to unexport drm_atomic_helper_plane_set_property. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Liviu Dudau <liviu.dudau@arm.com> Cc: Brian Starkey <brian.starkey@arm.com> Cc: Mali DP Maintainers <malidp@foss.arm.com> Cc: Boris Brezillon <boris.brezillon@free-electrons.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: David Airlie <airlied@linux.ie> Cc: Inki Dae <inki.dae@samsung.com> Cc: Joonyoung Shim <jy0922.shim@samsung.com> Cc: Seung-Woo Kim <sw0312.kim@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Kukjin Kim <kgene@kernel.org> Cc: Krzysztof Kozlowski <krzk@kernel.org> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> Cc: Vincent Abriou <vincent.abriou@st.com> Cc: Yannick Fertre <yannick.fertre@st.com> Cc: Philippe Cornu <philippe.cornu@st.com> Cc: Jyri Sarha <jsarha@ti.com> Cc: "Ville Syrj?l?" <ville.syrjala@linux.intel.com> Cc: Rongrong Zou <zourongrong@gmail.com> Cc: Shawn Guo <shawn.guo@linaro.org> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: Eric Engestrom <eric@engestrom.ch> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Rob Clark <robdclark@gmail.com> Cc: Archit Taneja <architt@codeaurora.org> Cc: linux-arm-kernel at lists.infradead.org Cc: linux-samsung-soc at vger.kernel.org Cc: intel-gfx at lists.freedesktop.org Cc: nouveau at lists.freedesktop.org Cc: linux-renesas-soc at vger.kernel.org Cc: Thomas Hellstrom <thellstrom@vmware.com> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> --- drivers/gpu/drm/arm/malidp_planes.c | 1 - drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - drivers/gpu/drm/drm_atomic.c | 3 +- drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - drivers/gpu/drm/i915/intel_display.c | 2 - drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - drivers/gpu/drm/nouveau/nv50_display.c | 1 - drivers/gpu/drm/omapdrm/omap_plane.c | 1 - drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - drivers/gpu/drm/sti/sti_cursor.c | 1 - drivers/gpu/drm/sti/sti_gdp.c | 1 - drivers/gpu/drm/sti/sti_hqvdp.c | 1 - drivers/gpu/drm/stm/ltdc.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - include/drm/drm_atomic.h | 3 -- include/drm/drm_atomic_helper.h | 3 -- 20 files changed, 1 insertion(+), 81 deletions(-) diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c index 600fa7bd7f52..0f0f8234fe21 100644 --- a/drivers/gpu/drm/arm/malidp_planes.c +++ b/drivers/gpu/drm/arm/malidp_planes.c @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, static const struct drm_plane_funcs malidp_de_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = malidp_de_plane_destroy, .reset = malidp_plane_reset, .atomic_duplicate_state = malidp_duplicate_plane_state, diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c index b5bd9b005225..9cd9e23e75c6 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, static struct drm_plane_funcs layer_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = atmel_hlcdc_plane_destroy, .reset = atmel_hlcdc_plane_reset, .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 0fd14aff7add..395438a7a576 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); * RETURNS: * Zero on success, error code on failure */ -int drm_atomic_plane_set_property(struct drm_plane *plane, +static int drm_atomic_plane_set_property(struct drm_plane *plane, struct drm_plane_state *state, struct drm_property *property, uint64_t val) { @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, return 0; } -EXPORT_SYMBOL(drm_atomic_plane_set_property); /** * drm_atomic_plane_get_property - get property value from plane state diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 22245aa8b1aa..0482e39a7889 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, EXPORT_SYMBOL(drm_atomic_helper_resume); /** - * drm_atomic_helper_plane_set_property - helper for plane properties - * @plane: DRM plane - * @property: DRM property - * @val: value of property - * - * Provides a default plane set_property handler using the atomic driver - * interface. - * - * RETURNS: - * Zero on success, error code on failure - */ -int -drm_atomic_helper_plane_set_property(struct drm_plane *plane, - struct drm_property *property, - uint64_t val) -{ - struct drm_atomic_state *state; - struct drm_plane_state *plane_state; - int ret = 0; - - state = drm_atomic_state_alloc(plane->dev); - if (!state) - return -ENOMEM; - - /* ->set_property is always called with all locks held. */ - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; -retry: - plane_state = drm_atomic_get_plane_state(state, plane); - if (IS_ERR(plane_state)) { - ret = PTR_ERR(plane_state); - goto fail; - } - - ret = drm_atomic_plane_set_property(plane, plane_state, - property, val); - if (ret) - goto fail; - - ret = drm_atomic_commit(state); -fail: - if (ret == -EDEADLK) - goto backoff; - - drm_atomic_state_put(state); - return ret; - -backoff: - drm_atomic_state_clear(state); - drm_atomic_legacy_backoff(state); - - goto retry; -} -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); - -/** * drm_atomic_helper_connector_set_property - helper for connector properties * @connector: DRM connector * @property: DRM property diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c index 611b6fd65433..5e686ee74900 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = drm_plane_cleanup, - .set_property = drm_atomic_helper_plane_set_property, .reset = exynos_drm_plane_reset, .atomic_duplicate_state = exynos_drm_plane_duplicate_state, .atomic_destroy_state = exynos_drm_plane_destroy_state, diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c index 54a4542a40f1..0bbd3c3480ee 100644 --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { static struct drm_plane_funcs hibmc_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c index 961551135a39..8df42fddd8f7 100644 --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { static struct drm_plane_funcs ade_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index b4d0c5298a53..e908982f6864 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = intel_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_get_property = intel_plane_atomic_get_property, .atomic_set_property = intel_plane_atomic_set_property, .atomic_duplicate_state = intel_plane_duplicate_state, @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { .update_plane = intel_legacy_cursor_update, .disable_plane = drm_atomic_helper_disable_plane, .destroy = intel_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_get_property = intel_plane_atomic_get_property, .atomic_set_property = intel_plane_atomic_set_property, .atomic_duplicate_state = intel_plane_duplicate_state, diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c index fe3a4de1a433..a60750b66b47 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = mdp5_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_set_property = mdp5_plane_atomic_set_property, .atomic_get_property = mdp5_plane_atomic_get_property, .reset = mdp5_plane_reset, @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { .update_plane = mdp5_update_cursor_plane_legacy, .disable_plane = drm_atomic_helper_disable_plane, .destroy = mdp5_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_set_property = mdp5_plane_atomic_set_property, .atomic_get_property = mdp5_plane_atomic_get_property, .reset = mdp5_plane_reset, diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index aa6fc525c539..e2029f05bf7b 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c @@ -1055,7 +1055,6 @@ nv50_wndw = { .disable_plane = drm_atomic_helper_disable_plane, .destroy = nv50_wndw_destroy, .reset = nv50_wndw_reset, - .set_property = drm_atomic_helper_plane_set_property, .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, .atomic_destroy_state = nv50_wndw_atomic_destroy_state, }; diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c index 2160f64548e0..c29b66a36907 100644 --- a/drivers/gpu/drm/omapdrm/omap_plane.c +++ b/drivers/gpu/drm/omapdrm/omap_plane.c @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { .disable_plane = drm_atomic_helper_disable_plane, .reset = omap_plane_reset, .destroy = omap_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, .atomic_set_property = omap_plane_atomic_set_property, diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c index dcde6288da6c..985ce332eb0a 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .reset = rcar_du_plane_reset, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c index f870445ebc8d..caa82f2f2567 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .reset = rcar_du_vsp_plane_reset, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c index 5b3a41f74f21..9baa5e62a8e5 100644 --- a/drivers/gpu/drm/sti/sti_cursor.c +++ b/drivers/gpu/drm/sti/sti_cursor.c @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = sti_cursor_destroy, - .set_property = drm_atomic_helper_plane_set_property, .reset = sti_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c index 5ee0503945c8..66c5224011d2 100644 --- a/drivers/gpu/drm/sti/sti_gdp.c +++ b/drivers/gpu/drm/sti/sti_gdp.c @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = sti_gdp_destroy, - .set_property = drm_atomic_helper_plane_set_property, .reset = sti_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c index 53a46dda8bd5..bec3ccfec3b5 100644 --- a/drivers/gpu/drm/sti/sti_hqvdp.c +++ b/drivers/gpu/drm/sti/sti_hqvdp.c @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = sti_hqvdp_destroy, - .set_property = drm_atomic_helper_plane_set_property, .reset = sti_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c index 04cc66d6b96f..76820bcbfed0 100644 --- a/drivers/gpu/drm/stm/ltdc.c +++ b/drivers/gpu/drm/stm/ltdc.c @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = drm_plane_cleanup, - .set_property = drm_atomic_helper_plane_set_property, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c index ba0d66c0d8ac..7667b038ae7f 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = drm_plane_cleanup, - .set_property = drm_atomic_helper_plane_set_property, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 7cd0f303f5a3..1f6a2c768e4b 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, struct drm_plane_state * __must_check drm_atomic_get_plane_state(struct drm_atomic_state *state, struct drm_plane *plane); -int drm_atomic_plane_set_property(struct drm_plane *plane, - struct drm_plane_state *state, struct drm_property *property, - uint64_t val); struct drm_connector_state * __must_check drm_atomic_get_connector_state(struct drm_atomic_state *state, struct drm_connector *connector); diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h index e5c835d94540..a62aeb816dd8 100644 --- a/include/drm/drm_atomic_helper.h +++ b/include/drm/drm_atomic_helper.h @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, int drm_atomic_helper_resume(struct drm_device *dev, struct drm_atomic_state *state); -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, - struct drm_property *property, - uint64_t val); int drm_atomic_helper_connector_set_property(struct drm_connector *connector, struct drm_property *property, uint64_t val); -- 2.13.3 ^ permalink raw reply related [flat|nested] 84+ messages in thread
* [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property @ 2017-07-25 8:01 ` Daniel Vetter 0 siblings, 0 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: Intel Graphics Development Cc: DRI Development, Daniel Vetter, Daniel Vetter, Liviu Dudau, Brian Starkey, Mali DP Maintainers, Boris Brezillon, Jani Nikula, Sean Paul, David Airlie, Inki Dae, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park, Kukjin Kim, Krzysztof Kozlowski, Ben Skeggs, Tomi Valkeinen, Laurent Pinchart It's dead code, the core handles all this directly now. This also allows us to unexport drm_atomic_helper_plane_set_property. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Liviu Dudau <liviu.dudau@arm.com> Cc: Brian Starkey <brian.starkey@arm.com> Cc: Mali DP Maintainers <malidp@foss.arm.com> Cc: Boris Brezillon <boris.brezillon@free-electrons.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: David Airlie <airlied@linux.ie> Cc: Inki Dae <inki.dae@samsung.com> Cc: Joonyoung Shim <jy0922.shim@samsung.com> Cc: Seung-Woo Kim <sw0312.kim@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Kukjin Kim <kgene@kernel.org> Cc: Krzysztof Kozlowski <krzk@kernel.org> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> Cc: Vincent Abriou <vincent.abriou@st.com> Cc: Yannick Fertre <yannick.fertre@st.com> Cc: Philippe Cornu <philippe.cornu@st.com> Cc: Jyri Sarha <jsarha@ti.com> Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> Cc: Rongrong Zou <zourongrong@gmail.com> Cc: Shawn Guo <shawn.guo@linaro.org> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: Eric Engestrom <eric@engestrom.ch> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Rob Clark <robdclark@gmail.com> Cc: Archit Taneja <architt@codeaurora.org> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: intel-gfx@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org Cc: linux-renesas-soc@vger.kernel.org Cc: Thomas Hellstrom <thellstrom@vmware.com> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> --- drivers/gpu/drm/arm/malidp_planes.c | 1 - drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - drivers/gpu/drm/drm_atomic.c | 3 +- drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - drivers/gpu/drm/i915/intel_display.c | 2 - drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - drivers/gpu/drm/nouveau/nv50_display.c | 1 - drivers/gpu/drm/omapdrm/omap_plane.c | 1 - drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - drivers/gpu/drm/sti/sti_cursor.c | 1 - drivers/gpu/drm/sti/sti_gdp.c | 1 - drivers/gpu/drm/sti/sti_hqvdp.c | 1 - drivers/gpu/drm/stm/ltdc.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - include/drm/drm_atomic.h | 3 -- include/drm/drm_atomic_helper.h | 3 -- 20 files changed, 1 insertion(+), 81 deletions(-) diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c index 600fa7bd7f52..0f0f8234fe21 100644 --- a/drivers/gpu/drm/arm/malidp_planes.c +++ b/drivers/gpu/drm/arm/malidp_planes.c @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, static const struct drm_plane_funcs malidp_de_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = malidp_de_plane_destroy, .reset = malidp_plane_reset, .atomic_duplicate_state = malidp_duplicate_plane_state, diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c index b5bd9b005225..9cd9e23e75c6 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, static struct drm_plane_funcs layer_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = atmel_hlcdc_plane_destroy, .reset = atmel_hlcdc_plane_reset, .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 0fd14aff7add..395438a7a576 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); * RETURNS: * Zero on success, error code on failure */ -int drm_atomic_plane_set_property(struct drm_plane *plane, +static int drm_atomic_plane_set_property(struct drm_plane *plane, struct drm_plane_state *state, struct drm_property *property, uint64_t val) { @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, return 0; } -EXPORT_SYMBOL(drm_atomic_plane_set_property); /** * drm_atomic_plane_get_property - get property value from plane state diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 22245aa8b1aa..0482e39a7889 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, EXPORT_SYMBOL(drm_atomic_helper_resume); /** - * drm_atomic_helper_plane_set_property - helper for plane properties - * @plane: DRM plane - * @property: DRM property - * @val: value of property - * - * Provides a default plane set_property handler using the atomic driver - * interface. - * - * RETURNS: - * Zero on success, error code on failure - */ -int -drm_atomic_helper_plane_set_property(struct drm_plane *plane, - struct drm_property *property, - uint64_t val) -{ - struct drm_atomic_state *state; - struct drm_plane_state *plane_state; - int ret = 0; - - state = drm_atomic_state_alloc(plane->dev); - if (!state) - return -ENOMEM; - - /* ->set_property is always called with all locks held. */ - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; -retry: - plane_state = drm_atomic_get_plane_state(state, plane); - if (IS_ERR(plane_state)) { - ret = PTR_ERR(plane_state); - goto fail; - } - - ret = drm_atomic_plane_set_property(plane, plane_state, - property, val); - if (ret) - goto fail; - - ret = drm_atomic_commit(state); -fail: - if (ret == -EDEADLK) - goto backoff; - - drm_atomic_state_put(state); - return ret; - -backoff: - drm_atomic_state_clear(state); - drm_atomic_legacy_backoff(state); - - goto retry; -} -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); - -/** * drm_atomic_helper_connector_set_property - helper for connector properties * @connector: DRM connector * @property: DRM property diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c index 611b6fd65433..5e686ee74900 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = drm_plane_cleanup, - .set_property = drm_atomic_helper_plane_set_property, .reset = exynos_drm_plane_reset, .atomic_duplicate_state = exynos_drm_plane_duplicate_state, .atomic_destroy_state = exynos_drm_plane_destroy_state, diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c index 54a4542a40f1..0bbd3c3480ee 100644 --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { static struct drm_plane_funcs hibmc_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c index 961551135a39..8df42fddd8f7 100644 --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { static struct drm_plane_funcs ade_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index b4d0c5298a53..e908982f6864 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = intel_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_get_property = intel_plane_atomic_get_property, .atomic_set_property = intel_plane_atomic_set_property, .atomic_duplicate_state = intel_plane_duplicate_state, @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { .update_plane = intel_legacy_cursor_update, .disable_plane = drm_atomic_helper_disable_plane, .destroy = intel_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_get_property = intel_plane_atomic_get_property, .atomic_set_property = intel_plane_atomic_set_property, .atomic_duplicate_state = intel_plane_duplicate_state, diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c index fe3a4de1a433..a60750b66b47 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = mdp5_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_set_property = mdp5_plane_atomic_set_property, .atomic_get_property = mdp5_plane_atomic_get_property, .reset = mdp5_plane_reset, @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { .update_plane = mdp5_update_cursor_plane_legacy, .disable_plane = drm_atomic_helper_disable_plane, .destroy = mdp5_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_set_property = mdp5_plane_atomic_set_property, .atomic_get_property = mdp5_plane_atomic_get_property, .reset = mdp5_plane_reset, diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index aa6fc525c539..e2029f05bf7b 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c @@ -1055,7 +1055,6 @@ nv50_wndw = { .disable_plane = drm_atomic_helper_disable_plane, .destroy = nv50_wndw_destroy, .reset = nv50_wndw_reset, - .set_property = drm_atomic_helper_plane_set_property, .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, .atomic_destroy_state = nv50_wndw_atomic_destroy_state, }; diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c index 2160f64548e0..c29b66a36907 100644 --- a/drivers/gpu/drm/omapdrm/omap_plane.c +++ b/drivers/gpu/drm/omapdrm/omap_plane.c @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { .disable_plane = drm_atomic_helper_disable_plane, .reset = omap_plane_reset, .destroy = omap_plane_destroy, - .set_property = drm_atomic_helper_plane_set_property, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, .atomic_set_property = omap_plane_atomic_set_property, diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c index dcde6288da6c..985ce332eb0a 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .reset = rcar_du_plane_reset, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c index f870445ebc8d..caa82f2f2567 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .reset = rcar_du_vsp_plane_reset, - .set_property = drm_atomic_helper_plane_set_property, .destroy = drm_plane_cleanup, .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c index 5b3a41f74f21..9baa5e62a8e5 100644 --- a/drivers/gpu/drm/sti/sti_cursor.c +++ b/drivers/gpu/drm/sti/sti_cursor.c @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = sti_cursor_destroy, - .set_property = drm_atomic_helper_plane_set_property, .reset = sti_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c index 5ee0503945c8..66c5224011d2 100644 --- a/drivers/gpu/drm/sti/sti_gdp.c +++ b/drivers/gpu/drm/sti/sti_gdp.c @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = sti_gdp_destroy, - .set_property = drm_atomic_helper_plane_set_property, .reset = sti_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c index 53a46dda8bd5..bec3ccfec3b5 100644 --- a/drivers/gpu/drm/sti/sti_hqvdp.c +++ b/drivers/gpu/drm/sti/sti_hqvdp.c @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = sti_hqvdp_destroy, - .set_property = drm_atomic_helper_plane_set_property, .reset = sti_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c index 04cc66d6b96f..76820bcbfed0 100644 --- a/drivers/gpu/drm/stm/ltdc.c +++ b/drivers/gpu/drm/stm/ltdc.c @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = drm_plane_cleanup, - .set_property = drm_atomic_helper_plane_set_property, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c index ba0d66c0d8ac..7667b038ae7f 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy = drm_plane_cleanup, - .set_property = drm_atomic_helper_plane_set_property, .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 7cd0f303f5a3..1f6a2c768e4b 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, struct drm_plane_state * __must_check drm_atomic_get_plane_state(struct drm_atomic_state *state, struct drm_plane *plane); -int drm_atomic_plane_set_property(struct drm_plane *plane, - struct drm_plane_state *state, struct drm_property *property, - uint64_t val); struct drm_connector_state * __must_check drm_atomic_get_connector_state(struct drm_atomic_state *state, struct drm_connector *connector); diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h index e5c835d94540..a62aeb816dd8 100644 --- a/include/drm/drm_atomic_helper.h +++ b/include/drm/drm_atomic_helper.h @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, int drm_atomic_helper_resume(struct drm_device *dev, struct drm_atomic_state *state); -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, - struct drm_property *property, - uint64_t val); int drm_atomic_helper_connector_set_property(struct drm_connector *connector, struct drm_property *property, uint64_t val); -- 2.13.3 ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property 2017-07-25 8:01 ` Daniel Vetter (?) @ 2017-07-25 9:38 ` Archit Taneja -1 siblings, 0 replies; 84+ messages in thread From: Archit Taneja @ 2017-07-25 9:38 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: David Airlie, Liviu Dudau, DRI Development, Chris Wilson, Laurent Pinchart, Benjamin Gaignard, Daniel Vetter, Ville Syrjälä, Boris Brezillon, linux-samsung-soc, Joonyoung Shim, Alexey Brodkin, Rob Clark, Krzysztof Kozlowski, Tomi Valkeinen, Mali DP Maintainers, Ben Skeggs, nouveau, Thomas Hellstrom, Eric Engestrom, linux-renesas-soc, Jani Nikula, Inki Dae, Sean Paul, Jyri Sarha, Vincent Abriou, linux-arm-kernel, Seung-Woo Kim, Philippe Cornu, Yannick Fertre, Kyungmin Park, Kukjin Kim, Rongrong Zou, Maxime Ripard, Shawn Guo, Brian Starkey On 07/25/2017 01:31 PM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > Reviewed-by: Archit Taneja <architt@codeaurora.org> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Brian Starkey <brian.starkey@arm.com> > Cc: Mali DP Maintainers <malidp@foss.arm.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: nouveau@lists.freedesktop.org > Cc: linux-renesas-soc@vger.kernel.org > Cc: Thomas Hellstrom <thellstrom@vmware.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > drivers/gpu/drm/arm/malidp_planes.c | 1 - > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - > drivers/gpu/drm/drm_atomic.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 2 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - > drivers/gpu/drm/stm/ltdc.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - > include/drm/drm_atomic.h | 3 -- > include/drm/drm_atomic_helper.h | 3 -- > 20 files changed, 1 insertion(+), 81 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c > index 600fa7bd7f52..0f0f8234fe21 100644 > --- a/drivers/gpu/drm/arm/malidp_planes.c > +++ b/drivers/gpu/drm/arm/malidp_planes.c > @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, > static const struct drm_plane_funcs malidp_de_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = malidp_de_plane_destroy, > .reset = malidp_plane_reset, > .atomic_duplicate_state = malidp_duplicate_plane_state, > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > index b5bd9b005225..9cd9e23e75c6 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, > static struct drm_plane_funcs layer_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = atmel_hlcdc_plane_destroy, > .reset = atmel_hlcdc_plane_reset, > .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 0fd14aff7add..395438a7a576 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); > * RETURNS: > * Zero on success, error code on failure > */ > -int drm_atomic_plane_set_property(struct drm_plane *plane, > +static int drm_atomic_plane_set_property(struct drm_plane *plane, > struct drm_plane_state *state, struct drm_property *property, > uint64_t val) > { > @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, > > return 0; > } > -EXPORT_SYMBOL(drm_atomic_plane_set_property); > > /** > * drm_atomic_plane_get_property - get property value from plane state > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 22245aa8b1aa..0482e39a7889 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_plane_set_property - helper for plane properties > - * @plane: DRM plane > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default plane set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_plane_state *plane_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(plane->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; > -retry: > - plane_state = drm_atomic_get_plane_state(state, plane); > - if (IS_ERR(plane_state)) { > - ret = PTR_ERR(plane_state); > - goto fail; > - } > - > - ret = drm_atomic_plane_set_property(plane, plane_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); > - > -/** > * drm_atomic_helper_connector_set_property - helper for connector properties > * @connector: DRM connector > * @property: DRM property > diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c > index 611b6fd65433..5e686ee74900 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c > @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = exynos_drm_plane_reset, > .atomic_duplicate_state = exynos_drm_plane_duplicate_state, > .atomic_destroy_state = exynos_drm_plane_destroy_state, > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > index 54a4542a40f1..0bbd3c3480ee 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { > static struct drm_plane_funcs hibmc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 961551135a39..8df42fddd8f7 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { > static struct drm_plane_funcs ade_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b4d0c5298a53..e908982f6864 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { > .update_plane = intel_legacy_cursor_update, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > index fe3a4de1a433..a60750b66b47 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { > .update_plane = mdp5_update_cursor_plane_legacy, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index aa6fc525c539..e2029f05bf7b 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -1055,7 +1055,6 @@ nv50_wndw = { > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = nv50_wndw_destroy, > .reset = nv50_wndw_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, > .atomic_destroy_state = nv50_wndw_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c > index 2160f64548e0..c29b66a36907 100644 > --- a/drivers/gpu/drm/omapdrm/omap_plane.c > +++ b/drivers/gpu/drm/omapdrm/omap_plane.c > @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { > .disable_plane = drm_atomic_helper_disable_plane, > .reset = omap_plane_reset, > .destroy = omap_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > .atomic_set_property = omap_plane_atomic_set_property, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > index dcde6288da6c..985ce332eb0a 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > index f870445ebc8d..caa82f2f2567 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_vsp_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c > index 5b3a41f74f21..9baa5e62a8e5 100644 > --- a/drivers/gpu/drm/sti/sti_cursor.c > +++ b/drivers/gpu/drm/sti/sti_cursor.c > @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_cursor_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c > index 5ee0503945c8..66c5224011d2 100644 > --- a/drivers/gpu/drm/sti/sti_gdp.c > +++ b/drivers/gpu/drm/sti/sti_gdp.c > @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_gdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c > index 53a46dda8bd5..bec3ccfec3b5 100644 > --- a/drivers/gpu/drm/sti/sti_hqvdp.c > +++ b/drivers/gpu/drm/sti/sti_hqvdp.c > @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_hqvdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c > index 04cc66d6b96f..76820bcbfed0 100644 > --- a/drivers/gpu/drm/stm/ltdc.c > +++ b/drivers/gpu/drm/stm/ltdc.c > @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > index ba0d66c0d8ac..7667b038ae7f 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 7cd0f303f5a3..1f6a2c768e4b 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, > struct drm_plane_state * __must_check > drm_atomic_get_plane_state(struct drm_atomic_state *state, > struct drm_plane *plane); > -int drm_atomic_plane_set_property(struct drm_plane *plane, > - struct drm_plane_state *state, struct drm_property *property, > - uint64_t val); > struct drm_connector_state * __must_check > drm_atomic_get_connector_state(struct drm_atomic_state *state, > struct drm_connector *connector); > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index e5c835d94540..a62aeb816dd8 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_connector_set_property(struct drm_connector *connector, > struct drm_property *property, > uint64_t val); > -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property @ 2017-07-25 9:38 ` Archit Taneja 0 siblings, 0 replies; 84+ messages in thread From: Archit Taneja @ 2017-07-25 9:38 UTC (permalink / raw) To: linux-arm-kernel On 07/25/2017 01:31 PM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > Reviewed-by: Archit Taneja <architt@codeaurora.org> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Brian Starkey <brian.starkey@arm.com> > Cc: Mali DP Maintainers <malidp@foss.arm.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: "Ville Syrj?l?" <ville.syrjala@linux.intel.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: linux-arm-kernel at lists.infradead.org > Cc: linux-samsung-soc at vger.kernel.org > Cc: intel-gfx at lists.freedesktop.org > Cc: nouveau at lists.freedesktop.org > Cc: linux-renesas-soc at vger.kernel.org > Cc: Thomas Hellstrom <thellstrom@vmware.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > drivers/gpu/drm/arm/malidp_planes.c | 1 - > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - > drivers/gpu/drm/drm_atomic.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 2 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - > drivers/gpu/drm/stm/ltdc.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - > include/drm/drm_atomic.h | 3 -- > include/drm/drm_atomic_helper.h | 3 -- > 20 files changed, 1 insertion(+), 81 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c > index 600fa7bd7f52..0f0f8234fe21 100644 > --- a/drivers/gpu/drm/arm/malidp_planes.c > +++ b/drivers/gpu/drm/arm/malidp_planes.c > @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, > static const struct drm_plane_funcs malidp_de_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = malidp_de_plane_destroy, > .reset = malidp_plane_reset, > .atomic_duplicate_state = malidp_duplicate_plane_state, > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > index b5bd9b005225..9cd9e23e75c6 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, > static struct drm_plane_funcs layer_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = atmel_hlcdc_plane_destroy, > .reset = atmel_hlcdc_plane_reset, > .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 0fd14aff7add..395438a7a576 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); > * RETURNS: > * Zero on success, error code on failure > */ > -int drm_atomic_plane_set_property(struct drm_plane *plane, > +static int drm_atomic_plane_set_property(struct drm_plane *plane, > struct drm_plane_state *state, struct drm_property *property, > uint64_t val) > { > @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, > > return 0; > } > -EXPORT_SYMBOL(drm_atomic_plane_set_property); > > /** > * drm_atomic_plane_get_property - get property value from plane state > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 22245aa8b1aa..0482e39a7889 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_plane_set_property - helper for plane properties > - * @plane: DRM plane > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default plane set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_plane_state *plane_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(plane->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; > -retry: > - plane_state = drm_atomic_get_plane_state(state, plane); > - if (IS_ERR(plane_state)) { > - ret = PTR_ERR(plane_state); > - goto fail; > - } > - > - ret = drm_atomic_plane_set_property(plane, plane_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); > - > -/** > * drm_atomic_helper_connector_set_property - helper for connector properties > * @connector: DRM connector > * @property: DRM property > diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c > index 611b6fd65433..5e686ee74900 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c > @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = exynos_drm_plane_reset, > .atomic_duplicate_state = exynos_drm_plane_duplicate_state, > .atomic_destroy_state = exynos_drm_plane_destroy_state, > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > index 54a4542a40f1..0bbd3c3480ee 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { > static struct drm_plane_funcs hibmc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 961551135a39..8df42fddd8f7 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { > static struct drm_plane_funcs ade_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b4d0c5298a53..e908982f6864 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { > .update_plane = intel_legacy_cursor_update, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > index fe3a4de1a433..a60750b66b47 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { > .update_plane = mdp5_update_cursor_plane_legacy, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index aa6fc525c539..e2029f05bf7b 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -1055,7 +1055,6 @@ nv50_wndw = { > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = nv50_wndw_destroy, > .reset = nv50_wndw_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, > .atomic_destroy_state = nv50_wndw_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c > index 2160f64548e0..c29b66a36907 100644 > --- a/drivers/gpu/drm/omapdrm/omap_plane.c > +++ b/drivers/gpu/drm/omapdrm/omap_plane.c > @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { > .disable_plane = drm_atomic_helper_disable_plane, > .reset = omap_plane_reset, > .destroy = omap_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > .atomic_set_property = omap_plane_atomic_set_property, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > index dcde6288da6c..985ce332eb0a 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > index f870445ebc8d..caa82f2f2567 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_vsp_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c > index 5b3a41f74f21..9baa5e62a8e5 100644 > --- a/drivers/gpu/drm/sti/sti_cursor.c > +++ b/drivers/gpu/drm/sti/sti_cursor.c > @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_cursor_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c > index 5ee0503945c8..66c5224011d2 100644 > --- a/drivers/gpu/drm/sti/sti_gdp.c > +++ b/drivers/gpu/drm/sti/sti_gdp.c > @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_gdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c > index 53a46dda8bd5..bec3ccfec3b5 100644 > --- a/drivers/gpu/drm/sti/sti_hqvdp.c > +++ b/drivers/gpu/drm/sti/sti_hqvdp.c > @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_hqvdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c > index 04cc66d6b96f..76820bcbfed0 100644 > --- a/drivers/gpu/drm/stm/ltdc.c > +++ b/drivers/gpu/drm/stm/ltdc.c > @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > index ba0d66c0d8ac..7667b038ae7f 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 7cd0f303f5a3..1f6a2c768e4b 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, > struct drm_plane_state * __must_check > drm_atomic_get_plane_state(struct drm_atomic_state *state, > struct drm_plane *plane); > -int drm_atomic_plane_set_property(struct drm_plane *plane, > - struct drm_plane_state *state, struct drm_property *property, > - uint64_t val); > struct drm_connector_state * __must_check > drm_atomic_get_connector_state(struct drm_atomic_state *state, > struct drm_connector *connector); > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index e5c835d94540..a62aeb816dd8 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_connector_set_property(struct drm_connector *connector, > struct drm_property *property, > uint64_t val); > -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property @ 2017-07-25 9:38 ` Archit Taneja 0 siblings, 0 replies; 84+ messages in thread From: Archit Taneja @ 2017-07-25 9:38 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: David Airlie, Liviu Dudau, DRI Development, Chris Wilson, Laurent Pinchart, Benjamin Gaignard, Daniel Vetter, Ville Syrjälä, Boris Brezillon, linux-samsung-soc, Joonyoung Shim, Alexey Brodkin, Rob Clark, Krzysztof Kozlowski, Tomi Valkeinen, Mali DP Maintainers, Ben Skeggs, nouveau On 07/25/2017 01:31 PM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > Reviewed-by: Archit Taneja <architt@codeaurora.org> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Brian Starkey <brian.starkey@arm.com> > Cc: Mali DP Maintainers <malidp@foss.arm.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: nouveau@lists.freedesktop.org > Cc: linux-renesas-soc@vger.kernel.org > Cc: Thomas Hellstrom <thellstrom@vmware.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > drivers/gpu/drm/arm/malidp_planes.c | 1 - > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - > drivers/gpu/drm/drm_atomic.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 2 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - > drivers/gpu/drm/stm/ltdc.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - > include/drm/drm_atomic.h | 3 -- > include/drm/drm_atomic_helper.h | 3 -- > 20 files changed, 1 insertion(+), 81 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c > index 600fa7bd7f52..0f0f8234fe21 100644 > --- a/drivers/gpu/drm/arm/malidp_planes.c > +++ b/drivers/gpu/drm/arm/malidp_planes.c > @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, > static const struct drm_plane_funcs malidp_de_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = malidp_de_plane_destroy, > .reset = malidp_plane_reset, > .atomic_duplicate_state = malidp_duplicate_plane_state, > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > index b5bd9b005225..9cd9e23e75c6 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, > static struct drm_plane_funcs layer_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = atmel_hlcdc_plane_destroy, > .reset = atmel_hlcdc_plane_reset, > .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 0fd14aff7add..395438a7a576 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); > * RETURNS: > * Zero on success, error code on failure > */ > -int drm_atomic_plane_set_property(struct drm_plane *plane, > +static int drm_atomic_plane_set_property(struct drm_plane *plane, > struct drm_plane_state *state, struct drm_property *property, > uint64_t val) > { > @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, > > return 0; > } > -EXPORT_SYMBOL(drm_atomic_plane_set_property); > > /** > * drm_atomic_plane_get_property - get property value from plane state > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 22245aa8b1aa..0482e39a7889 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_plane_set_property - helper for plane properties > - * @plane: DRM plane > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default plane set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_plane_state *plane_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(plane->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; > -retry: > - plane_state = drm_atomic_get_plane_state(state, plane); > - if (IS_ERR(plane_state)) { > - ret = PTR_ERR(plane_state); > - goto fail; > - } > - > - ret = drm_atomic_plane_set_property(plane, plane_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); > - > -/** > * drm_atomic_helper_connector_set_property - helper for connector properties > * @connector: DRM connector > * @property: DRM property > diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c > index 611b6fd65433..5e686ee74900 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c > @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = exynos_drm_plane_reset, > .atomic_duplicate_state = exynos_drm_plane_duplicate_state, > .atomic_destroy_state = exynos_drm_plane_destroy_state, > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > index 54a4542a40f1..0bbd3c3480ee 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { > static struct drm_plane_funcs hibmc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 961551135a39..8df42fddd8f7 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { > static struct drm_plane_funcs ade_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b4d0c5298a53..e908982f6864 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { > .update_plane = intel_legacy_cursor_update, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > index fe3a4de1a433..a60750b66b47 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { > .update_plane = mdp5_update_cursor_plane_legacy, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index aa6fc525c539..e2029f05bf7b 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -1055,7 +1055,6 @@ nv50_wndw = { > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = nv50_wndw_destroy, > .reset = nv50_wndw_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, > .atomic_destroy_state = nv50_wndw_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c > index 2160f64548e0..c29b66a36907 100644 > --- a/drivers/gpu/drm/omapdrm/omap_plane.c > +++ b/drivers/gpu/drm/omapdrm/omap_plane.c > @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { > .disable_plane = drm_atomic_helper_disable_plane, > .reset = omap_plane_reset, > .destroy = omap_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > .atomic_set_property = omap_plane_atomic_set_property, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > index dcde6288da6c..985ce332eb0a 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > index f870445ebc8d..caa82f2f2567 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_vsp_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c > index 5b3a41f74f21..9baa5e62a8e5 100644 > --- a/drivers/gpu/drm/sti/sti_cursor.c > +++ b/drivers/gpu/drm/sti/sti_cursor.c > @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_cursor_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c > index 5ee0503945c8..66c5224011d2 100644 > --- a/drivers/gpu/drm/sti/sti_gdp.c > +++ b/drivers/gpu/drm/sti/sti_gdp.c > @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_gdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c > index 53a46dda8bd5..bec3ccfec3b5 100644 > --- a/drivers/gpu/drm/sti/sti_hqvdp.c > +++ b/drivers/gpu/drm/sti/sti_hqvdp.c > @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_hqvdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c > index 04cc66d6b96f..76820bcbfed0 100644 > --- a/drivers/gpu/drm/stm/ltdc.c > +++ b/drivers/gpu/drm/stm/ltdc.c > @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > index ba0d66c0d8ac..7667b038ae7f 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 7cd0f303f5a3..1f6a2c768e4b 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, > struct drm_plane_state * __must_check > drm_atomic_get_plane_state(struct drm_atomic_state *state, > struct drm_plane *plane); > -int drm_atomic_plane_set_property(struct drm_plane *plane, > - struct drm_plane_state *state, struct drm_property *property, > - uint64_t val); > struct drm_connector_state * __must_check > drm_atomic_get_connector_state(struct drm_atomic_state *state, > struct drm_connector *connector); > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index e5c835d94540..a62aeb816dd8 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_connector_set_property(struct drm_connector *connector, > struct drm_property *property, > uint64_t val); > -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property 2017-07-25 8:01 ` Daniel Vetter (?) @ 2017-07-25 10:06 ` Philippe CORNU -1 siblings, 0 replies; 84+ messages in thread From: Philippe CORNU @ 2017-07-25 10:06 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: DRI Development, Daniel Vetter, Liviu Dudau, Brian Starkey, Mali DP Maintainers, Boris Brezillon, Jani Nikula, Sean Paul, David Airlie, Inki Dae, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park, Kukjin Kim, Krzysztof Kozlowski, Ben Skeggs, Tomi Valkeinen, Laurent Pinchart, Benjamin Gaignard, Vincent ABRIOU, Yannick FERTRE, Jyri Sarha, Ville Syrjälä, Rongrong Zou, Shawn Guo, Alexey Brodkin, Eric Engestrom, Chris Wilson, Rob Clark, Archit Taneja, linux-arm-kernel, linux-samsung-soc, nouveau, linux-renesas-soc, Thomas Hellstrom, Maxime Ripard On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Brian Starkey <brian.starkey@arm.com> > Cc: Mali DP Maintainers <malidp@foss.arm.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> for stm, Acked-by: Philippe Cornu <philippe.cornu@st.com> Tested-by: Philippe Cornu <philippe.cornu@st.com> Many thanks Philippe :-) > Cc: Jyri Sarha <jsarha@ti.com> > Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: nouveau@lists.freedesktop.org > Cc: linux-renesas-soc@vger.kernel.org > Cc: Thomas Hellstrom <thellstrom@vmware.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > drivers/gpu/drm/arm/malidp_planes.c | 1 - > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - > drivers/gpu/drm/drm_atomic.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 2 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - > drivers/gpu/drm/stm/ltdc.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - > include/drm/drm_atomic.h | 3 -- > include/drm/drm_atomic_helper.h | 3 -- > 20 files changed, 1 insertion(+), 81 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c > index 600fa7bd7f52..0f0f8234fe21 100644 > --- a/drivers/gpu/drm/arm/malidp_planes.c > +++ b/drivers/gpu/drm/arm/malidp_planes.c > @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, > static const struct drm_plane_funcs malidp_de_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = malidp_de_plane_destroy, > .reset = malidp_plane_reset, > .atomic_duplicate_state = malidp_duplicate_plane_state, > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > index b5bd9b005225..9cd9e23e75c6 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, > static struct drm_plane_funcs layer_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = atmel_hlcdc_plane_destroy, > .reset = atmel_hlcdc_plane_reset, > .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 0fd14aff7add..395438a7a576 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); > * RETURNS: > * Zero on success, error code on failure > */ > -int drm_atomic_plane_set_property(struct drm_plane *plane, > +static int drm_atomic_plane_set_property(struct drm_plane *plane, > struct drm_plane_state *state, struct drm_property *property, > uint64_t val) > { > @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, > > return 0; > } > -EXPORT_SYMBOL(drm_atomic_plane_set_property); > > /** > * drm_atomic_plane_get_property - get property value from plane state > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 22245aa8b1aa..0482e39a7889 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_plane_set_property - helper for plane properties > - * @plane: DRM plane > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default plane set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_plane_state *plane_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(plane->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; > -retry: > - plane_state = drm_atomic_get_plane_state(state, plane); > - if (IS_ERR(plane_state)) { > - ret = PTR_ERR(plane_state); > - goto fail; > - } > - > - ret = drm_atomic_plane_set_property(plane, plane_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); > - > -/** > * drm_atomic_helper_connector_set_property - helper for connector properties > * @connector: DRM connector > * @property: DRM property > diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c > index 611b6fd65433..5e686ee74900 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c > @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = exynos_drm_plane_reset, > .atomic_duplicate_state = exynos_drm_plane_duplicate_state, > .atomic_destroy_state = exynos_drm_plane_destroy_state, > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > index 54a4542a40f1..0bbd3c3480ee 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { > static struct drm_plane_funcs hibmc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 961551135a39..8df42fddd8f7 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { > static struct drm_plane_funcs ade_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b4d0c5298a53..e908982f6864 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { > .update_plane = intel_legacy_cursor_update, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > index fe3a4de1a433..a60750b66b47 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { > .update_plane = mdp5_update_cursor_plane_legacy, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index aa6fc525c539..e2029f05bf7b 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -1055,7 +1055,6 @@ nv50_wndw = { > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = nv50_wndw_destroy, > .reset = nv50_wndw_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, > .atomic_destroy_state = nv50_wndw_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c > index 2160f64548e0..c29b66a36907 100644 > --- a/drivers/gpu/drm/omapdrm/omap_plane.c > +++ b/drivers/gpu/drm/omapdrm/omap_plane.c > @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { > .disable_plane = drm_atomic_helper_disable_plane, > .reset = omap_plane_reset, > .destroy = omap_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > .atomic_set_property = omap_plane_atomic_set_property, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > index dcde6288da6c..985ce332eb0a 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > index f870445ebc8d..caa82f2f2567 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_vsp_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c > index 5b3a41f74f21..9baa5e62a8e5 100644 > --- a/drivers/gpu/drm/sti/sti_cursor.c > +++ b/drivers/gpu/drm/sti/sti_cursor.c > @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_cursor_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c > index 5ee0503945c8..66c5224011d2 100644 > --- a/drivers/gpu/drm/sti/sti_gdp.c > +++ b/drivers/gpu/drm/sti/sti_gdp.c > @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_gdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c > index 53a46dda8bd5..bec3ccfec3b5 100644 > --- a/drivers/gpu/drm/sti/sti_hqvdp.c > +++ b/drivers/gpu/drm/sti/sti_hqvdp.c > @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_hqvdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c > index 04cc66d6b96f..76820bcbfed0 100644 > --- a/drivers/gpu/drm/stm/ltdc.c > +++ b/drivers/gpu/drm/stm/ltdc.c > @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > index ba0d66c0d8ac..7667b038ae7f 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 7cd0f303f5a3..1f6a2c768e4b 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, > struct drm_plane_state * __must_check > drm_atomic_get_plane_state(struct drm_atomic_state *state, > struct drm_plane *plane); > -int drm_atomic_plane_set_property(struct drm_plane *plane, > - struct drm_plane_state *state, struct drm_property *property, > - uint64_t val); > struct drm_connector_state * __must_check > drm_atomic_get_connector_state(struct drm_atomic_state *state, > struct drm_connector *connector); > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index e5c835d94540..a62aeb816dd8 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_connector_set_property(struct drm_connector *connector, > struct drm_property *property, > uint64_t val); > ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property @ 2017-07-25 10:06 ` Philippe CORNU 0 siblings, 0 replies; 84+ messages in thread From: Philippe CORNU @ 2017-07-25 10:06 UTC (permalink / raw) To: linux-arm-kernel On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Brian Starkey <brian.starkey@arm.com> > Cc: Mali DP Maintainers <malidp@foss.arm.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> for stm, Acked-by: Philippe Cornu <philippe.cornu@st.com> Tested-by: Philippe Cornu <philippe.cornu@st.com> Many thanks Philippe :-) > Cc: Jyri Sarha <jsarha@ti.com> > Cc: "Ville Syrj?l?" <ville.syrjala@linux.intel.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: linux-arm-kernel at lists.infradead.org > Cc: linux-samsung-soc at vger.kernel.org > Cc: intel-gfx at lists.freedesktop.org > Cc: nouveau at lists.freedesktop.org > Cc: linux-renesas-soc at vger.kernel.org > Cc: Thomas Hellstrom <thellstrom@vmware.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > drivers/gpu/drm/arm/malidp_planes.c | 1 - > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - > drivers/gpu/drm/drm_atomic.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 2 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - > drivers/gpu/drm/stm/ltdc.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - > include/drm/drm_atomic.h | 3 -- > include/drm/drm_atomic_helper.h | 3 -- > 20 files changed, 1 insertion(+), 81 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c > index 600fa7bd7f52..0f0f8234fe21 100644 > --- a/drivers/gpu/drm/arm/malidp_planes.c > +++ b/drivers/gpu/drm/arm/malidp_planes.c > @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, > static const struct drm_plane_funcs malidp_de_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = malidp_de_plane_destroy, > .reset = malidp_plane_reset, > .atomic_duplicate_state = malidp_duplicate_plane_state, > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > index b5bd9b005225..9cd9e23e75c6 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, > static struct drm_plane_funcs layer_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = atmel_hlcdc_plane_destroy, > .reset = atmel_hlcdc_plane_reset, > .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 0fd14aff7add..395438a7a576 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); > * RETURNS: > * Zero on success, error code on failure > */ > -int drm_atomic_plane_set_property(struct drm_plane *plane, > +static int drm_atomic_plane_set_property(struct drm_plane *plane, > struct drm_plane_state *state, struct drm_property *property, > uint64_t val) > { > @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, > > return 0; > } > -EXPORT_SYMBOL(drm_atomic_plane_set_property); > > /** > * drm_atomic_plane_get_property - get property value from plane state > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 22245aa8b1aa..0482e39a7889 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_plane_set_property - helper for plane properties > - * @plane: DRM plane > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default plane set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_plane_state *plane_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(plane->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; > -retry: > - plane_state = drm_atomic_get_plane_state(state, plane); > - if (IS_ERR(plane_state)) { > - ret = PTR_ERR(plane_state); > - goto fail; > - } > - > - ret = drm_atomic_plane_set_property(plane, plane_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); > - > -/** > * drm_atomic_helper_connector_set_property - helper for connector properties > * @connector: DRM connector > * @property: DRM property > diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c > index 611b6fd65433..5e686ee74900 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c > @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = exynos_drm_plane_reset, > .atomic_duplicate_state = exynos_drm_plane_duplicate_state, > .atomic_destroy_state = exynos_drm_plane_destroy_state, > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > index 54a4542a40f1..0bbd3c3480ee 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { > static struct drm_plane_funcs hibmc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 961551135a39..8df42fddd8f7 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { > static struct drm_plane_funcs ade_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b4d0c5298a53..e908982f6864 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { > .update_plane = intel_legacy_cursor_update, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > index fe3a4de1a433..a60750b66b47 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { > .update_plane = mdp5_update_cursor_plane_legacy, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index aa6fc525c539..e2029f05bf7b 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -1055,7 +1055,6 @@ nv50_wndw = { > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = nv50_wndw_destroy, > .reset = nv50_wndw_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, > .atomic_destroy_state = nv50_wndw_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c > index 2160f64548e0..c29b66a36907 100644 > --- a/drivers/gpu/drm/omapdrm/omap_plane.c > +++ b/drivers/gpu/drm/omapdrm/omap_plane.c > @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { > .disable_plane = drm_atomic_helper_disable_plane, > .reset = omap_plane_reset, > .destroy = omap_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > .atomic_set_property = omap_plane_atomic_set_property, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > index dcde6288da6c..985ce332eb0a 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > index f870445ebc8d..caa82f2f2567 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_vsp_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c > index 5b3a41f74f21..9baa5e62a8e5 100644 > --- a/drivers/gpu/drm/sti/sti_cursor.c > +++ b/drivers/gpu/drm/sti/sti_cursor.c > @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_cursor_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c > index 5ee0503945c8..66c5224011d2 100644 > --- a/drivers/gpu/drm/sti/sti_gdp.c > +++ b/drivers/gpu/drm/sti/sti_gdp.c > @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_gdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c > index 53a46dda8bd5..bec3ccfec3b5 100644 > --- a/drivers/gpu/drm/sti/sti_hqvdp.c > +++ b/drivers/gpu/drm/sti/sti_hqvdp.c > @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_hqvdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c > index 04cc66d6b96f..76820bcbfed0 100644 > --- a/drivers/gpu/drm/stm/ltdc.c > +++ b/drivers/gpu/drm/stm/ltdc.c > @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > index ba0d66c0d8ac..7667b038ae7f 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 7cd0f303f5a3..1f6a2c768e4b 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, > struct drm_plane_state * __must_check > drm_atomic_get_plane_state(struct drm_atomic_state *state, > struct drm_plane *plane); > -int drm_atomic_plane_set_property(struct drm_plane *plane, > - struct drm_plane_state *state, struct drm_property *property, > - uint64_t val); > struct drm_connector_state * __must_check > drm_atomic_get_connector_state(struct drm_atomic_state *state, > struct drm_connector *connector); > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index e5c835d94540..a62aeb816dd8 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_connector_set_property(struct drm_connector *connector, > struct drm_property *property, > uint64_t val); > ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property @ 2017-07-25 10:06 ` Philippe CORNU 0 siblings, 0 replies; 84+ messages in thread From: Philippe CORNU @ 2017-07-25 10:06 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: David Airlie, nouveau, DRI Development, Laurent Pinchart, Benjamin Gaignard, Daniel Vetter, Boris Brezillon, Archit Taneja, linux-samsung-soc, Joonyoung Shim, Alexey Brodkin, Krzysztof Kozlowski, Tomi Valkeinen, Mali DP Maintainers, Ben Skeggs, Thomas Hellstrom, Eric Engestrom, linux-renesas-soc, Inki Dae On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Brian Starkey <brian.starkey@arm.com> > Cc: Mali DP Maintainers <malidp@foss.arm.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> for stm, Acked-by: Philippe Cornu <philippe.cornu@st.com> Tested-by: Philippe Cornu <philippe.cornu@st.com> Many thanks Philippe :-) > Cc: Jyri Sarha <jsarha@ti.com> > Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: nouveau@lists.freedesktop.org > Cc: linux-renesas-soc@vger.kernel.org > Cc: Thomas Hellstrom <thellstrom@vmware.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > drivers/gpu/drm/arm/malidp_planes.c | 1 - > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - > drivers/gpu/drm/drm_atomic.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 2 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - > drivers/gpu/drm/stm/ltdc.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - > include/drm/drm_atomic.h | 3 -- > include/drm/drm_atomic_helper.h | 3 -- > 20 files changed, 1 insertion(+), 81 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c > index 600fa7bd7f52..0f0f8234fe21 100644 > --- a/drivers/gpu/drm/arm/malidp_planes.c > +++ b/drivers/gpu/drm/arm/malidp_planes.c > @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, > static const struct drm_plane_funcs malidp_de_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = malidp_de_plane_destroy, > .reset = malidp_plane_reset, > .atomic_duplicate_state = malidp_duplicate_plane_state, > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > index b5bd9b005225..9cd9e23e75c6 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, > static struct drm_plane_funcs layer_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = atmel_hlcdc_plane_destroy, > .reset = atmel_hlcdc_plane_reset, > .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 0fd14aff7add..395438a7a576 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); > * RETURNS: > * Zero on success, error code on failure > */ > -int drm_atomic_plane_set_property(struct drm_plane *plane, > +static int drm_atomic_plane_set_property(struct drm_plane *plane, > struct drm_plane_state *state, struct drm_property *property, > uint64_t val) > { > @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, > > return 0; > } > -EXPORT_SYMBOL(drm_atomic_plane_set_property); > > /** > * drm_atomic_plane_get_property - get property value from plane state > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 22245aa8b1aa..0482e39a7889 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_plane_set_property - helper for plane properties > - * @plane: DRM plane > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default plane set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_plane_state *plane_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(plane->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; > -retry: > - plane_state = drm_atomic_get_plane_state(state, plane); > - if (IS_ERR(plane_state)) { > - ret = PTR_ERR(plane_state); > - goto fail; > - } > - > - ret = drm_atomic_plane_set_property(plane, plane_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); > - > -/** > * drm_atomic_helper_connector_set_property - helper for connector properties > * @connector: DRM connector > * @property: DRM property > diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c > index 611b6fd65433..5e686ee74900 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c > @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = exynos_drm_plane_reset, > .atomic_duplicate_state = exynos_drm_plane_duplicate_state, > .atomic_destroy_state = exynos_drm_plane_destroy_state, > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > index 54a4542a40f1..0bbd3c3480ee 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { > static struct drm_plane_funcs hibmc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 961551135a39..8df42fddd8f7 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { > static struct drm_plane_funcs ade_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b4d0c5298a53..e908982f6864 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { > .update_plane = intel_legacy_cursor_update, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > index fe3a4de1a433..a60750b66b47 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { > .update_plane = mdp5_update_cursor_plane_legacy, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index aa6fc525c539..e2029f05bf7b 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -1055,7 +1055,6 @@ nv50_wndw = { > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = nv50_wndw_destroy, > .reset = nv50_wndw_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, > .atomic_destroy_state = nv50_wndw_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c > index 2160f64548e0..c29b66a36907 100644 > --- a/drivers/gpu/drm/omapdrm/omap_plane.c > +++ b/drivers/gpu/drm/omapdrm/omap_plane.c > @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { > .disable_plane = drm_atomic_helper_disable_plane, > .reset = omap_plane_reset, > .destroy = omap_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > .atomic_set_property = omap_plane_atomic_set_property, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > index dcde6288da6c..985ce332eb0a 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > index f870445ebc8d..caa82f2f2567 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_vsp_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c > index 5b3a41f74f21..9baa5e62a8e5 100644 > --- a/drivers/gpu/drm/sti/sti_cursor.c > +++ b/drivers/gpu/drm/sti/sti_cursor.c > @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_cursor_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c > index 5ee0503945c8..66c5224011d2 100644 > --- a/drivers/gpu/drm/sti/sti_gdp.c > +++ b/drivers/gpu/drm/sti/sti_gdp.c > @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_gdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c > index 53a46dda8bd5..bec3ccfec3b5 100644 > --- a/drivers/gpu/drm/sti/sti_hqvdp.c > +++ b/drivers/gpu/drm/sti/sti_hqvdp.c > @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_hqvdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c > index 04cc66d6b96f..76820bcbfed0 100644 > --- a/drivers/gpu/drm/stm/ltdc.c > +++ b/drivers/gpu/drm/stm/ltdc.c > @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > index ba0d66c0d8ac..7667b038ae7f 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 7cd0f303f5a3..1f6a2c768e4b 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, > struct drm_plane_state * __must_check > drm_atomic_get_plane_state(struct drm_atomic_state *state, > struct drm_plane *plane); > -int drm_atomic_plane_set_property(struct drm_plane *plane, > - struct drm_plane_state *state, struct drm_property *property, > - uint64_t val); > struct drm_connector_state * __must_check > drm_atomic_get_connector_state(struct drm_atomic_state *state, > struct drm_connector *connector); > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index e5c835d94540..a62aeb816dd8 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_connector_set_property(struct drm_connector *connector, > struct drm_property *property, > uint64_t val); > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property 2017-07-25 8:01 ` Daniel Vetter (?) @ 2017-07-28 16:45 ` Liviu Dudau -1 siblings, 0 replies; 84+ messages in thread From: Liviu Dudau @ 2017-07-28 16:45 UTC (permalink / raw) To: Daniel Vetter Cc: Intel Graphics Development, DRI Development, Daniel Vetter, Brian Starkey, Mali DP Maintainers, Boris Brezillon, Jani Nikula, Sean Paul, David Airlie, Inki Dae, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park, Kukjin Kim, Krzysztof Kozlowski, Ben Skeggs, Tomi Valkeinen, Laurent Pinchart, Benjamin Gaignard, Vincent Abriou, Yannick Fertre, Philippe Cornu, Jyri Sarha, Ville Syrjälä, Rongrong Zou, Shawn Guo, Alexey Brodkin, Eric Engestrom, Chris Wilson, Rob Clark, Archit Taneja, linux-arm-kernel, linux-samsung-soc, nouveau, linux-renesas-soc, Thomas Hellstrom, Maxime Ripard On Tue, Jul 25, 2017 at 10:01:19AM +0200, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Brian Starkey <brian.starkey@arm.com> > Cc: Mali DP Maintainers <malidp@foss.arm.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: nouveau@lists.freedesktop.org > Cc: linux-renesas-soc@vger.kernel.org > Cc: Thomas Hellstrom <thellstrom@vmware.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > drivers/gpu/drm/arm/malidp_planes.c | 1 - > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - > drivers/gpu/drm/drm_atomic.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 2 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - > drivers/gpu/drm/stm/ltdc.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - > include/drm/drm_atomic.h | 3 -- > include/drm/drm_atomic_helper.h | 3 -- > 20 files changed, 1 insertion(+), 81 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c > index 600fa7bd7f52..0f0f8234fe21 100644 > --- a/drivers/gpu/drm/arm/malidp_planes.c > +++ b/drivers/gpu/drm/arm/malidp_planes.c > @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, > static const struct drm_plane_funcs malidp_de_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = malidp_de_plane_destroy, > .reset = malidp_plane_reset, > .atomic_duplicate_state = malidp_duplicate_plane_state, For mali-dp changes: Acked-by: Liviu Dudau <Liviu.Dudau@arm.com> I'm assuming the series goes through drm-next tree. Thanks, Liviu > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > index b5bd9b005225..9cd9e23e75c6 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, > static struct drm_plane_funcs layer_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = atmel_hlcdc_plane_destroy, > .reset = atmel_hlcdc_plane_reset, > .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 0fd14aff7add..395438a7a576 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); > * RETURNS: > * Zero on success, error code on failure > */ > -int drm_atomic_plane_set_property(struct drm_plane *plane, > +static int drm_atomic_plane_set_property(struct drm_plane *plane, > struct drm_plane_state *state, struct drm_property *property, > uint64_t val) > { > @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, > > return 0; > } > -EXPORT_SYMBOL(drm_atomic_plane_set_property); > > /** > * drm_atomic_plane_get_property - get property value from plane state > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 22245aa8b1aa..0482e39a7889 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_plane_set_property - helper for plane properties > - * @plane: DRM plane > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default plane set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_plane_state *plane_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(plane->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; > -retry: > - plane_state = drm_atomic_get_plane_state(state, plane); > - if (IS_ERR(plane_state)) { > - ret = PTR_ERR(plane_state); > - goto fail; > - } > - > - ret = drm_atomic_plane_set_property(plane, plane_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); > - > -/** > * drm_atomic_helper_connector_set_property - helper for connector properties > * @connector: DRM connector > * @property: DRM property > diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c > index 611b6fd65433..5e686ee74900 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c > @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = exynos_drm_plane_reset, > .atomic_duplicate_state = exynos_drm_plane_duplicate_state, > .atomic_destroy_state = exynos_drm_plane_destroy_state, > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > index 54a4542a40f1..0bbd3c3480ee 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { > static struct drm_plane_funcs hibmc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 961551135a39..8df42fddd8f7 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { > static struct drm_plane_funcs ade_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b4d0c5298a53..e908982f6864 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { > .update_plane = intel_legacy_cursor_update, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > index fe3a4de1a433..a60750b66b47 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { > .update_plane = mdp5_update_cursor_plane_legacy, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index aa6fc525c539..e2029f05bf7b 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -1055,7 +1055,6 @@ nv50_wndw = { > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = nv50_wndw_destroy, > .reset = nv50_wndw_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, > .atomic_destroy_state = nv50_wndw_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c > index 2160f64548e0..c29b66a36907 100644 > --- a/drivers/gpu/drm/omapdrm/omap_plane.c > +++ b/drivers/gpu/drm/omapdrm/omap_plane.c > @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { > .disable_plane = drm_atomic_helper_disable_plane, > .reset = omap_plane_reset, > .destroy = omap_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > .atomic_set_property = omap_plane_atomic_set_property, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > index dcde6288da6c..985ce332eb0a 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > index f870445ebc8d..caa82f2f2567 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_vsp_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c > index 5b3a41f74f21..9baa5e62a8e5 100644 > --- a/drivers/gpu/drm/sti/sti_cursor.c > +++ b/drivers/gpu/drm/sti/sti_cursor.c > @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_cursor_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c > index 5ee0503945c8..66c5224011d2 100644 > --- a/drivers/gpu/drm/sti/sti_gdp.c > +++ b/drivers/gpu/drm/sti/sti_gdp.c > @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_gdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c > index 53a46dda8bd5..bec3ccfec3b5 100644 > --- a/drivers/gpu/drm/sti/sti_hqvdp.c > +++ b/drivers/gpu/drm/sti/sti_hqvdp.c > @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_hqvdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c > index 04cc66d6b96f..76820bcbfed0 100644 > --- a/drivers/gpu/drm/stm/ltdc.c > +++ b/drivers/gpu/drm/stm/ltdc.c > @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > index ba0d66c0d8ac..7667b038ae7f 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 7cd0f303f5a3..1f6a2c768e4b 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, > struct drm_plane_state * __must_check > drm_atomic_get_plane_state(struct drm_atomic_state *state, > struct drm_plane *plane); > -int drm_atomic_plane_set_property(struct drm_plane *plane, > - struct drm_plane_state *state, struct drm_property *property, > - uint64_t val); > struct drm_connector_state * __must_check > drm_atomic_get_connector_state(struct drm_atomic_state *state, > struct drm_connector *connector); > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index e5c835d94540..a62aeb816dd8 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_connector_set_property(struct drm_connector *connector, > struct drm_property *property, > uint64_t val); > -- > 2.13.3 > -- ==================== | I would like to | | fix the world, | | but they're not | | giving me the | \ source code! / --------------- ¯\_(ツ)_/¯ ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property @ 2017-07-28 16:45 ` Liviu Dudau 0 siblings, 0 replies; 84+ messages in thread From: Liviu Dudau @ 2017-07-28 16:45 UTC (permalink / raw) To: linux-arm-kernel On Tue, Jul 25, 2017 at 10:01:19AM +0200, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Brian Starkey <brian.starkey@arm.com> > Cc: Mali DP Maintainers <malidp@foss.arm.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: "Ville Syrj?l?" <ville.syrjala@linux.intel.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: linux-arm-kernel at lists.infradead.org > Cc: linux-samsung-soc at vger.kernel.org > Cc: intel-gfx at lists.freedesktop.org > Cc: nouveau at lists.freedesktop.org > Cc: linux-renesas-soc at vger.kernel.org > Cc: Thomas Hellstrom <thellstrom@vmware.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > drivers/gpu/drm/arm/malidp_planes.c | 1 - > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - > drivers/gpu/drm/drm_atomic.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 2 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - > drivers/gpu/drm/stm/ltdc.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - > include/drm/drm_atomic.h | 3 -- > include/drm/drm_atomic_helper.h | 3 -- > 20 files changed, 1 insertion(+), 81 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c > index 600fa7bd7f52..0f0f8234fe21 100644 > --- a/drivers/gpu/drm/arm/malidp_planes.c > +++ b/drivers/gpu/drm/arm/malidp_planes.c > @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, > static const struct drm_plane_funcs malidp_de_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = malidp_de_plane_destroy, > .reset = malidp_plane_reset, > .atomic_duplicate_state = malidp_duplicate_plane_state, For mali-dp changes: Acked-by: Liviu Dudau <Liviu.Dudau@arm.com> I'm assuming the series goes through drm-next tree. Thanks, Liviu > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > index b5bd9b005225..9cd9e23e75c6 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, > static struct drm_plane_funcs layer_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = atmel_hlcdc_plane_destroy, > .reset = atmel_hlcdc_plane_reset, > .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 0fd14aff7add..395438a7a576 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); > * RETURNS: > * Zero on success, error code on failure > */ > -int drm_atomic_plane_set_property(struct drm_plane *plane, > +static int drm_atomic_plane_set_property(struct drm_plane *plane, > struct drm_plane_state *state, struct drm_property *property, > uint64_t val) > { > @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, > > return 0; > } > -EXPORT_SYMBOL(drm_atomic_plane_set_property); > > /** > * drm_atomic_plane_get_property - get property value from plane state > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 22245aa8b1aa..0482e39a7889 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_plane_set_property - helper for plane properties > - * @plane: DRM plane > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default plane set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_plane_state *plane_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(plane->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; > -retry: > - plane_state = drm_atomic_get_plane_state(state, plane); > - if (IS_ERR(plane_state)) { > - ret = PTR_ERR(plane_state); > - goto fail; > - } > - > - ret = drm_atomic_plane_set_property(plane, plane_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); > - > -/** > * drm_atomic_helper_connector_set_property - helper for connector properties > * @connector: DRM connector > * @property: DRM property > diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c > index 611b6fd65433..5e686ee74900 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c > @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = exynos_drm_plane_reset, > .atomic_duplicate_state = exynos_drm_plane_duplicate_state, > .atomic_destroy_state = exynos_drm_plane_destroy_state, > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > index 54a4542a40f1..0bbd3c3480ee 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { > static struct drm_plane_funcs hibmc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 961551135a39..8df42fddd8f7 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { > static struct drm_plane_funcs ade_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b4d0c5298a53..e908982f6864 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { > .update_plane = intel_legacy_cursor_update, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > index fe3a4de1a433..a60750b66b47 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { > .update_plane = mdp5_update_cursor_plane_legacy, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index aa6fc525c539..e2029f05bf7b 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -1055,7 +1055,6 @@ nv50_wndw = { > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = nv50_wndw_destroy, > .reset = nv50_wndw_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, > .atomic_destroy_state = nv50_wndw_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c > index 2160f64548e0..c29b66a36907 100644 > --- a/drivers/gpu/drm/omapdrm/omap_plane.c > +++ b/drivers/gpu/drm/omapdrm/omap_plane.c > @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { > .disable_plane = drm_atomic_helper_disable_plane, > .reset = omap_plane_reset, > .destroy = omap_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > .atomic_set_property = omap_plane_atomic_set_property, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > index dcde6288da6c..985ce332eb0a 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > index f870445ebc8d..caa82f2f2567 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_vsp_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c > index 5b3a41f74f21..9baa5e62a8e5 100644 > --- a/drivers/gpu/drm/sti/sti_cursor.c > +++ b/drivers/gpu/drm/sti/sti_cursor.c > @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_cursor_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c > index 5ee0503945c8..66c5224011d2 100644 > --- a/drivers/gpu/drm/sti/sti_gdp.c > +++ b/drivers/gpu/drm/sti/sti_gdp.c > @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_gdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c > index 53a46dda8bd5..bec3ccfec3b5 100644 > --- a/drivers/gpu/drm/sti/sti_hqvdp.c > +++ b/drivers/gpu/drm/sti/sti_hqvdp.c > @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_hqvdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c > index 04cc66d6b96f..76820bcbfed0 100644 > --- a/drivers/gpu/drm/stm/ltdc.c > +++ b/drivers/gpu/drm/stm/ltdc.c > @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > index ba0d66c0d8ac..7667b038ae7f 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 7cd0f303f5a3..1f6a2c768e4b 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, > struct drm_plane_state * __must_check > drm_atomic_get_plane_state(struct drm_atomic_state *state, > struct drm_plane *plane); > -int drm_atomic_plane_set_property(struct drm_plane *plane, > - struct drm_plane_state *state, struct drm_property *property, > - uint64_t val); > struct drm_connector_state * __must_check > drm_atomic_get_connector_state(struct drm_atomic_state *state, > struct drm_connector *connector); > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index e5c835d94540..a62aeb816dd8 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_connector_set_property(struct drm_connector *connector, > struct drm_property *property, > uint64_t val); > -- > 2.13.3 > -- ==================== | I would like to | | fix the world, | | but they're not | | giving me the | \ source code! / --------------- ?\_(?)_/? ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property @ 2017-07-28 16:45 ` Liviu Dudau 0 siblings, 0 replies; 84+ messages in thread From: Liviu Dudau @ 2017-07-28 16:45 UTC (permalink / raw) To: Daniel Vetter Cc: nouveau, DRI Development, Laurent Pinchart, Daniel Vetter, Boris Brezillon, linux-samsung-soc, Alexey Brodkin, Krzysztof Kozlowski, Tomi Valkeinen, Mali DP Maintainers, Ben Skeggs, Thomas Hellstrom, Intel Graphics Development, Eric Engestrom, linux-renesas-soc, Jyri Sarha, Vincent Abriou, linux-arm-kernel, Seung-Woo Kim, Philippe Cornu, Yannick Fertre, Kyungmin Park On Tue, Jul 25, 2017 at 10:01:19AM +0200, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Brian Starkey <brian.starkey@arm.com> > Cc: Mali DP Maintainers <malidp@foss.arm.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: nouveau@lists.freedesktop.org > Cc: linux-renesas-soc@vger.kernel.org > Cc: Thomas Hellstrom <thellstrom@vmware.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > drivers/gpu/drm/arm/malidp_planes.c | 1 - > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - > drivers/gpu/drm/drm_atomic.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 55 ------------------------- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 2 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - > drivers/gpu/drm/stm/ltdc.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - > include/drm/drm_atomic.h | 3 -- > include/drm/drm_atomic_helper.h | 3 -- > 20 files changed, 1 insertion(+), 81 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c > index 600fa7bd7f52..0f0f8234fe21 100644 > --- a/drivers/gpu/drm/arm/malidp_planes.c > +++ b/drivers/gpu/drm/arm/malidp_planes.c > @@ -128,7 +128,6 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, > static const struct drm_plane_funcs malidp_de_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = malidp_de_plane_destroy, > .reset = malidp_plane_reset, > .atomic_duplicate_state = malidp_duplicate_plane_state, For mali-dp changes: Acked-by: Liviu Dudau <Liviu.Dudau@arm.com> I'm assuming the series goes through drm-next tree. Thanks, Liviu > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > index b5bd9b005225..9cd9e23e75c6 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c > @@ -1052,7 +1052,6 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct drm_plane *p, > static struct drm_plane_funcs layer_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = atmel_hlcdc_plane_destroy, > .reset = atmel_hlcdc_plane_reset, > .atomic_duplicate_state = atmel_hlcdc_plane_atomic_duplicate_state, > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 0fd14aff7add..395438a7a576 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -713,7 +713,7 @@ EXPORT_SYMBOL(drm_atomic_get_plane_state); > * RETURNS: > * Zero on success, error code on failure > */ > -int drm_atomic_plane_set_property(struct drm_plane *plane, > +static int drm_atomic_plane_set_property(struct drm_plane *plane, > struct drm_plane_state *state, struct drm_property *property, > uint64_t val) > { > @@ -770,7 +770,6 @@ int drm_atomic_plane_set_property(struct drm_plane *plane, > > return 0; > } > -EXPORT_SYMBOL(drm_atomic_plane_set_property); > > /** > * drm_atomic_plane_get_property - get property value from plane state > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 22245aa8b1aa..0482e39a7889 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2968,61 +2968,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > EXPORT_SYMBOL(drm_atomic_helper_resume); > > /** > - * drm_atomic_helper_plane_set_property - helper for plane properties > - * @plane: DRM plane > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default plane set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_plane_state *plane_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(plane->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = plane->dev->mode_config.acquire_ctx; > -retry: > - plane_state = drm_atomic_get_plane_state(state, plane); > - if (IS_ERR(plane_state)) { > - ret = PTR_ERR(plane_state); > - goto fail; > - } > - > - ret = drm_atomic_plane_set_property(plane, plane_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_plane_set_property); > - > -/** > * drm_atomic_helper_connector_set_property - helper for connector properties > * @connector: DRM connector > * @property: DRM property > diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c > index 611b6fd65433..5e686ee74900 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c > @@ -173,7 +173,6 @@ static struct drm_plane_funcs exynos_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = exynos_drm_plane_reset, > .atomic_duplicate_state = exynos_drm_plane_duplicate_state, > .atomic_destroy_state = exynos_drm_plane_destroy_state, > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > index 54a4542a40f1..0bbd3c3480ee 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c > @@ -150,7 +150,6 @@ static const u32 channel_formats1[] = { > static struct drm_plane_funcs hibmc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index 961551135a39..8df42fddd8f7 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -889,7 +889,6 @@ static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { > static struct drm_plane_funcs ade_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b4d0c5298a53..e908982f6864 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12649,7 +12649,6 @@ const struct drm_plane_funcs intel_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > @@ -12784,7 +12783,6 @@ static const struct drm_plane_funcs intel_cursor_plane_funcs = { > .update_plane = intel_legacy_cursor_update, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = intel_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_get_property = intel_plane_atomic_get_property, > .atomic_set_property = intel_plane_atomic_set_property, > .atomic_duplicate_state = intel_plane_duplicate_state, > diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > index fe3a4de1a433..a60750b66b47 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c > @@ -246,7 +246,6 @@ static const struct drm_plane_funcs mdp5_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > @@ -259,7 +258,6 @@ static const struct drm_plane_funcs mdp5_cursor_plane_funcs = { > .update_plane = mdp5_update_cursor_plane_legacy, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = mdp5_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_set_property = mdp5_plane_atomic_set_property, > .atomic_get_property = mdp5_plane_atomic_get_property, > .reset = mdp5_plane_reset, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index aa6fc525c539..e2029f05bf7b 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -1055,7 +1055,6 @@ nv50_wndw = { > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = nv50_wndw_destroy, > .reset = nv50_wndw_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = nv50_wndw_atomic_duplicate_state, > .atomic_destroy_state = nv50_wndw_atomic_destroy_state, > }; > diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c > index 2160f64548e0..c29b66a36907 100644 > --- a/drivers/gpu/drm/omapdrm/omap_plane.c > +++ b/drivers/gpu/drm/omapdrm/omap_plane.c > @@ -235,7 +235,6 @@ static const struct drm_plane_funcs omap_plane_funcs = { > .disable_plane = drm_atomic_helper_disable_plane, > .reset = omap_plane_reset, > .destroy = omap_plane_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > .atomic_set_property = omap_plane_atomic_set_property, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > index dcde6288da6c..985ce332eb0a 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c > @@ -698,7 +698,6 @@ static const struct drm_plane_funcs rcar_du_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > index f870445ebc8d..caa82f2f2567 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > @@ -383,7 +383,6 @@ static const struct drm_plane_funcs rcar_du_vsp_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .reset = rcar_du_vsp_plane_reset, > - .set_property = drm_atomic_helper_plane_set_property, > .destroy = drm_plane_cleanup, > .atomic_duplicate_state = rcar_du_vsp_plane_atomic_duplicate_state, > .atomic_destroy_state = rcar_du_vsp_plane_atomic_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c > index 5b3a41f74f21..9baa5e62a8e5 100644 > --- a/drivers/gpu/drm/sti/sti_cursor.c > +++ b/drivers/gpu/drm/sti/sti_cursor.c > @@ -348,7 +348,6 @@ static const struct drm_plane_funcs sti_cursor_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_cursor_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c > index 5ee0503945c8..66c5224011d2 100644 > --- a/drivers/gpu/drm/sti/sti_gdp.c > +++ b/drivers/gpu/drm/sti/sti_gdp.c > @@ -895,7 +895,6 @@ static const struct drm_plane_funcs sti_gdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_gdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c > index 53a46dda8bd5..bec3ccfec3b5 100644 > --- a/drivers/gpu/drm/sti/sti_hqvdp.c > +++ b/drivers/gpu/drm/sti/sti_hqvdp.c > @@ -1276,7 +1276,6 @@ static const struct drm_plane_funcs sti_hqvdp_plane_helpers_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = sti_hqvdp_destroy, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = sti_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c > index 04cc66d6b96f..76820bcbfed0 100644 > --- a/drivers/gpu/drm/stm/ltdc.c > +++ b/drivers/gpu/drm/stm/ltdc.c > @@ -697,7 +697,6 @@ static const struct drm_plane_funcs ltdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > index ba0d66c0d8ac..7667b038ae7f 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c > @@ -28,7 +28,6 @@ static struct drm_plane_funcs tilcdc_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > .destroy = drm_plane_cleanup, > - .set_property = drm_atomic_helper_plane_set_property, > .reset = drm_atomic_helper_plane_reset, > .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 7cd0f303f5a3..1f6a2c768e4b 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -315,9 +315,6 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, > struct drm_plane_state * __must_check > drm_atomic_get_plane_state(struct drm_atomic_state *state, > struct drm_plane *plane); > -int drm_atomic_plane_set_property(struct drm_plane *plane, > - struct drm_plane_state *state, struct drm_property *property, > - uint64_t val); > struct drm_connector_state * __must_check > drm_atomic_get_connector_state(struct drm_atomic_state *state, > struct drm_connector *connector); > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index e5c835d94540..a62aeb816dd8 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_plane_set_property(struct drm_plane *plane, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_connector_set_property(struct drm_connector *connector, > struct drm_property *property, > uint64_t val); > -- > 2.13.3 > -- ==================== | I would like to | | fix the world, | | but they're not | | giving me the | \ source code! / --------------- ¯\_(ツ)_/¯ _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property 2017-07-25 8:01 ` Daniel Vetter (?) @ 2017-08-08 10:03 ` Vincent ABRIOU -1 siblings, 0 replies; 84+ messages in thread From: Vincent ABRIOU @ 2017-08-08 10:03 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: DRI Development, Daniel Vetter, Liviu Dudau, Brian Starkey, Mali DP Maintainers, Boris Brezillon, Jani Nikula, Sean Paul, David Airlie, Inki Dae, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park, Kukjin Kim, Krzysztof Kozlowski, Ben Skeggs, Tomi Valkeinen, Laurent Pinchart, Benjamin Gaignard, Yannick FERTRE, Philippe CORNU, Jyri Sarha, Ville Syrjälä, Rongrong Zou, Shawn Guo, Alexey Brodkin, Eric Engestrom, Chris Wilson, Rob Clark, Archit Taneja, linux-arm-kernel, linux-samsung-soc, nouveau, linux-renesas-soc, Thomas Hellstrom, Maxime Ripard On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [...] > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - Acked-by: Vincent Abriou <vincent.abriou@st.com> BR Vincent ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property @ 2017-08-08 10:03 ` Vincent ABRIOU 0 siblings, 0 replies; 84+ messages in thread From: Vincent ABRIOU @ 2017-08-08 10:03 UTC (permalink / raw) To: linux-arm-kernel On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [...] > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - Acked-by: Vincent Abriou <vincent.abriou@st.com> BR Vincent ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property @ 2017-08-08 10:03 ` Vincent ABRIOU 0 siblings, 0 replies; 84+ messages in thread From: Vincent ABRIOU @ 2017-08-08 10:03 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: David Airlie, nouveau, DRI Development, Laurent Pinchart, Benjamin Gaignard, Daniel Vetter, Boris Brezillon, Archit Taneja, linux-samsung-soc, Joonyoung Shim, Alexey Brodkin, Krzysztof Kozlowski, Tomi Valkeinen, Mali DP Maintainers, Ben Skeggs, Thomas Hellstrom, Eric Engestrom, linux-renesas-soc, Inki Dae On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [...] > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - Acked-by: Vincent Abriou <vincent.abriou@st.com> BR Vincent _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property 2017-07-25 8:01 ` Daniel Vetter ` (5 preceding siblings ...) (?) @ 2017-08-08 12:31 ` Laurent Pinchart -1 siblings, 0 replies; 84+ messages in thread From: Laurent Pinchart @ 2017-08-08 12:31 UTC (permalink / raw) To: Daniel Vetter Cc: David Airlie, Alexey Brodkin, DRI Development, Benjamin Gaignard, Daniel Vetter, Boris Brezillon, Archit Taneja, linux-samsung-soc, Joonyoung Shim, el.com, Krzysztof Kozlowski, Tomi Valkeinen, Mali DP Maintainers, Ben Skeggs, nouveau, Thomas Hellstrom, Intel Graphics Development, Eric Engestrom, linux-renesas-soc, Inki Dae, Jyri Sarha, Vincent Abriou Hi Daniel, Thank you for the patch. On Tuesday 25 Jul 2017 10:01:19 Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_plane_set_property. I assume you meant drm_atomic_plane_set_property. With that fixed, Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Brian Starkey <brian.starkey@arm.com> > Cc: Mali DP Maintainers <malidp@foss.arm.com> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Eric Engestrom <eric@engestrom.ch> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: nouveau@lists.freedesktop.org > Cc: linux-renesas-soc@vger.kernel.org > Cc: Thomas Hellstrom <thellstrom@vmware.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > --- > drivers/gpu/drm/arm/malidp_planes.c | 1 - > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 1 - > drivers/gpu/drm/drm_atomic.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 55 ---------------------- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 1 - > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 1 - > drivers/gpu/drm/i915/intel_display.c | 2 - > drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 - > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_plane.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 1 - > drivers/gpu/drm/sti/sti_cursor.c | 1 - > drivers/gpu/drm/sti/sti_gdp.c | 1 - > drivers/gpu/drm/sti/sti_hqvdp.c | 1 - > drivers/gpu/drm/stm/ltdc.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_plane.c | 1 - > include/drm/drm_atomic.h | 3 -- > include/drm/drm_atomic_helper.h | 3 -- > 20 files changed, 1 insertion(+), 81 deletions(-) -- Regards, Laurent Pinchart _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
[parent not found: <20170725080122.20548-1-daniel.vetter-/w4YWyX8dFk@public.gmane.org>]
* [PATCH 6/8] drm: Nuke drm_atomic_helper_connector_set_property [not found] ` <20170725080122.20548-1-daniel.vetter-/w4YWyX8dFk@public.gmane.org> @ 2017-07-25 8:01 ` Daniel Vetter [not found] ` <20170725080122.20548-7-daniel.vetter-/w4YWyX8dFk@public.gmane.org> 2017-08-08 10:04 ` Vincent ABRIOU 0 siblings, 2 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: Intel Graphics Development Cc: David Airlie, Jani Nikula, Eric Anholt, Sean Paul, DRI Development, Benjamin Gaignard, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Daniel Vetter, Vincent Abriou, Ben Skeggs It's dead code, the core handles all this directly now. This also allows us to unexport drm_atomic_helper_connector_set_property. The only special case is nouveau which used one function for both pre-nv50 legacy modeset code and post-nv50 atomic world instead of 2 vtables. But amounts to exactly the same. What is rather strange here is how few drivers set this up, I suspect the earlier patch to handle properties in the core did end up fixing a pile of possible issues. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: David Airlie <airlied@linux.ie> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> Cc: Vincent Abriou <vincent.abriou@st.com> Cc: Eric Anholt <eric@anholt.net> Cc: intel-gfx@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org --- drivers/gpu/drm/drm_atomic.c | 3 +- drivers/gpu/drm/drm_atomic_helper.c | 55 ----------------------------- drivers/gpu/drm/i915/intel_crt.c | 1 - drivers/gpu/drm/i915/intel_dp.c | 1 - drivers/gpu/drm/i915/intel_dp_mst.c | 1 - drivers/gpu/drm/i915/intel_dsi.c | 1 - drivers/gpu/drm/i915/intel_dvo.c | 1 - drivers/gpu/drm/i915/intel_hdmi.c | 1 - drivers/gpu/drm/i915/intel_lvds.c | 1 - drivers/gpu/drm/i915/intel_sdvo.c | 1 - drivers/gpu/drm/i915/intel_tv.c | 1 - drivers/gpu/drm/nouveau/nouveau_connector.c | 3 -- drivers/gpu/drm/nouveau/nv50_display.c | 1 - drivers/gpu/drm/sti/sti_hdmi.c | 1 - drivers/gpu/drm/vc4/vc4_vec.c | 1 - include/drm/drm_atomic.h | 3 -- include/drm/drm_atomic_helper.h | 3 -- 17 files changed, 1 insertion(+), 78 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 395438a7a576..306fdca92abf 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -1144,7 +1144,7 @@ EXPORT_SYMBOL(drm_atomic_get_connector_state); * RETURNS: * Zero on success, error code on failure */ -int drm_atomic_connector_set_property(struct drm_connector *connector, +static int drm_atomic_connector_set_property(struct drm_connector *connector, struct drm_connector_state *state, struct drm_property *property, uint64_t val) { @@ -1211,7 +1211,6 @@ int drm_atomic_connector_set_property(struct drm_connector *connector, return 0; } -EXPORT_SYMBOL(drm_atomic_connector_set_property); static void drm_atomic_connector_print_state(struct drm_printer *p, const struct drm_connector_state *state) diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 0482e39a7889..1ca0dcca6230 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -2967,61 +2967,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, } EXPORT_SYMBOL(drm_atomic_helper_resume); -/** - * drm_atomic_helper_connector_set_property - helper for connector properties - * @connector: DRM connector - * @property: DRM property - * @val: value of property - * - * Provides a default connector set_property handler using the atomic driver - * interface. - * - * RETURNS: - * Zero on success, error code on failure - */ -int -drm_atomic_helper_connector_set_property(struct drm_connector *connector, - struct drm_property *property, - uint64_t val) -{ - struct drm_atomic_state *state; - struct drm_connector_state *connector_state; - int ret = 0; - - state = drm_atomic_state_alloc(connector->dev); - if (!state) - return -ENOMEM; - - /* ->set_property is always called with all locks held. */ - state->acquire_ctx = connector->dev->mode_config.acquire_ctx; -retry: - connector_state = drm_atomic_get_connector_state(state, connector); - if (IS_ERR(connector_state)) { - ret = PTR_ERR(connector_state); - goto fail; - } - - ret = drm_atomic_connector_set_property(connector, connector_state, - property, val); - if (ret) - goto fail; - - ret = drm_atomic_commit(state); -fail: - if (ret == -EDEADLK) - goto backoff; - - drm_atomic_state_put(state); - return ret; - -backoff: - drm_atomic_state_clear(state); - drm_atomic_legacy_backoff(state); - - goto retry; -} -EXPORT_SYMBOL(drm_atomic_helper_connector_set_property); - static int page_flip_common(struct drm_atomic_state *state, struct drm_crtc *crtc, struct drm_framebuffer *fb, diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index 84a1f5e85153..84c3a6dc7c2a 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c @@ -807,7 +807,6 @@ static const struct drm_connector_funcs intel_crt_connector_funcs = { .late_register = intel_connector_register, .early_unregister = intel_connector_unregister, .destroy = intel_crt_destroy, - .set_property = drm_atomic_helper_connector_set_property, .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, }; diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 2d42d09428c9..19b082ea57ef 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -5010,7 +5010,6 @@ static const struct drm_connector_funcs intel_dp_connector_funcs = { .dpms = drm_atomic_helper_connector_dpms, .force = intel_dp_force, .fill_modes = drm_helper_probe_single_connector_modes, - .set_property = drm_atomic_helper_connector_set_property, .atomic_get_property = intel_digital_connector_atomic_get_property, .atomic_set_property = intel_digital_connector_atomic_set_property, .late_register = intel_dp_connector_register, diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index e4ea968b1d6b..59a6dfd48ed4 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c @@ -349,7 +349,6 @@ static const struct drm_connector_funcs intel_dp_mst_connector_funcs = { .dpms = drm_atomic_helper_connector_dpms, .detect = intel_dp_mst_detect, .fill_modes = drm_helper_probe_single_connector_modes, - .set_property = drm_atomic_helper_connector_set_property, .late_register = intel_connector_register, .early_unregister = intel_connector_unregister, .destroy = intel_dp_mst_connector_destroy, diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c index 50ec836da8b1..375e7cfcf207 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c @@ -1658,7 +1658,6 @@ static const struct drm_connector_funcs intel_dsi_connector_funcs = { .early_unregister = intel_connector_unregister, .destroy = intel_dsi_connector_destroy, .fill_modes = drm_helper_probe_single_connector_modes, - .set_property = drm_atomic_helper_connector_set_property, .atomic_get_property = intel_digital_connector_atomic_get_property, .atomic_set_property = intel_digital_connector_atomic_set_property, .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c index c1544a53095d..6b1970542911 100644 --- a/drivers/gpu/drm/i915/intel_dvo.c +++ b/drivers/gpu/drm/i915/intel_dvo.c @@ -350,7 +350,6 @@ static const struct drm_connector_funcs intel_dvo_connector_funcs = { .early_unregister = intel_connector_unregister, .destroy = intel_dvo_destroy, .fill_modes = drm_helper_probe_single_connector_modes, - .set_property = drm_atomic_helper_connector_set_property, .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, }; diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 5609976539bf..3074190b9455 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -1765,7 +1765,6 @@ static const struct drm_connector_funcs intel_hdmi_connector_funcs = { .detect = intel_hdmi_detect, .force = intel_hdmi_force, .fill_modes = drm_helper_probe_single_connector_modes, - .set_property = drm_atomic_helper_connector_set_property, .atomic_get_property = intel_digital_connector_atomic_get_property, .atomic_set_property = intel_digital_connector_atomic_set_property, .late_register = intel_connector_register, diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 6fe5d7c3bc23..6579299f5d00 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c @@ -598,7 +598,6 @@ static const struct drm_connector_funcs intel_lvds_connector_funcs = { .dpms = drm_atomic_helper_connector_dpms, .detect = intel_lvds_detect, .fill_modes = drm_helper_probe_single_connector_modes, - .set_property = drm_atomic_helper_connector_set_property, .atomic_get_property = intel_digital_connector_atomic_get_property, .atomic_set_property = intel_digital_connector_atomic_set_property, .late_register = intel_connector_register, diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index e58a47db9a9d..a8eee1984ddf 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@ -2196,7 +2196,6 @@ static const struct drm_connector_funcs intel_sdvo_connector_funcs = { .dpms = drm_atomic_helper_connector_dpms, .detect = intel_sdvo_detect, .fill_modes = drm_helper_probe_single_connector_modes, - .set_property = drm_atomic_helper_connector_set_property, .atomic_get_property = intel_sdvo_connector_atomic_get_property, .atomic_set_property = intel_sdvo_connector_atomic_set_property, .late_register = intel_sdvo_connector_register, diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index 784df024e230..e4ef2919b682 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c @@ -1411,7 +1411,6 @@ static const struct drm_connector_funcs intel_tv_connector_funcs = { .late_register = intel_connector_register, .early_unregister = intel_connector_unregister, .destroy = intel_tv_destroy, - .set_property = drm_atomic_helper_connector_set_property, .fill_modes = drm_helper_probe_single_connector_modes, .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c index dab78c660dd6..2468e81918fd 100644 --- a/drivers/gpu/drm/nouveau/nouveau_connector.c +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -770,9 +770,6 @@ nouveau_connector_set_property(struct drm_connector *connector, struct drm_encoder *encoder = to_drm_encoder(nv_encoder); int ret; - if (drm_drv_uses_atomic_modeset(connector->dev)) - return drm_atomic_helper_connector_set_property(connector, property, value); - ret = connector->funcs->atomic_set_property(&nv_connector->base, &asyc->state, property, value); diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index e2029f05bf7b..80a96eb08bbf 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c @@ -3122,7 +3122,6 @@ nv50_mstc = { .reset = nouveau_conn_reset, .detect = nv50_mstc_detect, .fill_modes = drm_helper_probe_single_connector_modes, - .set_property = drm_atomic_helper_connector_set_property, .destroy = nv50_mstc_destroy, .atomic_duplicate_state = nouveau_conn_atomic_duplicate_state, .atomic_destroy_state = nouveau_conn_atomic_destroy_state, diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c index dbc6a195d6f9..21f11dfae472 100644 --- a/drivers/gpu/drm/sti/sti_hdmi.c +++ b/drivers/gpu/drm/sti/sti_hdmi.c @@ -1118,7 +1118,6 @@ static const struct drm_connector_funcs sti_hdmi_connector_funcs = { .detect = sti_hdmi_connector_detect, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, - .set_property = drm_atomic_helper_connector_set_property, .atomic_set_property = sti_hdmi_connector_set_property, .atomic_get_property = sti_hdmi_connector_get_property, .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c index 09c1e05765fa..369fea5a13a1 100644 --- a/drivers/gpu/drm/vc4/vc4_vec.c +++ b/drivers/gpu/drm/vc4/vc4_vec.c @@ -369,7 +369,6 @@ static const struct drm_connector_funcs vc4_vec_connector_funcs = { .dpms = drm_atomic_helper_connector_dpms, .detect = vc4_vec_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, - .set_property = drm_atomic_helper_connector_set_property, .destroy = vc4_vec_connector_destroy, .reset = drm_atomic_helper_connector_reset, .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 1f6a2c768e4b..fccc09d5f2b3 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -318,9 +318,6 @@ drm_atomic_get_plane_state(struct drm_atomic_state *state, struct drm_connector_state * __must_check drm_atomic_get_connector_state(struct drm_atomic_state *state, struct drm_connector *connector); -int drm_atomic_connector_set_property(struct drm_connector *connector, - struct drm_connector_state *state, struct drm_property *property, - uint64_t val); void drm_atomic_private_obj_init(struct drm_private_obj *obj, struct drm_private_state *state, diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h index a62aeb816dd8..619089a027ec 100644 --- a/include/drm/drm_atomic_helper.h +++ b/include/drm/drm_atomic_helper.h @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, int drm_atomic_helper_resume(struct drm_device *dev, struct drm_atomic_state *state); -int drm_atomic_helper_connector_set_property(struct drm_connector *connector, - struct drm_property *property, - uint64_t val); int drm_atomic_helper_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, struct drm_pending_vblank_event *event, -- 2.13.3 _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau ^ permalink raw reply related [flat|nested] 84+ messages in thread
[parent not found: <20170725080122.20548-7-daniel.vetter-/w4YWyX8dFk@public.gmane.org>]
* Re: [Intel-gfx] [PATCH 6/8] drm: Nuke drm_atomic_helper_connector_set_property [not found] ` <20170725080122.20548-7-daniel.vetter-/w4YWyX8dFk@public.gmane.org> @ 2017-07-25 9:23 ` Maarten Lankhorst 2017-07-25 9:26 ` Daniel Vetter 0 siblings, 1 reply; 84+ messages in thread From: Maarten Lankhorst @ 2017-07-25 9:23 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: David Airlie, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, DRI Development, Ben Skeggs, Benjamin Gaignard, Daniel Vetter, Vincent Abriou Op 25-07-17 om 10:01 schreef Daniel Vetter: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_connector_set_property. > > The only special case is nouveau which used one function for both > pre-nv50 legacy modeset code and post-nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > What is rather strange here is how few drivers set this up, I suspect > the earlier patch to handle properties in the core did end up fixing a > pile of possible issues. Legacy drivers didn't always hook it up either, probably why. :) No use hooking it up in legacy world if you didn't expose a property. But yeah, good to fix this. > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Eric Anholt <eric@anholt.net> > Cc: intel-gfx@lists.freedesktop.org > Cc: nouveau@lists.freedesktop.org > --- > drivers/gpu/drm/drm_atomic.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 55 ----------------------------- > drivers/gpu/drm/i915/intel_crt.c | 1 - > drivers/gpu/drm/i915/intel_dp.c | 1 - > drivers/gpu/drm/i915/intel_dp_mst.c | 1 - > drivers/gpu/drm/i915/intel_dsi.c | 1 - > drivers/gpu/drm/i915/intel_dvo.c | 1 - > drivers/gpu/drm/i915/intel_hdmi.c | 1 - > drivers/gpu/drm/i915/intel_lvds.c | 1 - > drivers/gpu/drm/i915/intel_sdvo.c | 1 - > drivers/gpu/drm/i915/intel_tv.c | 1 - > drivers/gpu/drm/nouveau/nouveau_connector.c | 3 -- > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/sti/sti_hdmi.c | 1 - > drivers/gpu/drm/vc4/vc4_vec.c | 1 - > include/drm/drm_atomic.h | 3 -- > include/drm/drm_atomic_helper.h | 3 -- > 17 files changed, 1 insertion(+), 78 deletions(-) > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 395438a7a576..306fdca92abf 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -1144,7 +1144,7 @@ EXPORT_SYMBOL(drm_atomic_get_connector_state); > * RETURNS: > * Zero on success, error code on failure > */ > -int drm_atomic_connector_set_property(struct drm_connector *connector, > +static int drm_atomic_connector_set_property(struct drm_connector *connector, > struct drm_connector_state *state, struct drm_property *property, > uint64_t val) > { > @@ -1211,7 +1211,6 @@ int drm_atomic_connector_set_property(struct drm_connector *connector, > > return 0; > } > -EXPORT_SYMBOL(drm_atomic_connector_set_property); > > static void drm_atomic_connector_print_state(struct drm_printer *p, > const struct drm_connector_state *state) > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 0482e39a7889..1ca0dcca6230 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -2967,61 +2967,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, > } > EXPORT_SYMBOL(drm_atomic_helper_resume); > > -/** > - * drm_atomic_helper_connector_set_property - helper for connector properties > - * @connector: DRM connector > - * @property: DRM property > - * @val: value of property > - * > - * Provides a default connector set_property handler using the atomic driver > - * interface. > - * > - * RETURNS: > - * Zero on success, error code on failure > - */ > -int > -drm_atomic_helper_connector_set_property(struct drm_connector *connector, > - struct drm_property *property, > - uint64_t val) > -{ > - struct drm_atomic_state *state; > - struct drm_connector_state *connector_state; > - int ret = 0; > - > - state = drm_atomic_state_alloc(connector->dev); > - if (!state) > - return -ENOMEM; > - > - /* ->set_property is always called with all locks held. */ > - state->acquire_ctx = connector->dev->mode_config.acquire_ctx; > -retry: > - connector_state = drm_atomic_get_connector_state(state, connector); > - if (IS_ERR(connector_state)) { > - ret = PTR_ERR(connector_state); > - goto fail; > - } > - > - ret = drm_atomic_connector_set_property(connector, connector_state, > - property, val); > - if (ret) > - goto fail; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_connector_set_property); > - > static int page_flip_common(struct drm_atomic_state *state, > struct drm_crtc *crtc, > struct drm_framebuffer *fb, > diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c > index 84a1f5e85153..84c3a6dc7c2a 100644 > --- a/drivers/gpu/drm/i915/intel_crt.c > +++ b/drivers/gpu/drm/i915/intel_crt.c > @@ -807,7 +807,6 @@ static const struct drm_connector_funcs intel_crt_connector_funcs = { > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > .destroy = intel_crt_destroy, > - .set_property = drm_atomic_helper_connector_set_property, > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > }; > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 2d42d09428c9..19b082ea57ef 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -5010,7 +5010,6 @@ static const struct drm_connector_funcs intel_dp_connector_funcs = { > .dpms = drm_atomic_helper_connector_dpms, > .force = intel_dp_force, > .fill_modes = drm_helper_probe_single_connector_modes, > - .set_property = drm_atomic_helper_connector_set_property, > .atomic_get_property = intel_digital_connector_atomic_get_property, > .atomic_set_property = intel_digital_connector_atomic_set_property, > .late_register = intel_dp_connector_register, > diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c > index e4ea968b1d6b..59a6dfd48ed4 100644 > --- a/drivers/gpu/drm/i915/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/intel_dp_mst.c > @@ -349,7 +349,6 @@ static const struct drm_connector_funcs intel_dp_mst_connector_funcs = { > .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_dp_mst_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > - .set_property = drm_atomic_helper_connector_set_property, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > .destroy = intel_dp_mst_connector_destroy, > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > index 50ec836da8b1..375e7cfcf207 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -1658,7 +1658,6 @@ static const struct drm_connector_funcs intel_dsi_connector_funcs = { > .early_unregister = intel_connector_unregister, > .destroy = intel_dsi_connector_destroy, > .fill_modes = drm_helper_probe_single_connector_modes, > - .set_property = drm_atomic_helper_connector_set_property, > .atomic_get_property = intel_digital_connector_atomic_get_property, > .atomic_set_property = intel_digital_connector_atomic_set_property, > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c > index c1544a53095d..6b1970542911 100644 > --- a/drivers/gpu/drm/i915/intel_dvo.c > +++ b/drivers/gpu/drm/i915/intel_dvo.c > @@ -350,7 +350,6 @@ static const struct drm_connector_funcs intel_dvo_connector_funcs = { > .early_unregister = intel_connector_unregister, > .destroy = intel_dvo_destroy, > .fill_modes = drm_helper_probe_single_connector_modes, > - .set_property = drm_atomic_helper_connector_set_property, > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > }; > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index 5609976539bf..3074190b9455 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -1765,7 +1765,6 @@ static const struct drm_connector_funcs intel_hdmi_connector_funcs = { > .detect = intel_hdmi_detect, > .force = intel_hdmi_force, > .fill_modes = drm_helper_probe_single_connector_modes, > - .set_property = drm_atomic_helper_connector_set_property, > .atomic_get_property = intel_digital_connector_atomic_get_property, > .atomic_set_property = intel_digital_connector_atomic_set_property, > .late_register = intel_connector_register, > diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c > index 6fe5d7c3bc23..6579299f5d00 100644 > --- a/drivers/gpu/drm/i915/intel_lvds.c > +++ b/drivers/gpu/drm/i915/intel_lvds.c > @@ -598,7 +598,6 @@ static const struct drm_connector_funcs intel_lvds_connector_funcs = { > .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_lvds_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > - .set_property = drm_atomic_helper_connector_set_property, > .atomic_get_property = intel_digital_connector_atomic_get_property, > .atomic_set_property = intel_digital_connector_atomic_set_property, > .late_register = intel_connector_register, > diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c > index e58a47db9a9d..a8eee1984ddf 100644 > --- a/drivers/gpu/drm/i915/intel_sdvo.c > +++ b/drivers/gpu/drm/i915/intel_sdvo.c > @@ -2196,7 +2196,6 @@ static const struct drm_connector_funcs intel_sdvo_connector_funcs = { > .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_sdvo_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > - .set_property = drm_atomic_helper_connector_set_property, > .atomic_get_property = intel_sdvo_connector_atomic_get_property, > .atomic_set_property = intel_sdvo_connector_atomic_set_property, > .late_register = intel_sdvo_connector_register, > diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c > index 784df024e230..e4ef2919b682 100644 > --- a/drivers/gpu/drm/i915/intel_tv.c > +++ b/drivers/gpu/drm/i915/intel_tv.c > @@ -1411,7 +1411,6 @@ static const struct drm_connector_funcs intel_tv_connector_funcs = { > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > .destroy = intel_tv_destroy, > - .set_property = drm_atomic_helper_connector_set_property, > .fill_modes = drm_helper_probe_single_connector_modes, > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c > index dab78c660dd6..2468e81918fd 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_connector.c > +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c > @@ -770,9 +770,6 @@ nouveau_connector_set_property(struct drm_connector *connector, > struct drm_encoder *encoder = to_drm_encoder(nv_encoder); > int ret; > > - if (drm_drv_uses_atomic_modeset(connector->dev)) > - return drm_atomic_helper_connector_set_property(connector, property, value); > - > ret = connector->funcs->atomic_set_property(&nv_connector->base, > &asyc->state, > property, value); > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index e2029f05bf7b..80a96eb08bbf 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -3122,7 +3122,6 @@ nv50_mstc = { > .reset = nouveau_conn_reset, > .detect = nv50_mstc_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > - .set_property = drm_atomic_helper_connector_set_property, > .destroy = nv50_mstc_destroy, > .atomic_duplicate_state = nouveau_conn_atomic_duplicate_state, > .atomic_destroy_state = nouveau_conn_atomic_destroy_state, > diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c > index dbc6a195d6f9..21f11dfae472 100644 > --- a/drivers/gpu/drm/sti/sti_hdmi.c > +++ b/drivers/gpu/drm/sti/sti_hdmi.c > @@ -1118,7 +1118,6 @@ static const struct drm_connector_funcs sti_hdmi_connector_funcs = { > .detect = sti_hdmi_connector_detect, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > - .set_property = drm_atomic_helper_connector_set_property, > .atomic_set_property = sti_hdmi_connector_set_property, > .atomic_get_property = sti_hdmi_connector_get_property, > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c > index 09c1e05765fa..369fea5a13a1 100644 > --- a/drivers/gpu/drm/vc4/vc4_vec.c > +++ b/drivers/gpu/drm/vc4/vc4_vec.c > @@ -369,7 +369,6 @@ static const struct drm_connector_funcs vc4_vec_connector_funcs = { > .dpms = drm_atomic_helper_connector_dpms, > .detect = vc4_vec_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > - .set_property = drm_atomic_helper_connector_set_property, > .destroy = vc4_vec_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 1f6a2c768e4b..fccc09d5f2b3 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -318,9 +318,6 @@ drm_atomic_get_plane_state(struct drm_atomic_state *state, > struct drm_connector_state * __must_check > drm_atomic_get_connector_state(struct drm_atomic_state *state, > struct drm_connector *connector); > -int drm_atomic_connector_set_property(struct drm_connector *connector, > - struct drm_connector_state *state, struct drm_property *property, > - uint64_t val); > > void drm_atomic_private_obj_init(struct drm_private_obj *obj, > struct drm_private_state *state, > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index a62aeb816dd8..619089a027ec 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, > int drm_atomic_helper_resume(struct drm_device *dev, > struct drm_atomic_state *state); > > -int drm_atomic_helper_connector_set_property(struct drm_connector *connector, > - struct drm_property *property, > - uint64_t val); > int drm_atomic_helper_page_flip(struct drm_crtc *crtc, > struct drm_framebuffer *fb, > struct drm_pending_vblank_event *event, _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 6/8] drm: Nuke drm_atomic_helper_connector_set_property 2017-07-25 9:23 ` [Intel-gfx] " Maarten Lankhorst @ 2017-07-25 9:26 ` Daniel Vetter 0 siblings, 0 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 9:26 UTC (permalink / raw) To: Maarten Lankhorst Cc: David Airlie, Nouveau Dev, Intel Graphics Development, DRI Development, Ben Skeggs, Benjamin Gaignard, Daniel Vetter, Vincent Abriou On Tue, Jul 25, 2017 at 11:23 AM, Maarten Lankhorst <maarten@mblankhorst.nl> wrote: > Op 25-07-17 om 10:01 schreef Daniel Vetter: >> It's dead code, the core handles all this directly now. This also >> allows us to unexport drm_atomic_helper_connector_set_property. >> >> The only special case is nouveau which used one function for both >> pre-nv50 legacy modeset code and post-nv50 atomic world instead of 2 >> vtables. But amounts to exactly the same. >> >> What is rather strange here is how few drivers set this up, I suspect >> the earlier patch to handle properties in the core did end up fixing a >> pile of possible issues. > Legacy drivers didn't always hook it up either, probably why. :) > No use hooking it up in legacy world if you didn't expose a property. > > But yeah, good to fix this. With atomic, everyone has properties ... -Daniel >> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> >> Cc: Daniel Vetter <daniel.vetter@intel.com> >> Cc: Jani Nikula <jani.nikula@linux.intel.com> >> Cc: Sean Paul <seanpaul@chromium.org> >> Cc: David Airlie <airlied@linux.ie> >> Cc: Ben Skeggs <bskeggs@redhat.com> >> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> >> Cc: Vincent Abriou <vincent.abriou@st.com> >> Cc: Eric Anholt <eric@anholt.net> >> Cc: intel-gfx@lists.freedesktop.org >> Cc: nouveau@lists.freedesktop.org >> --- >> drivers/gpu/drm/drm_atomic.c | 3 +- >> drivers/gpu/drm/drm_atomic_helper.c | 55 ----------------------------- >> drivers/gpu/drm/i915/intel_crt.c | 1 - >> drivers/gpu/drm/i915/intel_dp.c | 1 - >> drivers/gpu/drm/i915/intel_dp_mst.c | 1 - >> drivers/gpu/drm/i915/intel_dsi.c | 1 - >> drivers/gpu/drm/i915/intel_dvo.c | 1 - >> drivers/gpu/drm/i915/intel_hdmi.c | 1 - >> drivers/gpu/drm/i915/intel_lvds.c | 1 - >> drivers/gpu/drm/i915/intel_sdvo.c | 1 - >> drivers/gpu/drm/i915/intel_tv.c | 1 - >> drivers/gpu/drm/nouveau/nouveau_connector.c | 3 -- >> drivers/gpu/drm/nouveau/nv50_display.c | 1 - >> drivers/gpu/drm/sti/sti_hdmi.c | 1 - >> drivers/gpu/drm/vc4/vc4_vec.c | 1 - >> include/drm/drm_atomic.h | 3 -- >> include/drm/drm_atomic_helper.h | 3 -- >> 17 files changed, 1 insertion(+), 78 deletions(-) >> >> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c >> index 395438a7a576..306fdca92abf 100644 >> --- a/drivers/gpu/drm/drm_atomic.c >> +++ b/drivers/gpu/drm/drm_atomic.c >> @@ -1144,7 +1144,7 @@ EXPORT_SYMBOL(drm_atomic_get_connector_state); >> * RETURNS: >> * Zero on success, error code on failure >> */ >> -int drm_atomic_connector_set_property(struct drm_connector *connector, >> +static int drm_atomic_connector_set_property(struct drm_connector *connector, >> struct drm_connector_state *state, struct drm_property *property, >> uint64_t val) >> { >> @@ -1211,7 +1211,6 @@ int drm_atomic_connector_set_property(struct drm_connector *connector, >> >> return 0; >> } >> -EXPORT_SYMBOL(drm_atomic_connector_set_property); >> >> static void drm_atomic_connector_print_state(struct drm_printer *p, >> const struct drm_connector_state *state) >> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c >> index 0482e39a7889..1ca0dcca6230 100644 >> --- a/drivers/gpu/drm/drm_atomic_helper.c >> +++ b/drivers/gpu/drm/drm_atomic_helper.c >> @@ -2967,61 +2967,6 @@ int drm_atomic_helper_resume(struct drm_device *dev, >> } >> EXPORT_SYMBOL(drm_atomic_helper_resume); >> >> -/** >> - * drm_atomic_helper_connector_set_property - helper for connector properties >> - * @connector: DRM connector >> - * @property: DRM property >> - * @val: value of property >> - * >> - * Provides a default connector set_property handler using the atomic driver >> - * interface. >> - * >> - * RETURNS: >> - * Zero on success, error code on failure >> - */ >> -int >> -drm_atomic_helper_connector_set_property(struct drm_connector *connector, >> - struct drm_property *property, >> - uint64_t val) >> -{ >> - struct drm_atomic_state *state; >> - struct drm_connector_state *connector_state; >> - int ret = 0; >> - >> - state = drm_atomic_state_alloc(connector->dev); >> - if (!state) >> - return -ENOMEM; >> - >> - /* ->set_property is always called with all locks held. */ >> - state->acquire_ctx = connector->dev->mode_config.acquire_ctx; >> -retry: >> - connector_state = drm_atomic_get_connector_state(state, connector); >> - if (IS_ERR(connector_state)) { >> - ret = PTR_ERR(connector_state); >> - goto fail; >> - } >> - >> - ret = drm_atomic_connector_set_property(connector, connector_state, >> - property, val); >> - if (ret) >> - goto fail; >> - >> - ret = drm_atomic_commit(state); >> -fail: >> - if (ret == -EDEADLK) >> - goto backoff; >> - >> - drm_atomic_state_put(state); >> - return ret; >> - >> -backoff: >> - drm_atomic_state_clear(state); >> - drm_atomic_legacy_backoff(state); >> - >> - goto retry; >> -} >> -EXPORT_SYMBOL(drm_atomic_helper_connector_set_property); >> - >> static int page_flip_common(struct drm_atomic_state *state, >> struct drm_crtc *crtc, >> struct drm_framebuffer *fb, >> diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c >> index 84a1f5e85153..84c3a6dc7c2a 100644 >> --- a/drivers/gpu/drm/i915/intel_crt.c >> +++ b/drivers/gpu/drm/i915/intel_crt.c >> @@ -807,7 +807,6 @@ static const struct drm_connector_funcs intel_crt_connector_funcs = { >> .late_register = intel_connector_register, >> .early_unregister = intel_connector_unregister, >> .destroy = intel_crt_destroy, >> - .set_property = drm_atomic_helper_connector_set_property, >> .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, >> .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, >> }; >> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c >> index 2d42d09428c9..19b082ea57ef 100644 >> --- a/drivers/gpu/drm/i915/intel_dp.c >> +++ b/drivers/gpu/drm/i915/intel_dp.c >> @@ -5010,7 +5010,6 @@ static const struct drm_connector_funcs intel_dp_connector_funcs = { >> .dpms = drm_atomic_helper_connector_dpms, >> .force = intel_dp_force, >> .fill_modes = drm_helper_probe_single_connector_modes, >> - .set_property = drm_atomic_helper_connector_set_property, >> .atomic_get_property = intel_digital_connector_atomic_get_property, >> .atomic_set_property = intel_digital_connector_atomic_set_property, >> .late_register = intel_dp_connector_register, >> diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c >> index e4ea968b1d6b..59a6dfd48ed4 100644 >> --- a/drivers/gpu/drm/i915/intel_dp_mst.c >> +++ b/drivers/gpu/drm/i915/intel_dp_mst.c >> @@ -349,7 +349,6 @@ static const struct drm_connector_funcs intel_dp_mst_connector_funcs = { >> .dpms = drm_atomic_helper_connector_dpms, >> .detect = intel_dp_mst_detect, >> .fill_modes = drm_helper_probe_single_connector_modes, >> - .set_property = drm_atomic_helper_connector_set_property, >> .late_register = intel_connector_register, >> .early_unregister = intel_connector_unregister, >> .destroy = intel_dp_mst_connector_destroy, >> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c >> index 50ec836da8b1..375e7cfcf207 100644 >> --- a/drivers/gpu/drm/i915/intel_dsi.c >> +++ b/drivers/gpu/drm/i915/intel_dsi.c >> @@ -1658,7 +1658,6 @@ static const struct drm_connector_funcs intel_dsi_connector_funcs = { >> .early_unregister = intel_connector_unregister, >> .destroy = intel_dsi_connector_destroy, >> .fill_modes = drm_helper_probe_single_connector_modes, >> - .set_property = drm_atomic_helper_connector_set_property, >> .atomic_get_property = intel_digital_connector_atomic_get_property, >> .atomic_set_property = intel_digital_connector_atomic_set_property, >> .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, >> diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c >> index c1544a53095d..6b1970542911 100644 >> --- a/drivers/gpu/drm/i915/intel_dvo.c >> +++ b/drivers/gpu/drm/i915/intel_dvo.c >> @@ -350,7 +350,6 @@ static const struct drm_connector_funcs intel_dvo_connector_funcs = { >> .early_unregister = intel_connector_unregister, >> .destroy = intel_dvo_destroy, >> .fill_modes = drm_helper_probe_single_connector_modes, >> - .set_property = drm_atomic_helper_connector_set_property, >> .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, >> .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, >> }; >> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c >> index 5609976539bf..3074190b9455 100644 >> --- a/drivers/gpu/drm/i915/intel_hdmi.c >> +++ b/drivers/gpu/drm/i915/intel_hdmi.c >> @@ -1765,7 +1765,6 @@ static const struct drm_connector_funcs intel_hdmi_connector_funcs = { >> .detect = intel_hdmi_detect, >> .force = intel_hdmi_force, >> .fill_modes = drm_helper_probe_single_connector_modes, >> - .set_property = drm_atomic_helper_connector_set_property, >> .atomic_get_property = intel_digital_connector_atomic_get_property, >> .atomic_set_property = intel_digital_connector_atomic_set_property, >> .late_register = intel_connector_register, >> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c >> index 6fe5d7c3bc23..6579299f5d00 100644 >> --- a/drivers/gpu/drm/i915/intel_lvds.c >> +++ b/drivers/gpu/drm/i915/intel_lvds.c >> @@ -598,7 +598,6 @@ static const struct drm_connector_funcs intel_lvds_connector_funcs = { >> .dpms = drm_atomic_helper_connector_dpms, >> .detect = intel_lvds_detect, >> .fill_modes = drm_helper_probe_single_connector_modes, >> - .set_property = drm_atomic_helper_connector_set_property, >> .atomic_get_property = intel_digital_connector_atomic_get_property, >> .atomic_set_property = intel_digital_connector_atomic_set_property, >> .late_register = intel_connector_register, >> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c >> index e58a47db9a9d..a8eee1984ddf 100644 >> --- a/drivers/gpu/drm/i915/intel_sdvo.c >> +++ b/drivers/gpu/drm/i915/intel_sdvo.c >> @@ -2196,7 +2196,6 @@ static const struct drm_connector_funcs intel_sdvo_connector_funcs = { >> .dpms = drm_atomic_helper_connector_dpms, >> .detect = intel_sdvo_detect, >> .fill_modes = drm_helper_probe_single_connector_modes, >> - .set_property = drm_atomic_helper_connector_set_property, >> .atomic_get_property = intel_sdvo_connector_atomic_get_property, >> .atomic_set_property = intel_sdvo_connector_atomic_set_property, >> .late_register = intel_sdvo_connector_register, >> diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c >> index 784df024e230..e4ef2919b682 100644 >> --- a/drivers/gpu/drm/i915/intel_tv.c >> +++ b/drivers/gpu/drm/i915/intel_tv.c >> @@ -1411,7 +1411,6 @@ static const struct drm_connector_funcs intel_tv_connector_funcs = { >> .late_register = intel_connector_register, >> .early_unregister = intel_connector_unregister, >> .destroy = intel_tv_destroy, >> - .set_property = drm_atomic_helper_connector_set_property, >> .fill_modes = drm_helper_probe_single_connector_modes, >> .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, >> .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, >> diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c >> index dab78c660dd6..2468e81918fd 100644 >> --- a/drivers/gpu/drm/nouveau/nouveau_connector.c >> +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c >> @@ -770,9 +770,6 @@ nouveau_connector_set_property(struct drm_connector *connector, >> struct drm_encoder *encoder = to_drm_encoder(nv_encoder); >> int ret; >> >> - if (drm_drv_uses_atomic_modeset(connector->dev)) >> - return drm_atomic_helper_connector_set_property(connector, property, value); >> - >> ret = connector->funcs->atomic_set_property(&nv_connector->base, >> &asyc->state, >> property, value); >> diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c >> index e2029f05bf7b..80a96eb08bbf 100644 >> --- a/drivers/gpu/drm/nouveau/nv50_display.c >> +++ b/drivers/gpu/drm/nouveau/nv50_display.c >> @@ -3122,7 +3122,6 @@ nv50_mstc = { >> .reset = nouveau_conn_reset, >> .detect = nv50_mstc_detect, >> .fill_modes = drm_helper_probe_single_connector_modes, >> - .set_property = drm_atomic_helper_connector_set_property, >> .destroy = nv50_mstc_destroy, >> .atomic_duplicate_state = nouveau_conn_atomic_duplicate_state, >> .atomic_destroy_state = nouveau_conn_atomic_destroy_state, >> diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c >> index dbc6a195d6f9..21f11dfae472 100644 >> --- a/drivers/gpu/drm/sti/sti_hdmi.c >> +++ b/drivers/gpu/drm/sti/sti_hdmi.c >> @@ -1118,7 +1118,6 @@ static const struct drm_connector_funcs sti_hdmi_connector_funcs = { >> .detect = sti_hdmi_connector_detect, >> .destroy = drm_connector_cleanup, >> .reset = drm_atomic_helper_connector_reset, >> - .set_property = drm_atomic_helper_connector_set_property, >> .atomic_set_property = sti_hdmi_connector_set_property, >> .atomic_get_property = sti_hdmi_connector_get_property, >> .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, >> diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c >> index 09c1e05765fa..369fea5a13a1 100644 >> --- a/drivers/gpu/drm/vc4/vc4_vec.c >> +++ b/drivers/gpu/drm/vc4/vc4_vec.c >> @@ -369,7 +369,6 @@ static const struct drm_connector_funcs vc4_vec_connector_funcs = { >> .dpms = drm_atomic_helper_connector_dpms, >> .detect = vc4_vec_connector_detect, >> .fill_modes = drm_helper_probe_single_connector_modes, >> - .set_property = drm_atomic_helper_connector_set_property, >> .destroy = vc4_vec_connector_destroy, >> .reset = drm_atomic_helper_connector_reset, >> .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, >> diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h >> index 1f6a2c768e4b..fccc09d5f2b3 100644 >> --- a/include/drm/drm_atomic.h >> +++ b/include/drm/drm_atomic.h >> @@ -318,9 +318,6 @@ drm_atomic_get_plane_state(struct drm_atomic_state *state, >> struct drm_connector_state * __must_check >> drm_atomic_get_connector_state(struct drm_atomic_state *state, >> struct drm_connector *connector); >> -int drm_atomic_connector_set_property(struct drm_connector *connector, >> - struct drm_connector_state *state, struct drm_property *property, >> - uint64_t val); >> >> void drm_atomic_private_obj_init(struct drm_private_obj *obj, >> struct drm_private_state *state, >> diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h >> index a62aeb816dd8..619089a027ec 100644 >> --- a/include/drm/drm_atomic_helper.h >> +++ b/include/drm/drm_atomic_helper.h >> @@ -124,9 +124,6 @@ int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state, >> int drm_atomic_helper_resume(struct drm_device *dev, >> struct drm_atomic_state *state); >> >> -int drm_atomic_helper_connector_set_property(struct drm_connector *connector, >> - struct drm_property *property, >> - uint64_t val); >> int drm_atomic_helper_page_flip(struct drm_crtc *crtc, >> struct drm_framebuffer *fb, >> struct drm_pending_vblank_event *event, > > -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 6/8] drm: Nuke drm_atomic_helper_connector_set_property 2017-07-25 8:01 ` [PATCH 6/8] drm: Nuke drm_atomic_helper_connector_set_property Daniel Vetter [not found] ` <20170725080122.20548-7-daniel.vetter-/w4YWyX8dFk@public.gmane.org> @ 2017-08-08 10:04 ` Vincent ABRIOU 1 sibling, 0 replies; 84+ messages in thread From: Vincent ABRIOU @ 2017-08-08 10:04 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: nouveau, DRI Development, Daniel Vetter, Ben Skeggs On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. This also > allows us to unexport drm_atomic_helper_connector_set_property. > > The only special case is nouveau which used one function for both > pre-nv50 legacy modeset code and post-nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > What is rather strange here is how few drivers set this up, I suspect > the earlier patch to handle properties in the core did end up fixing a > pile of possible issues. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [...] > drivers/gpu/drm/sti/sti_hdmi.c | 1 - Acked-by: Vincent Abriou <vincent.abriou@st.com> BR Vincent _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 [PATCH 0/8] acquire ctx for everyone! Daniel Vetter @ 2017-07-25 8:01 ` Daniel Vetter 2017-07-25 8:01 ` [PATCH 2/8] drm: Don't update property values for atomic drivers Daniel Vetter ` (8 subsequent siblings) 9 siblings, 0 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: Intel Graphics Development Cc: Martyn Welch, Neil Armstrong, David Airlie, Daniel Vetter, DRI Development, virtualization, Andrzej Hajda, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Benjamin Gaignard, Romain Perier, Daniel Vetter, nouveau, Jyri Sarha, Heiko Stuebner, Marek Vasut, linux-renesas-soc, Archit Taneja, Lars-Peter Clausen, Joonyoung Shim, Kevin Hilman, Alexey It's dead code, the core handles all this directly now. The only special case is nouveau and tda988x which used one function for both legacy modeset code and -nv50 atomic world instead of 2 vtables. But amounts to exactly the same. v2: Rebase over the panel/brideg refactorings in stm/ltdc. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Archit Taneja <architt@codeaurora.org> Cc: Andrzej Hajda <a.hajda@samsung.com> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> Cc: Peter Senna Tschudin <peter.senna@collabora.com> Cc: Martin Donnelly <martin.donnelly@ge.com> Cc: Martyn Welch <martyn.welch@collabora.co.uk> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: David Airlie <airlied@linux.ie> Cc: Inki Dae <inki.dae@samsung.com> Cc: Joonyoung Shim <jy0922.shim@samsung.com> Cc: Seung-Woo Kim <sw0312.kim@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Kukjin Kim <kgene@kernel.org> Cc: Krzysztof Kozlowski <krzk@kernel.org> Cc: Stefan Agner <stefan@agner.ch> Cc: Alison Wang <alison.wang@freescale.com> Cc: Russell King <linux@armlinux.org.uk> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: CK Hu <ck.hu@mediatek.com> Cc: Matthias Brugger <matthias.bgg@gmail.com> Cc: Neil Armstrong <narmstrong@baylibre.com> Cc: Carlo Caione <carlo@caione.org> Cc: Kevin Hilman <khilman@baylibre.com> Cc: Marek Vasut <marex@denx.de> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Eric Anholt <eric@anholt.net> Cc: Mark Yao <mark.yao@rock-chips.com> Cc: Heiko Stuebner <heiko@sntech.de> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> Cc: Vincent Abriou <vincent.abriou@st.com> Cc: Yannick Fertre <yannick.fertre@st.com> Cc: Philippe Cornu <philippe.cornu@st.com> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Chen-Yu Tsai <wens@csie.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Jonathan Hunter <jonathanh@nvidia.com> Cc: Jyri Sarha <jsarha@ti.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Shawn Guo <shawnguo@kernel.org> Cc: John Stultz <john.stultz@linaro.org> Cc: Lars-Peter Clausen <lars@metafoo.de> Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Cc: Jeffy Chen <jeffy.chen@rock-chips.com> Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> Cc: Yakir Yang <kuankuan.y@gmail.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Cc: Jose Abreu <Jose.Abreu@synopsys.com> Cc: Romain Perier <romain.perier@collabora.com> Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: Rongrong Zou <zourongrong@gmail.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Hai Li <hali@codeaurora.org> Cc: "Noralf Trønnes" <noralf@tronnes.org> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: intel-gfx@lists.freedesktop.org Cc: linux-mediatek@lists.infradead.org Cc: linux-amlogic@lists.infradead.org Cc: nouveau@lists.freedesktop.org Cc: linux-renesas-soc@vger.kernel.org Cc: linux-rockchip@lists.infradead.org Cc: linux-tegra@vger.kernel.org Cc: virtualization@lists.linux-foundation.org Cc: zain wang <wzz@rock-chips.com> Cc: Baoyou Xie <baoyou.xie@linaro.org> Cc: Boris Brezillon <boris.brezillon@free-electrons.com> --- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - drivers/gpu/drm/bridge/panel.c | 1 - drivers/gpu/drm/bridge/parade-ps8622.c | 1 - drivers/gpu/drm/bridge/sii902x.c | 1 - drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - drivers/gpu/drm/bridge/tc358767.c | 1 - drivers/gpu/drm/bridge/ti-tfp410.c | 1 - drivers/gpu/drm/drm_atomic_helper.c | 79 ---------------------- drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 - drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1 - drivers/gpu/drm/exynos/exynos_drm_vidi.c | 1 - drivers/gpu/drm/exynos/exynos_hdmi.c | 1 - drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 1 - drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 1 - drivers/gpu/drm/i2c/tda998x_drv.c | 10 +-- drivers/gpu/drm/i915/intel_crt.c | 1 - drivers/gpu/drm/i915/intel_dp.c | 1 - drivers/gpu/drm/i915/intel_dp_mst.c | 1 - drivers/gpu/drm/i915/intel_dsi.c | 1 - drivers/gpu/drm/i915/intel_dvo.c | 1 - drivers/gpu/drm/i915/intel_hdmi.c | 1 - drivers/gpu/drm/i915/intel_lvds.c | 1 - drivers/gpu/drm/i915/intel_sdvo.c | 1 - drivers/gpu/drm/i915/intel_tv.c | 1 - drivers/gpu/drm/imx/imx-ldb.c | 1 - drivers/gpu/drm/imx/imx-tve.c | 1 - drivers/gpu/drm/imx/parallel-display.c | 1 - drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - drivers/gpu/drm/meson/meson_venc_cvbs.c | 1 - drivers/gpu/drm/msm/dsi/dsi_manager.c | 1 - drivers/gpu/drm/msm/edp/edp_connector.c | 1 - drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 1 - drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c | 1 - drivers/gpu/drm/mxsfb/mxsfb_out.c | 1 - drivers/gpu/drm/nouveau/nouveau_connector.c | 12 +--- drivers/gpu/drm/nouveau/nv50_display.c | 1 - drivers/gpu/drm/omapdrm/omap_connector.c | 1 - drivers/gpu/drm/pl111/pl111_connector.c | 1 - drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 1 - drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 - drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 1 - drivers/gpu/drm/rockchip/inno_hdmi.c | 1 - drivers/gpu/drm/sti/sti_dvo.c | 1 - drivers/gpu/drm/sti/sti_hda.c | 1 - drivers/gpu/drm/sti/sti_hdmi.c | 1 - drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 1 - drivers/gpu/drm/sun4i/sun4i_rgb.c | 1 - drivers/gpu/drm/sun4i/sun4i_tv.c | 1 - drivers/gpu/drm/tegra/dsi.c | 1 - drivers/gpu/drm/tegra/hdmi.c | 1 - drivers/gpu/drm/tegra/rgb.c | 1 - drivers/gpu/drm/tegra/sor.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 1 - drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - drivers/gpu/drm/vc4/vc4_vec.c | 1 - drivers/gpu/drm/virtio/virtgpu_display.c | 1 - drivers/gpu/drm/zte/zx_hdmi.c | 1 - drivers/gpu/drm/zte/zx_tvenc.c | 1 - drivers/gpu/drm/zte/zx_vga.c | 1 - include/drm/drm_atomic_helper.h | 2 - 68 files changed, 3 insertions(+), 164 deletions(-) diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index ff9792d350c8..682c090fa3ed 100644 --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c @@ -786,7 +786,6 @@ adv7511_connector_detect(struct drm_connector *connector, bool force) } static struct drm_connector_funcs adv7511_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = adv7511_connector_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix-anx78xx.c index dc045e0c32fc..9385eb0b1ee4 100644 --- a/drivers/gpu/drm/bridge/analogix-anx78xx.c +++ b/drivers/gpu/drm/bridge/analogix-anx78xx.c @@ -1002,7 +1002,6 @@ static enum drm_connector_status anx78xx_detect(struct drm_connector *connector, } static const struct drm_connector_funcs anx78xx_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = anx78xx_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 4c758ed51939..5dd3f1cd074a 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1005,7 +1005,6 @@ analogix_dp_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs analogix_dp_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = analogix_dp_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c index 8a52539e618e..de5e7dee7ad6 100644 --- a/drivers/gpu/drm/bridge/dumb-vga-dac.c +++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c @@ -92,7 +92,6 @@ dumb_vga_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs dumb_vga_con_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = dumb_vga_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c index 11f11086a68f..7ccadba7c98c 100644 --- a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c +++ b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c @@ -193,7 +193,6 @@ static enum drm_connector_status ge_b850v3_lvds_detect( } static const struct drm_connector_funcs ge_b850v3_lvds_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = ge_b850v3_lvds_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/nxp-ptn3460.c b/drivers/gpu/drm/bridge/nxp-ptn3460.c index f0b5d0fc8594..d64a3283822a 100644 --- a/drivers/gpu/drm/bridge/nxp-ptn3460.c +++ b/drivers/gpu/drm/bridge/nxp-ptn3460.c @@ -238,7 +238,6 @@ static const struct drm_connector_helper_funcs ptn3460_connector_helper_funcs = }; static const struct drm_connector_funcs ptn3460_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c index 685c1a480201..59288b248dc5 100644 --- a/drivers/gpu/drm/bridge/panel.c +++ b/drivers/gpu/drm/bridge/panel.c @@ -50,7 +50,6 @@ panel_bridge_connector_helper_funcs = { }; static const struct drm_connector_funcs panel_bridge_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/parade-ps8622.c b/drivers/gpu/drm/bridge/parade-ps8622.c index 4f7725d4a309..81198f5e9afa 100644 --- a/drivers/gpu/drm/bridge/parade-ps8622.c +++ b/drivers/gpu/drm/bridge/parade-ps8622.c @@ -476,7 +476,6 @@ static const struct drm_connector_helper_funcs ps8622_connector_helper_funcs = { }; static const struct drm_connector_funcs ps8622_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c index 9efb7b8fad57..b1ab4ab09532 100644 --- a/drivers/gpu/drm/bridge/sii902x.c +++ b/drivers/gpu/drm/bridge/sii902x.c @@ -124,7 +124,6 @@ sii902x_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs sii902x_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = sii902x_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 60faf2d2bc6b..91ac849604a8 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -1920,7 +1920,6 @@ static void dw_hdmi_connector_force(struct drm_connector *connector) } static const struct drm_connector_funcs dw_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = dw_hdmi_connector_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c index 12a35f9c3adc..503252d6a74d 100644 --- a/drivers/gpu/drm/bridge/tc358767.c +++ b/drivers/gpu/drm/bridge/tc358767.c @@ -1160,7 +1160,6 @@ static const struct drm_connector_helper_funcs tc_connector_helper_funcs = { }; static const struct drm_connector_funcs tc_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c index 7ea2a15e8807..acb857030951 100644 --- a/drivers/gpu/drm/bridge/ti-tfp410.c +++ b/drivers/gpu/drm/bridge/ti-tfp410.c @@ -102,7 +102,6 @@ tfp410_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs tfp410_con_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = tfp410_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 1ca0dcca6230..877733ae44ac 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -3102,85 +3102,6 @@ int drm_atomic_helper_page_flip_target(struct drm_crtc *crtc, EXPORT_SYMBOL(drm_atomic_helper_page_flip_target); /** - * drm_atomic_helper_connector_dpms() - connector dpms helper implementation - * @connector: affected connector - * @mode: DPMS mode - * - * This is the main helper function provided by the atomic helper framework for - * implementing the legacy DPMS connector interface. It computes the new desired - * &drm_crtc_state.active state for the corresponding CRTC (if the connector is - * enabled) and updates it. - * - * Returns: - * Returns 0 on success, negative errno numbers on failure. - */ -int drm_atomic_helper_connector_dpms(struct drm_connector *connector, - int mode) -{ - struct drm_mode_config *config = &connector->dev->mode_config; - struct drm_atomic_state *state; - struct drm_crtc_state *crtc_state; - struct drm_crtc *crtc; - struct drm_connector *tmp_connector; - struct drm_connector_list_iter conn_iter; - int ret; - bool active = false; - int old_mode = connector->dpms; - - if (mode != DRM_MODE_DPMS_ON) - mode = DRM_MODE_DPMS_OFF; - - connector->dpms = mode; - crtc = connector->state->crtc; - - if (!crtc) - return 0; - - state = drm_atomic_state_alloc(connector->dev); - if (!state) - return -ENOMEM; - - state->acquire_ctx = crtc->dev->mode_config.acquire_ctx; -retry: - crtc_state = drm_atomic_get_crtc_state(state, crtc); - if (IS_ERR(crtc_state)) { - ret = PTR_ERR(crtc_state); - goto fail; - } - - WARN_ON(!drm_modeset_is_locked(&config->connection_mutex)); - - drm_connector_list_iter_begin(connector->dev, &conn_iter); - drm_for_each_connector_iter(tmp_connector, &conn_iter) { - if (tmp_connector->state->crtc != crtc) - continue; - - if (tmp_connector->dpms == DRM_MODE_DPMS_ON) { - active = true; - break; - } - } - drm_connector_list_iter_end(&conn_iter); - crtc_state->active = active; - - ret = drm_atomic_commit(state); -fail: - if (ret == -EDEADLK) - goto backoff; - if (ret != 0) - connector->dpms = old_mode; - drm_atomic_state_put(state); - return ret; - -backoff: - drm_atomic_state_clear(state); - drm_atomic_legacy_backoff(state); - - goto retry; -} -EXPORT_SYMBOL(drm_atomic_helper_connector_dpms); - -/** * drm_atomic_helper_best_encoder - Helper for * &drm_connector_helper_funcs.best_encoder callback * @connector: Connector control structure diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c index 63abcd280fa0..76d80e5de521 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dpi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dpi.c @@ -59,7 +59,6 @@ static void exynos_dpi_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs exynos_dpi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = exynos_dpi_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = exynos_dpi_connector_destroy, diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index f580be170089..4ea7cc7cb3de 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c @@ -1537,7 +1537,6 @@ static void exynos_dsi_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs exynos_dsi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = exynos_dsi_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = exynos_dsi_connector_destroy, diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c index cb8a72842537..9186a654c3b5 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c @@ -289,7 +289,6 @@ static void vidi_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs vidi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = vidi_detect, .destroy = vidi_connector_destroy, diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c index c953927fb0cb..0e2a472c3021 100644 --- a/drivers/gpu/drm/exynos/exynos_hdmi.c +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c @@ -835,7 +835,6 @@ static void hdmi_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = hdmi_detect, .destroy = hdmi_connector_destroy, diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c index dcbf3c06e1d8..edd7d8127d19 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c @@ -63,7 +63,6 @@ static const struct drm_connector_funcs fsl_dcu_drm_connector_funcs = { .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, .destroy = fsl_dcu_drm_connector_destroy, - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .reset = drm_atomic_helper_connector_reset, }; diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c index 12a18557c5fd..ec4dd9df9150 100644 --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c @@ -47,7 +47,6 @@ static const struct drm_connector_helper_funcs }; static const struct drm_connector_funcs hibmc_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c index d1e7ac540199..54e3255dde13 100644 --- a/drivers/gpu/drm/i2c/tda998x_drv.c +++ b/drivers/gpu/drm/i2c/tda998x_drv.c @@ -969,14 +969,6 @@ static int tda998x_audio_codec_init(struct tda998x_priv *priv, /* DRM connector functions */ -static int tda998x_connector_dpms(struct drm_connector *connector, int mode) -{ - if (drm_core_check_feature(connector->dev, DRIVER_ATOMIC)) - return drm_atomic_helper_connector_dpms(connector, mode); - else - return drm_helper_connector_dpms(connector, mode); -} - static int tda998x_connector_fill_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY) { @@ -1014,7 +1006,7 @@ static void tda998x_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs tda998x_connector_funcs = { - .dpms = tda998x_connector_dpms, + .dpms = drm_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .fill_modes = tda998x_connector_fill_modes, .detect = tda998x_connector_detect, diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index 84c3a6dc7c2a..70e0ff41070c 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c @@ -802,7 +802,6 @@ void intel_crt_reset(struct drm_encoder *encoder) */ static const struct drm_connector_funcs intel_crt_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .late_register = intel_connector_register, .early_unregister = intel_connector_unregister, diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 19b082ea57ef..76c8a0bd17f9 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -5007,7 +5007,6 @@ void intel_dp_encoder_reset(struct drm_encoder *encoder) } static const struct drm_connector_funcs intel_dp_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .force = intel_dp_force, .fill_modes = drm_helper_probe_single_connector_modes, .atomic_get_property = intel_digital_connector_atomic_get_property, diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 59a6dfd48ed4..58568559711a 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c @@ -346,7 +346,6 @@ intel_dp_mst_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs intel_dp_mst_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = intel_dp_mst_detect, .fill_modes = drm_helper_probe_single_connector_modes, .late_register = intel_connector_register, diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c index 375e7cfcf207..b0b3adf016f8 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c @@ -1653,7 +1653,6 @@ static const struct drm_connector_helper_funcs intel_dsi_connector_helper_funcs }; static const struct drm_connector_funcs intel_dsi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .late_register = intel_connector_register, .early_unregister = intel_connector_unregister, .destroy = intel_dsi_connector_destroy, diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c index 6b1970542911..baf369d2de30 100644 --- a/drivers/gpu/drm/i915/intel_dvo.c +++ b/drivers/gpu/drm/i915/intel_dvo.c @@ -344,7 +344,6 @@ static void intel_dvo_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs intel_dvo_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = intel_dvo_detect, .late_register = intel_connector_register, .early_unregister = intel_connector_unregister, diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 3074190b9455..2ef1ee85129d 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -1761,7 +1761,6 @@ static void intel_hdmi_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs intel_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = intel_hdmi_detect, .force = intel_hdmi_force, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 6579299f5d00..61d557948e21 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c @@ -595,7 +595,6 @@ static const struct drm_connector_helper_funcs intel_lvds_connector_helper_funcs }; static const struct drm_connector_funcs intel_lvds_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = intel_lvds_detect, .fill_modes = drm_helper_probe_single_connector_modes, .atomic_get_property = intel_digital_connector_atomic_get_property, diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index a8eee1984ddf..bea8152ae859 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@ -2193,7 +2193,6 @@ intel_sdvo_connector_duplicate_state(struct drm_connector *connector) } static const struct drm_connector_funcs intel_sdvo_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = intel_sdvo_detect, .fill_modes = drm_helper_probe_single_connector_modes, .atomic_get_property = intel_sdvo_connector_atomic_get_property, diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index e4ef2919b682..906893c006d8 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c @@ -1407,7 +1407,6 @@ intel_tv_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs intel_tv_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .late_register = intel_connector_register, .early_unregister = intel_connector_unregister, .destroy = intel_tv_destroy, diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c index 8b05ecb8fdef..56dd7a9a8e25 100644 --- a/drivers/gpu/drm/imx/imx-ldb.c +++ b/drivers/gpu/drm/imx/imx-ldb.c @@ -389,7 +389,6 @@ static int imx_ldb_encoder_atomic_check(struct drm_encoder *encoder, static const struct drm_connector_funcs imx_ldb_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = imx_drm_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c index 4826bb781723..bc27c2699464 100644 --- a/drivers/gpu/drm/imx/imx-tve.c +++ b/drivers/gpu/drm/imx/imx-tve.c @@ -341,7 +341,6 @@ static int imx_tve_atomic_check(struct drm_encoder *encoder, } static const struct drm_connector_funcs imx_tve_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = imx_drm_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c index 8aca20209cb8..8def97d75030 100644 --- a/drivers/gpu/drm/imx/parallel-display.c +++ b/drivers/gpu/drm/imx/parallel-display.c @@ -135,7 +135,6 @@ static int imx_pd_encoder_atomic_check(struct drm_encoder *encoder, } static const struct drm_connector_funcs imx_pd_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = imx_drm_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c index a31bd2a82de5..7e5e24c2152a 100644 --- a/drivers/gpu/drm/mediatek/mtk_dsi.c +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c @@ -766,7 +766,6 @@ static const struct drm_encoder_helper_funcs mtk_dsi_encoder_helper_funcs = { }; static const struct drm_connector_funcs mtk_dsi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c index f2437cd1e0f9..690c67507cbc 100644 --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c @@ -1261,7 +1261,6 @@ static struct drm_encoder *mtk_hdmi_conn_best_enc(struct drm_connector *conn) } static const struct drm_connector_funcs mtk_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = hdmi_conn_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = hdmi_conn_destroy, diff --git a/drivers/gpu/drm/meson/meson_venc_cvbs.c b/drivers/gpu/drm/meson/meson_venc_cvbs.c index 00775b397dba..79d95ca8a0c0 100644 --- a/drivers/gpu/drm/meson/meson_venc_cvbs.c +++ b/drivers/gpu/drm/meson/meson_venc_cvbs.c @@ -118,7 +118,6 @@ static int meson_cvbs_connector_mode_valid(struct drm_connector *connector, } static const struct drm_connector_funcs meson_cvbs_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = meson_cvbs_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = meson_cvbs_connector_destroy, diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c index a879ffa534b4..855248132b2b 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_manager.c +++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c @@ -626,7 +626,6 @@ static void dsi_mgr_bridge_mode_set(struct drm_bridge *bridge, } static const struct drm_connector_funcs dsi_mgr_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = dsi_mgr_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = dsi_mgr_connector_destroy, diff --git a/drivers/gpu/drm/msm/edp/edp_connector.c b/drivers/gpu/drm/msm/edp/edp_connector.c index 5960628ceb93..6f3fc6b0f0a3 100644 --- a/drivers/gpu/drm/msm/edp/edp_connector.c +++ b/drivers/gpu/drm/msm/edp/edp_connector.c @@ -92,7 +92,6 @@ static int edp_connector_mode_valid(struct drm_connector *connector, } static const struct drm_connector_funcs edp_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = edp_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = edp_connector_destroy, diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c index a2515b466ce5..71536d9c7fe8 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c @@ -407,7 +407,6 @@ static int msm_hdmi_connector_mode_valid(struct drm_connector *connector, } static const struct drm_connector_funcs hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = hdmi_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = hdmi_connector_destroy, diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c index 353429b05733..e3b1c86b7aae 100644 --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c @@ -91,7 +91,6 @@ static int mdp4_lvds_connector_mode_valid(struct drm_connector *connector, } static const struct drm_connector_funcs mdp4_lvds_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = mdp4_lvds_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = mdp4_lvds_connector_destroy, diff --git a/drivers/gpu/drm/mxsfb/mxsfb_out.c b/drivers/gpu/drm/mxsfb/mxsfb_out.c index f7d729aa09bd..e5edf016a439 100644 --- a/drivers/gpu/drm/mxsfb/mxsfb_out.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_out.c @@ -74,7 +74,6 @@ static void mxsfb_panel_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs mxsfb_panel_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = mxsfb_panel_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = mxsfb_panel_connector_destroy, diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c index 2468e81918fd..5137155bf3c0 100644 --- a/drivers/gpu/drm/nouveau/nouveau_connector.c +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -1072,17 +1072,9 @@ nouveau_connector_helper_funcs = { .best_encoder = nouveau_connector_best_encoder, }; -static int -nouveau_connector_dpms(struct drm_connector *connector, int mode) -{ - if (drm_drv_uses_atomic_modeset(connector->dev)) - return drm_atomic_helper_connector_dpms(connector, mode); - return drm_helper_connector_dpms(connector, mode); -} - static const struct drm_connector_funcs nouveau_connector_funcs = { - .dpms = nouveau_connector_dpms, + .dpms = drm_helper_connector_dpms, .reset = nouveau_conn_reset, .detect = nouveau_connector_detect, .force = nouveau_connector_force, @@ -1097,7 +1089,7 @@ nouveau_connector_funcs = { static const struct drm_connector_funcs nouveau_connector_funcs_lvds = { - .dpms = nouveau_connector_dpms, + .dpms = drm_helper_connector_dpms, .reset = nouveau_conn_reset, .detect = nouveau_connector_detect_lvds, .force = nouveau_connector_force, diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index 80a96eb08bbf..d442def6c965 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c @@ -3118,7 +3118,6 @@ nv50_mstc_destroy(struct drm_connector *connector) static const struct drm_connector_funcs nv50_mstc = { - .dpms = drm_atomic_helper_connector_dpms, .reset = nouveau_conn_reset, .detect = nv50_mstc_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c index c24b6b783e9a..d1ec76ef5cc6 100644 --- a/drivers/gpu/drm/omapdrm/omap_connector.c +++ b/drivers/gpu/drm/omapdrm/omap_connector.c @@ -195,7 +195,6 @@ static int omap_connector_mode_valid(struct drm_connector *connector, } static const struct drm_connector_funcs omap_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .detect = omap_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/pl111/pl111_connector.c b/drivers/gpu/drm/pl111/pl111_connector.c index 3f213d7e7692..d335f9a29ce4 100644 --- a/drivers/gpu/drm/pl111/pl111_connector.c +++ b/drivers/gpu/drm/pl111/pl111_connector.c @@ -69,7 +69,6 @@ const struct drm_connector_funcs connector_funcs = { .fill_modes = drm_helper_probe_single_connector_modes, .destroy = pl111_connector_destroy, .detect = pl111_connector_detect, - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c index ee91481131ad..b373ad48ef5f 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c @@ -46,7 +46,6 @@ static void rcar_du_lvds_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = rcar_du_lvds_connector_destroy, diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c index 9b0b0588bbed..a57da051f516 100644 --- a/drivers/gpu/drm/rockchip/cdn-dp-core.c +++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c @@ -254,7 +254,6 @@ static void cdn_dp_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs cdn_dp_atomic_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = cdn_dp_connector_detect, .destroy = cdn_dp_connector_destroy, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c index 21b9737662ae..9a20b9dc27c8 100644 --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c @@ -1080,7 +1080,6 @@ static void dw_mipi_dsi_drm_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs dw_mipi_dsi_atomic_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = dw_mipi_dsi_drm_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c index 7149968aa25a..bd87768dd549 100644 --- a/drivers/gpu/drm/rockchip/inno_hdmi.c +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c @@ -593,7 +593,6 @@ static void inno_hdmi_connector_destroy(struct drm_connector *connector) } static struct drm_connector_funcs inno_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = inno_hdmi_probe_single_connector_modes, .detect = inno_hdmi_connector_detect, .destroy = inno_hdmi_connector_destroy, diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c index a51cd9f754db..852bf2293b05 100644 --- a/drivers/gpu/drm/sti/sti_dvo.c +++ b/drivers/gpu/drm/sti/sti_dvo.c @@ -412,7 +412,6 @@ static int sti_dvo_late_register(struct drm_connector *connector) } static const struct drm_connector_funcs sti_dvo_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = sti_dvo_connector_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c index d6ed909d9d75..cf65e32b5090 100644 --- a/drivers/gpu/drm/sti/sti_hda.c +++ b/drivers/gpu/drm/sti/sti_hda.c @@ -647,7 +647,6 @@ static int sti_hda_late_register(struct drm_connector *connector) } static const struct drm_connector_funcs sti_hda_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c index 21f11dfae472..30f02d2fdd03 100644 --- a/drivers/gpu/drm/sti/sti_hdmi.c +++ b/drivers/gpu/drm/sti/sti_hdmi.c @@ -1113,7 +1113,6 @@ static int sti_hdmi_late_register(struct drm_connector *connector) } static const struct drm_connector_funcs sti_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = sti_hdmi_connector_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c index 83b7a2a025f2..f5d0d6bd1084 100644 --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c @@ -306,7 +306,6 @@ sun4i_hdmi_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs sun4i_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = sun4i_hdmi_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c index 422b191faa77..550bb262943f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_rgb.c +++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c @@ -120,7 +120,6 @@ sun4i_rgb_connector_destroy(struct drm_connector *connector) } static struct drm_connector_funcs sun4i_rgb_con_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = sun4i_rgb_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c index 338b9e5bb2a3..7b45ac9383ea 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tv.c +++ b/drivers/gpu/drm/sun4i/sun4i_tv.c @@ -546,7 +546,6 @@ sun4i_tv_comp_connector_destroy(struct drm_connector *connector) } static struct drm_connector_funcs sun4i_tv_comp_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = sun4i_tv_comp_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c index 3dea1216bafd..e4b5aedfdbd4 100644 --- a/drivers/gpu/drm/tegra/dsi.c +++ b/drivers/gpu/drm/tegra/dsi.c @@ -815,7 +815,6 @@ tegra_dsi_connector_duplicate_state(struct drm_connector *connector) } static const struct drm_connector_funcs tegra_dsi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = tegra_dsi_connector_reset, .detect = tegra_output_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c index 718d8db406a6..a621b0da4092 100644 --- a/drivers/gpu/drm/tegra/hdmi.c +++ b/drivers/gpu/drm/tegra/hdmi.c @@ -902,7 +902,6 @@ tegra_hdmi_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs tegra_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .detect = tegra_hdmi_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/tegra/rgb.c b/drivers/gpu/drm/tegra/rgb.c index a131b44e2d6f..78ec5193741d 100644 --- a/drivers/gpu/drm/tegra/rgb.c +++ b/drivers/gpu/drm/tegra/rgb.c @@ -88,7 +88,6 @@ static void tegra_dc_write_regs(struct tegra_dc *dc, } static const struct drm_connector_funcs tegra_rgb_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .detect = tegra_output_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c index fb2709c0c461..e0642d05a8d3 100644 --- a/drivers/gpu/drm/tegra/sor.c +++ b/drivers/gpu/drm/tegra/sor.c @@ -1340,7 +1340,6 @@ tegra_sor_connector_duplicate_state(struct drm_connector *connector) } static const struct drm_connector_funcs tegra_sor_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = tegra_sor_connector_reset, .detect = tegra_sor_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c index 28c3e2f44f64..1813a3623ce6 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c @@ -189,7 +189,6 @@ static struct drm_encoder *panel_connector_best_encoder( static const struct drm_connector_funcs panel_connector_funcs = { .destroy = panel_connector_destroy, - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .reset = drm_atomic_helper_connector_reset, .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c index aabfad882e23..1e2dfb1b1d6b 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c @@ -202,7 +202,6 @@ static struct drm_encoder *tfp410_connector_best_encoder( static const struct drm_connector_funcs tfp410_connector_funcs = { .destroy = tfp410_connector_destroy, - .dpms = drm_atomic_helper_connector_dpms, .detect = tfp410_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c index ec43fb7ad9e4..79b6687977d3 100644 --- a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c @@ -71,7 +71,6 @@ static void tinydrm_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs tinydrm_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .detect = tinydrm_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 406d6d83b6c6..b249b79ce04a 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -265,7 +265,6 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) } static const struct drm_connector_funcs vc4_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = vc4_hdmi_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = vc4_hdmi_connector_destroy, diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c index 369fea5a13a1..3a9a302247a2 100644 --- a/drivers/gpu/drm/vc4/vc4_vec.c +++ b/drivers/gpu/drm/vc4/vc4_vec.c @@ -366,7 +366,6 @@ static int vc4_vec_connector_get_modes(struct drm_connector *connector) } static const struct drm_connector_funcs vc4_vec_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = vc4_vec_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = vc4_vec_connector_destroy, diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c index ffd22e5ab43a..b6d52055a11f 100644 --- a/drivers/gpu/drm/virtio/virtgpu_display.c +++ b/drivers/gpu/drm/virtio/virtgpu_display.c @@ -252,7 +252,6 @@ static void virtio_gpu_conn_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs virtio_gpu_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = virtio_gpu_conn_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = virtio_gpu_conn_destroy, diff --git a/drivers/gpu/drm/zte/zx_hdmi.c b/drivers/gpu/drm/zte/zx_hdmi.c index 7e834e3eeed9..b8abb1b496ff 100644 --- a/drivers/gpu/drm/zte/zx_hdmi.c +++ b/drivers/gpu/drm/zte/zx_hdmi.c @@ -300,7 +300,6 @@ zx_hdmi_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs zx_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = zx_hdmi_connector_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/zte/zx_tvenc.c b/drivers/gpu/drm/zte/zx_tvenc.c index b56dc69843fc..0de1a71ca4e0 100644 --- a/drivers/gpu/drm/zte/zx_tvenc.c +++ b/drivers/gpu/drm/zte/zx_tvenc.c @@ -269,7 +269,6 @@ static struct drm_connector_helper_funcs zx_tvenc_connector_helper_funcs = { }; static const struct drm_connector_funcs zx_tvenc_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/zte/zx_vga.c b/drivers/gpu/drm/zte/zx_vga.c index 1e0811f775cb..3e7e33cd3dfa 100644 --- a/drivers/gpu/drm/zte/zx_vga.c +++ b/drivers/gpu/drm/zte/zx_vga.c @@ -138,7 +138,6 @@ zx_vga_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs zx_vga_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = zx_vga_connector_detect, .destroy = drm_connector_cleanup, diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h index 619089a027ec..d2b56cc657e9 100644 --- a/include/drm/drm_atomic_helper.h +++ b/include/drm/drm_atomic_helper.h @@ -136,8 +136,6 @@ int drm_atomic_helper_page_flip_target( uint32_t flags, uint32_t target, struct drm_modeset_acquire_ctx *ctx); -int drm_atomic_helper_connector_dpms(struct drm_connector *connector, - int mode); struct drm_encoder * drm_atomic_helper_best_encoder(struct drm_connector *connector); -- 2.13.3 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 84+ messages in thread
* [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms @ 2017-07-25 8:01 ` Daniel Vetter 0 siblings, 0 replies; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: linus-amlogic It's dead code, the core handles all this directly now. The only special case is nouveau and tda988x which used one function for both legacy modeset code and -nv50 atomic world instead of 2 vtables. But amounts to exactly the same. v2: Rebase over the panel/brideg refactorings in stm/ltdc. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Archit Taneja <architt@codeaurora.org> Cc: Andrzej Hajda <a.hajda@samsung.com> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> Cc: Peter Senna Tschudin <peter.senna@collabora.com> Cc: Martin Donnelly <martin.donnelly@ge.com> Cc: Martyn Welch <martyn.welch@collabora.co.uk> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: David Airlie <airlied@linux.ie> Cc: Inki Dae <inki.dae@samsung.com> Cc: Joonyoung Shim <jy0922.shim@samsung.com> Cc: Seung-Woo Kim <sw0312.kim@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Kukjin Kim <kgene@kernel.org> Cc: Krzysztof Kozlowski <krzk@kernel.org> Cc: Stefan Agner <stefan@agner.ch> Cc: Alison Wang <alison.wang@freescale.com> Cc: Russell King <linux@armlinux.org.uk> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: CK Hu <ck.hu@mediatek.com> Cc: Matthias Brugger <matthias.bgg@gmail.com> Cc: Neil Armstrong <narmstrong@baylibre.com> Cc: Carlo Caione <carlo@caione.org> Cc: Kevin Hilman <khilman@baylibre.com> Cc: Marek Vasut <marex@denx.de> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Eric Anholt <eric@anholt.net> Cc: Mark Yao <mark.yao@rock-chips.com> Cc: Heiko Stuebner <heiko@sntech.de> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> Cc: Vincent Abriou <vincent.abriou@st.com> Cc: Yannick Fertre <yannick.fertre@st.com> Cc: Philippe Cornu <philippe.cornu@st.com> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Chen-Yu Tsai <wens@csie.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Jonathan Hunter <jonathanh@nvidia.com> Cc: Jyri Sarha <jsarha@ti.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Shawn Guo <shawnguo@kernel.org> Cc: John Stultz <john.stultz@linaro.org> Cc: Lars-Peter Clausen <lars@metafoo.de> Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Cc: Jeffy Chen <jeffy.chen@rock-chips.com> Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> Cc: Yakir Yang <kuankuan.y@gmail.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Cc: Jose Abreu <Jose.Abreu@synopsys.com> Cc: Romain Perier <romain.perier@collabora.com> Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: Rongrong Zou <zourongrong@gmail.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Hai Li <hali@codeaurora.org> Cc: "Noralf Tr?nnes" <noralf@tronnes.org> Cc: linux-arm-kernel at lists.infradead.org Cc: linux-samsung-soc at vger.kernel.org Cc: intel-gfx at lists.freedesktop.org Cc: linux-mediatek at lists.infradead.org Cc: linux-amlogic at lists.infradead.org Cc: nouveau at lists.freedesktop.org Cc: linux-renesas-soc at vger.kernel.org Cc: linux-rockchip at lists.infradead.org Cc: linux-tegra at vger.kernel.org Cc: virtualization at lists.linux-foundation.org Cc: zain wang <wzz@rock-chips.com> Cc: Baoyou Xie <baoyou.xie@linaro.org> Cc: Boris Brezillon <boris.brezillon@free-electrons.com> --- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - drivers/gpu/drm/bridge/panel.c | 1 - drivers/gpu/drm/bridge/parade-ps8622.c | 1 - drivers/gpu/drm/bridge/sii902x.c | 1 - drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - drivers/gpu/drm/bridge/tc358767.c | 1 - drivers/gpu/drm/bridge/ti-tfp410.c | 1 - drivers/gpu/drm/drm_atomic_helper.c | 79 ---------------------- drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 - drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1 - drivers/gpu/drm/exynos/exynos_drm_vidi.c | 1 - drivers/gpu/drm/exynos/exynos_hdmi.c | 1 - drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 1 - drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 1 - drivers/gpu/drm/i2c/tda998x_drv.c | 10 +-- drivers/gpu/drm/i915/intel_crt.c | 1 - drivers/gpu/drm/i915/intel_dp.c | 1 - drivers/gpu/drm/i915/intel_dp_mst.c | 1 - drivers/gpu/drm/i915/intel_dsi.c | 1 - drivers/gpu/drm/i915/intel_dvo.c | 1 - drivers/gpu/drm/i915/intel_hdmi.c | 1 - drivers/gpu/drm/i915/intel_lvds.c | 1 - drivers/gpu/drm/i915/intel_sdvo.c | 1 - drivers/gpu/drm/i915/intel_tv.c | 1 - drivers/gpu/drm/imx/imx-ldb.c | 1 - drivers/gpu/drm/imx/imx-tve.c | 1 - drivers/gpu/drm/imx/parallel-display.c | 1 - drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - drivers/gpu/drm/meson/meson_venc_cvbs.c | 1 - drivers/gpu/drm/msm/dsi/dsi_manager.c | 1 - drivers/gpu/drm/msm/edp/edp_connector.c | 1 - drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 1 - drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c | 1 - drivers/gpu/drm/mxsfb/mxsfb_out.c | 1 - drivers/gpu/drm/nouveau/nouveau_connector.c | 12 +--- drivers/gpu/drm/nouveau/nv50_display.c | 1 - drivers/gpu/drm/omapdrm/omap_connector.c | 1 - drivers/gpu/drm/pl111/pl111_connector.c | 1 - drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 1 - drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 - drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 1 - drivers/gpu/drm/rockchip/inno_hdmi.c | 1 - drivers/gpu/drm/sti/sti_dvo.c | 1 - drivers/gpu/drm/sti/sti_hda.c | 1 - drivers/gpu/drm/sti/sti_hdmi.c | 1 - drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 1 - drivers/gpu/drm/sun4i/sun4i_rgb.c | 1 - drivers/gpu/drm/sun4i/sun4i_tv.c | 1 - drivers/gpu/drm/tegra/dsi.c | 1 - drivers/gpu/drm/tegra/hdmi.c | 1 - drivers/gpu/drm/tegra/rgb.c | 1 - drivers/gpu/drm/tegra/sor.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 1 - drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - drivers/gpu/drm/vc4/vc4_vec.c | 1 - drivers/gpu/drm/virtio/virtgpu_display.c | 1 - drivers/gpu/drm/zte/zx_hdmi.c | 1 - drivers/gpu/drm/zte/zx_tvenc.c | 1 - drivers/gpu/drm/zte/zx_vga.c | 1 - include/drm/drm_atomic_helper.h | 2 - 68 files changed, 3 insertions(+), 164 deletions(-) diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index ff9792d350c8..682c090fa3ed 100644 --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c @@ -786,7 +786,6 @@ adv7511_connector_detect(struct drm_connector *connector, bool force) } static struct drm_connector_funcs adv7511_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = adv7511_connector_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix-anx78xx.c index dc045e0c32fc..9385eb0b1ee4 100644 --- a/drivers/gpu/drm/bridge/analogix-anx78xx.c +++ b/drivers/gpu/drm/bridge/analogix-anx78xx.c @@ -1002,7 +1002,6 @@ static enum drm_connector_status anx78xx_detect(struct drm_connector *connector, } static const struct drm_connector_funcs anx78xx_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = anx78xx_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 4c758ed51939..5dd3f1cd074a 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1005,7 +1005,6 @@ analogix_dp_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs analogix_dp_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = analogix_dp_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c index 8a52539e618e..de5e7dee7ad6 100644 --- a/drivers/gpu/drm/bridge/dumb-vga-dac.c +++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c @@ -92,7 +92,6 @@ dumb_vga_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs dumb_vga_con_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = dumb_vga_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c index 11f11086a68f..7ccadba7c98c 100644 --- a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c +++ b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c @@ -193,7 +193,6 @@ static enum drm_connector_status ge_b850v3_lvds_detect( } static const struct drm_connector_funcs ge_b850v3_lvds_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = ge_b850v3_lvds_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/nxp-ptn3460.c b/drivers/gpu/drm/bridge/nxp-ptn3460.c index f0b5d0fc8594..d64a3283822a 100644 --- a/drivers/gpu/drm/bridge/nxp-ptn3460.c +++ b/drivers/gpu/drm/bridge/nxp-ptn3460.c @@ -238,7 +238,6 @@ static const struct drm_connector_helper_funcs ptn3460_connector_helper_funcs = }; static const struct drm_connector_funcs ptn3460_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c index 685c1a480201..59288b248dc5 100644 --- a/drivers/gpu/drm/bridge/panel.c +++ b/drivers/gpu/drm/bridge/panel.c @@ -50,7 +50,6 @@ panel_bridge_connector_helper_funcs = { }; static const struct drm_connector_funcs panel_bridge_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/parade-ps8622.c b/drivers/gpu/drm/bridge/parade-ps8622.c index 4f7725d4a309..81198f5e9afa 100644 --- a/drivers/gpu/drm/bridge/parade-ps8622.c +++ b/drivers/gpu/drm/bridge/parade-ps8622.c @@ -476,7 +476,6 @@ static const struct drm_connector_helper_funcs ps8622_connector_helper_funcs = { }; static const struct drm_connector_funcs ps8622_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c index 9efb7b8fad57..b1ab4ab09532 100644 --- a/drivers/gpu/drm/bridge/sii902x.c +++ b/drivers/gpu/drm/bridge/sii902x.c @@ -124,7 +124,6 @@ sii902x_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs sii902x_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = sii902x_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 60faf2d2bc6b..91ac849604a8 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -1920,7 +1920,6 @@ static void dw_hdmi_connector_force(struct drm_connector *connector) } static const struct drm_connector_funcs dw_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = dw_hdmi_connector_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c index 12a35f9c3adc..503252d6a74d 100644 --- a/drivers/gpu/drm/bridge/tc358767.c +++ b/drivers/gpu/drm/bridge/tc358767.c @@ -1160,7 +1160,6 @@ static const struct drm_connector_helper_funcs tc_connector_helper_funcs = { }; static const struct drm_connector_funcs tc_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c index 7ea2a15e8807..acb857030951 100644 --- a/drivers/gpu/drm/bridge/ti-tfp410.c +++ b/drivers/gpu/drm/bridge/ti-tfp410.c @@ -102,7 +102,6 @@ tfp410_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs tfp410_con_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = tfp410_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 1ca0dcca6230..877733ae44ac 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -3102,85 +3102,6 @@ int drm_atomic_helper_page_flip_target(struct drm_crtc *crtc, EXPORT_SYMBOL(drm_atomic_helper_page_flip_target); /** - * drm_atomic_helper_connector_dpms() - connector dpms helper implementation - * @connector: affected connector - * @mode: DPMS mode - * - * This is the main helper function provided by the atomic helper framework for - * implementing the legacy DPMS connector interface. It computes the new desired - * &drm_crtc_state.active state for the corresponding CRTC (if the connector is - * enabled) and updates it. - * - * Returns: - * Returns 0 on success, negative errno numbers on failure. - */ -int drm_atomic_helper_connector_dpms(struct drm_connector *connector, - int mode) -{ - struct drm_mode_config *config = &connector->dev->mode_config; - struct drm_atomic_state *state; - struct drm_crtc_state *crtc_state; - struct drm_crtc *crtc; - struct drm_connector *tmp_connector; - struct drm_connector_list_iter conn_iter; - int ret; - bool active = false; - int old_mode = connector->dpms; - - if (mode != DRM_MODE_DPMS_ON) - mode = DRM_MODE_DPMS_OFF; - - connector->dpms = mode; - crtc = connector->state->crtc; - - if (!crtc) - return 0; - - state = drm_atomic_state_alloc(connector->dev); - if (!state) - return -ENOMEM; - - state->acquire_ctx = crtc->dev->mode_config.acquire_ctx; -retry: - crtc_state = drm_atomic_get_crtc_state(state, crtc); - if (IS_ERR(crtc_state)) { - ret = PTR_ERR(crtc_state); - goto fail; - } - - WARN_ON(!drm_modeset_is_locked(&config->connection_mutex)); - - drm_connector_list_iter_begin(connector->dev, &conn_iter); - drm_for_each_connector_iter(tmp_connector, &conn_iter) { - if (tmp_connector->state->crtc != crtc) - continue; - - if (tmp_connector->dpms == DRM_MODE_DPMS_ON) { - active = true; - break; - } - } - drm_connector_list_iter_end(&conn_iter); - crtc_state->active = active; - - ret = drm_atomic_commit(state); -fail: - if (ret == -EDEADLK) - goto backoff; - if (ret != 0) - connector->dpms = old_mode; - drm_atomic_state_put(state); - return ret; - -backoff: - drm_atomic_state_clear(state); - drm_atomic_legacy_backoff(state); - - goto retry; -} -EXPORT_SYMBOL(drm_atomic_helper_connector_dpms); - -/** * drm_atomic_helper_best_encoder - Helper for * &drm_connector_helper_funcs.best_encoder callback * @connector: Connector control structure diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c index 63abcd280fa0..76d80e5de521 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dpi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dpi.c @@ -59,7 +59,6 @@ static void exynos_dpi_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs exynos_dpi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = exynos_dpi_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = exynos_dpi_connector_destroy, diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index f580be170089..4ea7cc7cb3de 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c @@ -1537,7 +1537,6 @@ static void exynos_dsi_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs exynos_dsi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = exynos_dsi_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = exynos_dsi_connector_destroy, diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c index cb8a72842537..9186a654c3b5 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c @@ -289,7 +289,6 @@ static void vidi_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs vidi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = vidi_detect, .destroy = vidi_connector_destroy, diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c index c953927fb0cb..0e2a472c3021 100644 --- a/drivers/gpu/drm/exynos/exynos_hdmi.c +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c @@ -835,7 +835,6 @@ static void hdmi_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = hdmi_detect, .destroy = hdmi_connector_destroy, diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c index dcbf3c06e1d8..edd7d8127d19 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c @@ -63,7 +63,6 @@ static const struct drm_connector_funcs fsl_dcu_drm_connector_funcs = { .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, .destroy = fsl_dcu_drm_connector_destroy, - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .reset = drm_atomic_helper_connector_reset, }; diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c index 12a18557c5fd..ec4dd9df9150 100644 --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c @@ -47,7 +47,6 @@ static const struct drm_connector_helper_funcs }; static const struct drm_connector_funcs hibmc_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c index d1e7ac540199..54e3255dde13 100644 --- a/drivers/gpu/drm/i2c/tda998x_drv.c +++ b/drivers/gpu/drm/i2c/tda998x_drv.c @@ -969,14 +969,6 @@ static int tda998x_audio_codec_init(struct tda998x_priv *priv, /* DRM connector functions */ -static int tda998x_connector_dpms(struct drm_connector *connector, int mode) -{ - if (drm_core_check_feature(connector->dev, DRIVER_ATOMIC)) - return drm_atomic_helper_connector_dpms(connector, mode); - else - return drm_helper_connector_dpms(connector, mode); -} - static int tda998x_connector_fill_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY) { @@ -1014,7 +1006,7 @@ static void tda998x_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs tda998x_connector_funcs = { - .dpms = tda998x_connector_dpms, + .dpms = drm_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .fill_modes = tda998x_connector_fill_modes, .detect = tda998x_connector_detect, diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index 84c3a6dc7c2a..70e0ff41070c 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c @@ -802,7 +802,6 @@ void intel_crt_reset(struct drm_encoder *encoder) */ static const struct drm_connector_funcs intel_crt_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .late_register = intel_connector_register, .early_unregister = intel_connector_unregister, diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 19b082ea57ef..76c8a0bd17f9 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -5007,7 +5007,6 @@ void intel_dp_encoder_reset(struct drm_encoder *encoder) } static const struct drm_connector_funcs intel_dp_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .force = intel_dp_force, .fill_modes = drm_helper_probe_single_connector_modes, .atomic_get_property = intel_digital_connector_atomic_get_property, diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 59a6dfd48ed4..58568559711a 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c @@ -346,7 +346,6 @@ intel_dp_mst_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs intel_dp_mst_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = intel_dp_mst_detect, .fill_modes = drm_helper_probe_single_connector_modes, .late_register = intel_connector_register, diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c index 375e7cfcf207..b0b3adf016f8 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c @@ -1653,7 +1653,6 @@ static const struct drm_connector_helper_funcs intel_dsi_connector_helper_funcs }; static const struct drm_connector_funcs intel_dsi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .late_register = intel_connector_register, .early_unregister = intel_connector_unregister, .destroy = intel_dsi_connector_destroy, diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c index 6b1970542911..baf369d2de30 100644 --- a/drivers/gpu/drm/i915/intel_dvo.c +++ b/drivers/gpu/drm/i915/intel_dvo.c @@ -344,7 +344,6 @@ static void intel_dvo_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs intel_dvo_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = intel_dvo_detect, .late_register = intel_connector_register, .early_unregister = intel_connector_unregister, diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 3074190b9455..2ef1ee85129d 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -1761,7 +1761,6 @@ static void intel_hdmi_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs intel_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = intel_hdmi_detect, .force = intel_hdmi_force, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 6579299f5d00..61d557948e21 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c @@ -595,7 +595,6 @@ static const struct drm_connector_helper_funcs intel_lvds_connector_helper_funcs }; static const struct drm_connector_funcs intel_lvds_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = intel_lvds_detect, .fill_modes = drm_helper_probe_single_connector_modes, .atomic_get_property = intel_digital_connector_atomic_get_property, diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index a8eee1984ddf..bea8152ae859 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@ -2193,7 +2193,6 @@ intel_sdvo_connector_duplicate_state(struct drm_connector *connector) } static const struct drm_connector_funcs intel_sdvo_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = intel_sdvo_detect, .fill_modes = drm_helper_probe_single_connector_modes, .atomic_get_property = intel_sdvo_connector_atomic_get_property, diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index e4ef2919b682..906893c006d8 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c @@ -1407,7 +1407,6 @@ intel_tv_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs intel_tv_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .late_register = intel_connector_register, .early_unregister = intel_connector_unregister, .destroy = intel_tv_destroy, diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c index 8b05ecb8fdef..56dd7a9a8e25 100644 --- a/drivers/gpu/drm/imx/imx-ldb.c +++ b/drivers/gpu/drm/imx/imx-ldb.c @@ -389,7 +389,6 @@ static int imx_ldb_encoder_atomic_check(struct drm_encoder *encoder, static const struct drm_connector_funcs imx_ldb_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = imx_drm_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c index 4826bb781723..bc27c2699464 100644 --- a/drivers/gpu/drm/imx/imx-tve.c +++ b/drivers/gpu/drm/imx/imx-tve.c @@ -341,7 +341,6 @@ static int imx_tve_atomic_check(struct drm_encoder *encoder, } static const struct drm_connector_funcs imx_tve_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = imx_drm_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c index 8aca20209cb8..8def97d75030 100644 --- a/drivers/gpu/drm/imx/parallel-display.c +++ b/drivers/gpu/drm/imx/parallel-display.c @@ -135,7 +135,6 @@ static int imx_pd_encoder_atomic_check(struct drm_encoder *encoder, } static const struct drm_connector_funcs imx_pd_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = imx_drm_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c index a31bd2a82de5..7e5e24c2152a 100644 --- a/drivers/gpu/drm/mediatek/mtk_dsi.c +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c @@ -766,7 +766,6 @@ static const struct drm_encoder_helper_funcs mtk_dsi_encoder_helper_funcs = { }; static const struct drm_connector_funcs mtk_dsi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c index f2437cd1e0f9..690c67507cbc 100644 --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c @@ -1261,7 +1261,6 @@ static struct drm_encoder *mtk_hdmi_conn_best_enc(struct drm_connector *conn) } static const struct drm_connector_funcs mtk_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = hdmi_conn_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = hdmi_conn_destroy, diff --git a/drivers/gpu/drm/meson/meson_venc_cvbs.c b/drivers/gpu/drm/meson/meson_venc_cvbs.c index 00775b397dba..79d95ca8a0c0 100644 --- a/drivers/gpu/drm/meson/meson_venc_cvbs.c +++ b/drivers/gpu/drm/meson/meson_venc_cvbs.c @@ -118,7 +118,6 @@ static int meson_cvbs_connector_mode_valid(struct drm_connector *connector, } static const struct drm_connector_funcs meson_cvbs_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = meson_cvbs_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = meson_cvbs_connector_destroy, diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c index a879ffa534b4..855248132b2b 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_manager.c +++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c @@ -626,7 +626,6 @@ static void dsi_mgr_bridge_mode_set(struct drm_bridge *bridge, } static const struct drm_connector_funcs dsi_mgr_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = dsi_mgr_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = dsi_mgr_connector_destroy, diff --git a/drivers/gpu/drm/msm/edp/edp_connector.c b/drivers/gpu/drm/msm/edp/edp_connector.c index 5960628ceb93..6f3fc6b0f0a3 100644 --- a/drivers/gpu/drm/msm/edp/edp_connector.c +++ b/drivers/gpu/drm/msm/edp/edp_connector.c @@ -92,7 +92,6 @@ static int edp_connector_mode_valid(struct drm_connector *connector, } static const struct drm_connector_funcs edp_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = edp_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = edp_connector_destroy, diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c index a2515b466ce5..71536d9c7fe8 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c @@ -407,7 +407,6 @@ static int msm_hdmi_connector_mode_valid(struct drm_connector *connector, } static const struct drm_connector_funcs hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = hdmi_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = hdmi_connector_destroy, diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c index 353429b05733..e3b1c86b7aae 100644 --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c @@ -91,7 +91,6 @@ static int mdp4_lvds_connector_mode_valid(struct drm_connector *connector, } static const struct drm_connector_funcs mdp4_lvds_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = mdp4_lvds_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = mdp4_lvds_connector_destroy, diff --git a/drivers/gpu/drm/mxsfb/mxsfb_out.c b/drivers/gpu/drm/mxsfb/mxsfb_out.c index f7d729aa09bd..e5edf016a439 100644 --- a/drivers/gpu/drm/mxsfb/mxsfb_out.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_out.c @@ -74,7 +74,6 @@ static void mxsfb_panel_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs mxsfb_panel_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = mxsfb_panel_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = mxsfb_panel_connector_destroy, diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c index 2468e81918fd..5137155bf3c0 100644 --- a/drivers/gpu/drm/nouveau/nouveau_connector.c +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -1072,17 +1072,9 @@ nouveau_connector_helper_funcs = { .best_encoder = nouveau_connector_best_encoder, }; -static int -nouveau_connector_dpms(struct drm_connector *connector, int mode) -{ - if (drm_drv_uses_atomic_modeset(connector->dev)) - return drm_atomic_helper_connector_dpms(connector, mode); - return drm_helper_connector_dpms(connector, mode); -} - static const struct drm_connector_funcs nouveau_connector_funcs = { - .dpms = nouveau_connector_dpms, + .dpms = drm_helper_connector_dpms, .reset = nouveau_conn_reset, .detect = nouveau_connector_detect, .force = nouveau_connector_force, @@ -1097,7 +1089,7 @@ nouveau_connector_funcs = { static const struct drm_connector_funcs nouveau_connector_funcs_lvds = { - .dpms = nouveau_connector_dpms, + .dpms = drm_helper_connector_dpms, .reset = nouveau_conn_reset, .detect = nouveau_connector_detect_lvds, .force = nouveau_connector_force, diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index 80a96eb08bbf..d442def6c965 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c @@ -3118,7 +3118,6 @@ nv50_mstc_destroy(struct drm_connector *connector) static const struct drm_connector_funcs nv50_mstc = { - .dpms = drm_atomic_helper_connector_dpms, .reset = nouveau_conn_reset, .detect = nv50_mstc_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c index c24b6b783e9a..d1ec76ef5cc6 100644 --- a/drivers/gpu/drm/omapdrm/omap_connector.c +++ b/drivers/gpu/drm/omapdrm/omap_connector.c @@ -195,7 +195,6 @@ static int omap_connector_mode_valid(struct drm_connector *connector, } static const struct drm_connector_funcs omap_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .detect = omap_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/pl111/pl111_connector.c b/drivers/gpu/drm/pl111/pl111_connector.c index 3f213d7e7692..d335f9a29ce4 100644 --- a/drivers/gpu/drm/pl111/pl111_connector.c +++ b/drivers/gpu/drm/pl111/pl111_connector.c @@ -69,7 +69,6 @@ const struct drm_connector_funcs connector_funcs = { .fill_modes = drm_helper_probe_single_connector_modes, .destroy = pl111_connector_destroy, .detect = pl111_connector_detect, - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c index ee91481131ad..b373ad48ef5f 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c @@ -46,7 +46,6 @@ static void rcar_du_lvds_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = rcar_du_lvds_connector_destroy, diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c index 9b0b0588bbed..a57da051f516 100644 --- a/drivers/gpu/drm/rockchip/cdn-dp-core.c +++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c @@ -254,7 +254,6 @@ static void cdn_dp_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs cdn_dp_atomic_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = cdn_dp_connector_detect, .destroy = cdn_dp_connector_destroy, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c index 21b9737662ae..9a20b9dc27c8 100644 --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c @@ -1080,7 +1080,6 @@ static void dw_mipi_dsi_drm_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs dw_mipi_dsi_atomic_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = dw_mipi_dsi_drm_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c index 7149968aa25a..bd87768dd549 100644 --- a/drivers/gpu/drm/rockchip/inno_hdmi.c +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c @@ -593,7 +593,6 @@ static void inno_hdmi_connector_destroy(struct drm_connector *connector) } static struct drm_connector_funcs inno_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = inno_hdmi_probe_single_connector_modes, .detect = inno_hdmi_connector_detect, .destroy = inno_hdmi_connector_destroy, diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c index a51cd9f754db..852bf2293b05 100644 --- a/drivers/gpu/drm/sti/sti_dvo.c +++ b/drivers/gpu/drm/sti/sti_dvo.c @@ -412,7 +412,6 @@ static int sti_dvo_late_register(struct drm_connector *connector) } static const struct drm_connector_funcs sti_dvo_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = sti_dvo_connector_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c index d6ed909d9d75..cf65e32b5090 100644 --- a/drivers/gpu/drm/sti/sti_hda.c +++ b/drivers/gpu/drm/sti/sti_hda.c @@ -647,7 +647,6 @@ static int sti_hda_late_register(struct drm_connector *connector) } static const struct drm_connector_funcs sti_hda_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c index 21f11dfae472..30f02d2fdd03 100644 --- a/drivers/gpu/drm/sti/sti_hdmi.c +++ b/drivers/gpu/drm/sti/sti_hdmi.c @@ -1113,7 +1113,6 @@ static int sti_hdmi_late_register(struct drm_connector *connector) } static const struct drm_connector_funcs sti_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = sti_hdmi_connector_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c index 83b7a2a025f2..f5d0d6bd1084 100644 --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c @@ -306,7 +306,6 @@ sun4i_hdmi_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs sun4i_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = sun4i_hdmi_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c index 422b191faa77..550bb262943f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_rgb.c +++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c @@ -120,7 +120,6 @@ sun4i_rgb_connector_destroy(struct drm_connector *connector) } static struct drm_connector_funcs sun4i_rgb_con_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = sun4i_rgb_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c index 338b9e5bb2a3..7b45ac9383ea 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tv.c +++ b/drivers/gpu/drm/sun4i/sun4i_tv.c @@ -546,7 +546,6 @@ sun4i_tv_comp_connector_destroy(struct drm_connector *connector) } static struct drm_connector_funcs sun4i_tv_comp_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = sun4i_tv_comp_connector_destroy, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c index 3dea1216bafd..e4b5aedfdbd4 100644 --- a/drivers/gpu/drm/tegra/dsi.c +++ b/drivers/gpu/drm/tegra/dsi.c @@ -815,7 +815,6 @@ tegra_dsi_connector_duplicate_state(struct drm_connector *connector) } static const struct drm_connector_funcs tegra_dsi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = tegra_dsi_connector_reset, .detect = tegra_output_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c index 718d8db406a6..a621b0da4092 100644 --- a/drivers/gpu/drm/tegra/hdmi.c +++ b/drivers/gpu/drm/tegra/hdmi.c @@ -902,7 +902,6 @@ tegra_hdmi_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs tegra_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .detect = tegra_hdmi_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/tegra/rgb.c b/drivers/gpu/drm/tegra/rgb.c index a131b44e2d6f..78ec5193741d 100644 --- a/drivers/gpu/drm/tegra/rgb.c +++ b/drivers/gpu/drm/tegra/rgb.c @@ -88,7 +88,6 @@ static void tegra_dc_write_regs(struct tegra_dc *dc, } static const struct drm_connector_funcs tegra_rgb_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .detect = tegra_output_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c index fb2709c0c461..e0642d05a8d3 100644 --- a/drivers/gpu/drm/tegra/sor.c +++ b/drivers/gpu/drm/tegra/sor.c @@ -1340,7 +1340,6 @@ tegra_sor_connector_duplicate_state(struct drm_connector *connector) } static const struct drm_connector_funcs tegra_sor_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = tegra_sor_connector_reset, .detect = tegra_sor_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c index 28c3e2f44f64..1813a3623ce6 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c @@ -189,7 +189,6 @@ static struct drm_encoder *panel_connector_best_encoder( static const struct drm_connector_funcs panel_connector_funcs = { .destroy = panel_connector_destroy, - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .reset = drm_atomic_helper_connector_reset, .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c index aabfad882e23..1e2dfb1b1d6b 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c @@ -202,7 +202,6 @@ static struct drm_encoder *tfp410_connector_best_encoder( static const struct drm_connector_funcs tfp410_connector_funcs = { .destroy = tfp410_connector_destroy, - .dpms = drm_atomic_helper_connector_dpms, .detect = tfp410_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c index ec43fb7ad9e4..79b6687977d3 100644 --- a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c @@ -71,7 +71,6 @@ static void tinydrm_connector_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs tinydrm_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .reset = drm_atomic_helper_connector_reset, .detect = tinydrm_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 406d6d83b6c6..b249b79ce04a 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -265,7 +265,6 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) } static const struct drm_connector_funcs vc4_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = vc4_hdmi_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = vc4_hdmi_connector_destroy, diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c index 369fea5a13a1..3a9a302247a2 100644 --- a/drivers/gpu/drm/vc4/vc4_vec.c +++ b/drivers/gpu/drm/vc4/vc4_vec.c @@ -366,7 +366,6 @@ static int vc4_vec_connector_get_modes(struct drm_connector *connector) } static const struct drm_connector_funcs vc4_vec_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = vc4_vec_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = vc4_vec_connector_destroy, diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c index ffd22e5ab43a..b6d52055a11f 100644 --- a/drivers/gpu/drm/virtio/virtgpu_display.c +++ b/drivers/gpu/drm/virtio/virtgpu_display.c @@ -252,7 +252,6 @@ static void virtio_gpu_conn_destroy(struct drm_connector *connector) } static const struct drm_connector_funcs virtio_gpu_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .detect = virtio_gpu_conn_detect, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = virtio_gpu_conn_destroy, diff --git a/drivers/gpu/drm/zte/zx_hdmi.c b/drivers/gpu/drm/zte/zx_hdmi.c index 7e834e3eeed9..b8abb1b496ff 100644 --- a/drivers/gpu/drm/zte/zx_hdmi.c +++ b/drivers/gpu/drm/zte/zx_hdmi.c @@ -300,7 +300,6 @@ zx_hdmi_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs zx_hdmi_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = zx_hdmi_connector_detect, .destroy = drm_connector_cleanup, diff --git a/drivers/gpu/drm/zte/zx_tvenc.c b/drivers/gpu/drm/zte/zx_tvenc.c index b56dc69843fc..0de1a71ca4e0 100644 --- a/drivers/gpu/drm/zte/zx_tvenc.c +++ b/drivers/gpu/drm/zte/zx_tvenc.c @@ -269,7 +269,6 @@ static struct drm_connector_helper_funcs zx_tvenc_connector_helper_funcs = { }; static const struct drm_connector_funcs zx_tvenc_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .destroy = drm_connector_cleanup, .reset = drm_atomic_helper_connector_reset, diff --git a/drivers/gpu/drm/zte/zx_vga.c b/drivers/gpu/drm/zte/zx_vga.c index 1e0811f775cb..3e7e33cd3dfa 100644 --- a/drivers/gpu/drm/zte/zx_vga.c +++ b/drivers/gpu/drm/zte/zx_vga.c @@ -138,7 +138,6 @@ zx_vga_connector_detect(struct drm_connector *connector, bool force) } static const struct drm_connector_funcs zx_vga_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, .fill_modes = drm_helper_probe_single_connector_modes, .detect = zx_vga_connector_detect, .destroy = drm_connector_cleanup, diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h index 619089a027ec..d2b56cc657e9 100644 --- a/include/drm/drm_atomic_helper.h +++ b/include/drm/drm_atomic_helper.h @@ -136,8 +136,6 @@ int drm_atomic_helper_page_flip_target( uint32_t flags, uint32_t target, struct drm_modeset_acquire_ctx *ctx); -int drm_atomic_helper_connector_dpms(struct drm_connector *connector, - int mode); struct drm_encoder * drm_atomic_helper_best_encoder(struct drm_connector *connector); -- 2.13.3 ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter @ 2017-07-25 8:04 ` Neil Armstrong -1 siblings, 0 replies; 84+ messages in thread From: Neil Armstrong @ 2017-07-25 8:04 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: Martyn Welch, nouveau, DRI Development, virtualization, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Romain Perier, Daniel Vetter, Jyri Sarha, Marek Vasut, linux-renesas-soc, Kevin Hilman, Alexey Brodkin, Russell King, Krzysztof Kozlowski, Jonathan Hunter, Xinliang Liu, linux-rockchip, Chen-Yu Tsai, Kukjin Kim, Peter Senna Tschudin, Ben Skeggs Le 25/07/2017 10:01, Daniel Vetter a écrit : > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: Andrzej Hajda <a.hajda@samsung.com> > Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> > Cc: Peter Senna Tschudin <peter.senna@collabora.com> > Cc: Martin Donnelly <martin.donnelly@ge.com> > Cc: Martyn Welch <martyn.welch@collabora.co.uk> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Stefan Agner <stefan@agner.ch> > Cc: Alison Wang <alison.wang@freescale.com> > Cc: Russell King <linux@armlinux.org.uk> > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Cc: CK Hu <ck.hu@mediatek.com> > Cc: Matthias Brugger <matthias.bgg@gmail.com> > Cc: Neil Armstrong <narmstrong@baylibre.com> > Cc: Carlo Caione <carlo@caione.org> > Cc: Kevin Hilman <khilman@baylibre.com> > Cc: Marek Vasut <marex@denx.de> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Eric Anholt <eric@anholt.net> > Cc: Mark Yao <mark.yao@rock-chips.com> > Cc: Heiko Stuebner <heiko@sntech.de> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Chen-Yu Tsai <wens@csie.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Jonathan Hunter <jonathanh@nvidia.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Shawn Guo <shawnguo@kernel.org> > Cc: John Stultz <john.stultz@linaro.org> > Cc: Lars-Peter Clausen <lars@metafoo.de> > Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Cc: Jeffy Chen <jeffy.chen@rock-chips.com> > Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> > Cc: Yakir Yang <kuankuan.y@gmail.com> > Cc: Marek Szyprowski <m.szyprowski@samsung.com> > Cc: Jose Abreu <Jose.Abreu@synopsys.com> > Cc: Romain Perier <romain.perier@collabora.com> > Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Alex Deucher <alexander.deucher@amd.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Hai Li <hali@codeaurora.org> > Cc: "Noralf Trønnes" <noralf@tronnes.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: linux-mediatek@lists.infradead.org > Cc: linux-amlogic@lists.infradead.org > Cc: nouveau@lists.freedesktop.org > Cc: linux-renesas-soc@vger.kernel.org > Cc: linux-rockchip@lists.infradead.org > Cc: linux-tegra@vger.kernel.org > Cc: virtualization@lists.linux-foundation.org > Cc: zain wang <wzz@rock-chips.com> > Cc: Baoyou Xie <baoyou.xie@linaro.org> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - > drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - > drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - > .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - > drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - > drivers/gpu/drm/bridge/panel.c | 1 - > drivers/gpu/drm/bridge/parade-ps8622.c | 1 - > drivers/gpu/drm/bridge/sii902x.c | 1 - > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - > drivers/gpu/drm/bridge/tc358767.c | 1 - > drivers/gpu/drm/bridge/ti-tfp410.c | 1 - > drivers/gpu/drm/drm_atomic_helper.c | 79 ---------------------- > drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_vidi.c | 1 - > drivers/gpu/drm/exynos/exynos_hdmi.c | 1 - > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 1 - > drivers/gpu/drm/i2c/tda998x_drv.c | 10 +-- > drivers/gpu/drm/i915/intel_crt.c | 1 - > drivers/gpu/drm/i915/intel_dp.c | 1 - > drivers/gpu/drm/i915/intel_dp_mst.c | 1 - > drivers/gpu/drm/i915/intel_dsi.c | 1 - > drivers/gpu/drm/i915/intel_dvo.c | 1 - > drivers/gpu/drm/i915/intel_hdmi.c | 1 - > drivers/gpu/drm/i915/intel_lvds.c | 1 - > drivers/gpu/drm/i915/intel_sdvo.c | 1 - > drivers/gpu/drm/i915/intel_tv.c | 1 - > drivers/gpu/drm/imx/imx-ldb.c | 1 - > drivers/gpu/drm/imx/imx-tve.c | 1 - > drivers/gpu/drm/imx/parallel-display.c | 1 - > drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - > drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - > drivers/gpu/drm/meson/meson_venc_cvbs.c | 1 - > drivers/gpu/drm/msm/dsi/dsi_manager.c | 1 - > drivers/gpu/drm/msm/edp/edp_connector.c | 1 - > drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 1 - > drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c | 1 - > drivers/gpu/drm/mxsfb/mxsfb_out.c | 1 - > drivers/gpu/drm/nouveau/nouveau_connector.c | 12 +--- > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_connector.c | 1 - > drivers/gpu/drm/pl111/pl111_connector.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 1 - > drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 - > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 1 - > drivers/gpu/drm/rockchip/inno_hdmi.c | 1 - > drivers/gpu/drm/sti/sti_dvo.c | 1 - > drivers/gpu/drm/sti/sti_hda.c | 1 - > drivers/gpu/drm/sti/sti_hdmi.c | 1 - > drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 1 - > drivers/gpu/drm/sun4i/sun4i_rgb.c | 1 - > drivers/gpu/drm/sun4i/sun4i_tv.c | 1 - > drivers/gpu/drm/tegra/dsi.c | 1 - > drivers/gpu/drm/tegra/hdmi.c | 1 - > drivers/gpu/drm/tegra/rgb.c | 1 - > drivers/gpu/drm/tegra/sor.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - > drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 1 - > drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - > drivers/gpu/drm/vc4/vc4_vec.c | 1 - > drivers/gpu/drm/virtio/virtgpu_display.c | 1 - > drivers/gpu/drm/zte/zx_hdmi.c | 1 - > drivers/gpu/drm/zte/zx_tvenc.c | 1 - > drivers/gpu/drm/zte/zx_vga.c | 1 - > include/drm/drm_atomic_helper.h | 2 - > 68 files changed, 3 insertions(+), 164 deletions(-) > > diff --git a/drivers/gpu/drm/meson/meson_venc_cvbs.c b/drivers/gpu/drm/meson/meson_venc_cvbs.c > index 00775b397dba..79d95ca8a0c0 100644 > --- a/drivers/gpu/drm/meson/meson_venc_cvbs.c > +++ b/drivers/gpu/drm/meson/meson_venc_cvbs.c > @@ -118,7 +118,6 @@ static int meson_cvbs_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs meson_cvbs_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = meson_cvbs_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = meson_cvbs_connector_destroy, For meson driver : Acked-by: Neil Armstrong <narmstrong@baylibre.com> For the rest: Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms @ 2017-07-25 8:04 ` Neil Armstrong 0 siblings, 0 replies; 84+ messages in thread From: Neil Armstrong @ 2017-07-25 8:04 UTC (permalink / raw) To: linus-amlogic Le 25/07/2017 10:01, Daniel Vetter a ?crit : > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: Andrzej Hajda <a.hajda@samsung.com> > Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> > Cc: Peter Senna Tschudin <peter.senna@collabora.com> > Cc: Martin Donnelly <martin.donnelly@ge.com> > Cc: Martyn Welch <martyn.welch@collabora.co.uk> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Stefan Agner <stefan@agner.ch> > Cc: Alison Wang <alison.wang@freescale.com> > Cc: Russell King <linux@armlinux.org.uk> > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Cc: CK Hu <ck.hu@mediatek.com> > Cc: Matthias Brugger <matthias.bgg@gmail.com> > Cc: Neil Armstrong <narmstrong@baylibre.com> > Cc: Carlo Caione <carlo@caione.org> > Cc: Kevin Hilman <khilman@baylibre.com> > Cc: Marek Vasut <marex@denx.de> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Eric Anholt <eric@anholt.net> > Cc: Mark Yao <mark.yao@rock-chips.com> > Cc: Heiko Stuebner <heiko@sntech.de> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Chen-Yu Tsai <wens@csie.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Jonathan Hunter <jonathanh@nvidia.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Shawn Guo <shawnguo@kernel.org> > Cc: John Stultz <john.stultz@linaro.org> > Cc: Lars-Peter Clausen <lars@metafoo.de> > Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Cc: Jeffy Chen <jeffy.chen@rock-chips.com> > Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> > Cc: Yakir Yang <kuankuan.y@gmail.com> > Cc: Marek Szyprowski <m.szyprowski@samsung.com> > Cc: Jose Abreu <Jose.Abreu@synopsys.com> > Cc: Romain Perier <romain.perier@collabora.com> > Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Alex Deucher <alexander.deucher@amd.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Hai Li <hali@codeaurora.org> > Cc: "Noralf Tr?nnes" <noralf@tronnes.org> > Cc: linux-arm-kernel at lists.infradead.org > Cc: linux-samsung-soc at vger.kernel.org > Cc: intel-gfx at lists.freedesktop.org > Cc: linux-mediatek at lists.infradead.org > Cc: linux-amlogic at lists.infradead.org > Cc: nouveau at lists.freedesktop.org > Cc: linux-renesas-soc at vger.kernel.org > Cc: linux-rockchip at lists.infradead.org > Cc: linux-tegra at vger.kernel.org > Cc: virtualization at lists.linux-foundation.org > Cc: zain wang <wzz@rock-chips.com> > Cc: Baoyou Xie <baoyou.xie@linaro.org> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - > drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - > drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - > .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - > drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - > drivers/gpu/drm/bridge/panel.c | 1 - > drivers/gpu/drm/bridge/parade-ps8622.c | 1 - > drivers/gpu/drm/bridge/sii902x.c | 1 - > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - > drivers/gpu/drm/bridge/tc358767.c | 1 - > drivers/gpu/drm/bridge/ti-tfp410.c | 1 - > drivers/gpu/drm/drm_atomic_helper.c | 79 ---------------------- > drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_vidi.c | 1 - > drivers/gpu/drm/exynos/exynos_hdmi.c | 1 - > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 1 - > drivers/gpu/drm/i2c/tda998x_drv.c | 10 +-- > drivers/gpu/drm/i915/intel_crt.c | 1 - > drivers/gpu/drm/i915/intel_dp.c | 1 - > drivers/gpu/drm/i915/intel_dp_mst.c | 1 - > drivers/gpu/drm/i915/intel_dsi.c | 1 - > drivers/gpu/drm/i915/intel_dvo.c | 1 - > drivers/gpu/drm/i915/intel_hdmi.c | 1 - > drivers/gpu/drm/i915/intel_lvds.c | 1 - > drivers/gpu/drm/i915/intel_sdvo.c | 1 - > drivers/gpu/drm/i915/intel_tv.c | 1 - > drivers/gpu/drm/imx/imx-ldb.c | 1 - > drivers/gpu/drm/imx/imx-tve.c | 1 - > drivers/gpu/drm/imx/parallel-display.c | 1 - > drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - > drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - > drivers/gpu/drm/meson/meson_venc_cvbs.c | 1 - > drivers/gpu/drm/msm/dsi/dsi_manager.c | 1 - > drivers/gpu/drm/msm/edp/edp_connector.c | 1 - > drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 1 - > drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c | 1 - > drivers/gpu/drm/mxsfb/mxsfb_out.c | 1 - > drivers/gpu/drm/nouveau/nouveau_connector.c | 12 +--- > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_connector.c | 1 - > drivers/gpu/drm/pl111/pl111_connector.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 1 - > drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 - > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 1 - > drivers/gpu/drm/rockchip/inno_hdmi.c | 1 - > drivers/gpu/drm/sti/sti_dvo.c | 1 - > drivers/gpu/drm/sti/sti_hda.c | 1 - > drivers/gpu/drm/sti/sti_hdmi.c | 1 - > drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 1 - > drivers/gpu/drm/sun4i/sun4i_rgb.c | 1 - > drivers/gpu/drm/sun4i/sun4i_tv.c | 1 - > drivers/gpu/drm/tegra/dsi.c | 1 - > drivers/gpu/drm/tegra/hdmi.c | 1 - > drivers/gpu/drm/tegra/rgb.c | 1 - > drivers/gpu/drm/tegra/sor.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - > drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 1 - > drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - > drivers/gpu/drm/vc4/vc4_vec.c | 1 - > drivers/gpu/drm/virtio/virtgpu_display.c | 1 - > drivers/gpu/drm/zte/zx_hdmi.c | 1 - > drivers/gpu/drm/zte/zx_tvenc.c | 1 - > drivers/gpu/drm/zte/zx_vga.c | 1 - > include/drm/drm_atomic_helper.h | 2 - > 68 files changed, 3 insertions(+), 164 deletions(-) > > diff --git a/drivers/gpu/drm/meson/meson_venc_cvbs.c b/drivers/gpu/drm/meson/meson_venc_cvbs.c > index 00775b397dba..79d95ca8a0c0 100644 > --- a/drivers/gpu/drm/meson/meson_venc_cvbs.c > +++ b/drivers/gpu/drm/meson/meson_venc_cvbs.c > @@ -118,7 +118,6 @@ static int meson_cvbs_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs meson_cvbs_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = meson_cvbs_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = meson_cvbs_connector_destroy, For meson driver : Acked-by: Neil Armstrong <narmstrong@baylibre.com> For the rest: Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter (?) (?) @ 2017-07-25 8:04 ` Neil Armstrong -1 siblings, 0 replies; 84+ messages in thread From: Neil Armstrong @ 2017-07-25 8:04 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: Martyn Welch, David Airlie, nouveau, DRI Development, virtualization, Andrzej Hajda, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Benjamin Gaignard, Romain Perier, Daniel Vetter, Jyri Sarha, Heiko Stuebner, Marek Vasut, linux-renesas-soc, Archit Taneja, Lars-Peter Clausen, Joonyoung Shim, Kevin Hilman, Alexey Brodkin, Russell King, Krzysztof Le 25/07/2017 10:01, Daniel Vetter a écrit : > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: Andrzej Hajda <a.hajda@samsung.com> > Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> > Cc: Peter Senna Tschudin <peter.senna@collabora.com> > Cc: Martin Donnelly <martin.donnelly@ge.com> > Cc: Martyn Welch <martyn.welch@collabora.co.uk> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Stefan Agner <stefan@agner.ch> > Cc: Alison Wang <alison.wang@freescale.com> > Cc: Russell King <linux@armlinux.org.uk> > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Cc: CK Hu <ck.hu@mediatek.com> > Cc: Matthias Brugger <matthias.bgg@gmail.com> > Cc: Neil Armstrong <narmstrong@baylibre.com> > Cc: Carlo Caione <carlo@caione.org> > Cc: Kevin Hilman <khilman@baylibre.com> > Cc: Marek Vasut <marex@denx.de> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Eric Anholt <eric@anholt.net> > Cc: Mark Yao <mark.yao@rock-chips.com> > Cc: Heiko Stuebner <heiko@sntech.de> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Chen-Yu Tsai <wens@csie.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Jonathan Hunter <jonathanh@nvidia.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Shawn Guo <shawnguo@kernel.org> > Cc: John Stultz <john.stultz@linaro.org> > Cc: Lars-Peter Clausen <lars@metafoo.de> > Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Cc: Jeffy Chen <jeffy.chen@rock-chips.com> > Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> > Cc: Yakir Yang <kuankuan.y@gmail.com> > Cc: Marek Szyprowski <m.szyprowski@samsung.com> > Cc: Jose Abreu <Jose.Abreu@synopsys.com> > Cc: Romain Perier <romain.perier@collabora.com> > Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Alex Deucher <alexander.deucher@amd.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Hai Li <hali@codeaurora.org> > Cc: "Noralf Trønnes" <noralf@tronnes.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: linux-mediatek@lists.infradead.org > Cc: linux-amlogic@lists.infradead.org > Cc: nouveau@lists.freedesktop.org > Cc: linux-renesas-soc@vger.kernel.org > Cc: linux-rockchip@lists.infradead.org > Cc: linux-tegra@vger.kernel.org > Cc: virtualization@lists.linux-foundation.org > Cc: zain wang <wzz@rock-chips.com> > Cc: Baoyou Xie <baoyou.xie@linaro.org> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - > drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - > drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - > .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - > drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - > drivers/gpu/drm/bridge/panel.c | 1 - > drivers/gpu/drm/bridge/parade-ps8622.c | 1 - > drivers/gpu/drm/bridge/sii902x.c | 1 - > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - > drivers/gpu/drm/bridge/tc358767.c | 1 - > drivers/gpu/drm/bridge/ti-tfp410.c | 1 - > drivers/gpu/drm/drm_atomic_helper.c | 79 ---------------------- > drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_vidi.c | 1 - > drivers/gpu/drm/exynos/exynos_hdmi.c | 1 - > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 1 - > drivers/gpu/drm/i2c/tda998x_drv.c | 10 +-- > drivers/gpu/drm/i915/intel_crt.c | 1 - > drivers/gpu/drm/i915/intel_dp.c | 1 - > drivers/gpu/drm/i915/intel_dp_mst.c | 1 - > drivers/gpu/drm/i915/intel_dsi.c | 1 - > drivers/gpu/drm/i915/intel_dvo.c | 1 - > drivers/gpu/drm/i915/intel_hdmi.c | 1 - > drivers/gpu/drm/i915/intel_lvds.c | 1 - > drivers/gpu/drm/i915/intel_sdvo.c | 1 - > drivers/gpu/drm/i915/intel_tv.c | 1 - > drivers/gpu/drm/imx/imx-ldb.c | 1 - > drivers/gpu/drm/imx/imx-tve.c | 1 - > drivers/gpu/drm/imx/parallel-display.c | 1 - > drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - > drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - > drivers/gpu/drm/meson/meson_venc_cvbs.c | 1 - > drivers/gpu/drm/msm/dsi/dsi_manager.c | 1 - > drivers/gpu/drm/msm/edp/edp_connector.c | 1 - > drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 1 - > drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c | 1 - > drivers/gpu/drm/mxsfb/mxsfb_out.c | 1 - > drivers/gpu/drm/nouveau/nouveau_connector.c | 12 +--- > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_connector.c | 1 - > drivers/gpu/drm/pl111/pl111_connector.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 1 - > drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 - > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 1 - > drivers/gpu/drm/rockchip/inno_hdmi.c | 1 - > drivers/gpu/drm/sti/sti_dvo.c | 1 - > drivers/gpu/drm/sti/sti_hda.c | 1 - > drivers/gpu/drm/sti/sti_hdmi.c | 1 - > drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 1 - > drivers/gpu/drm/sun4i/sun4i_rgb.c | 1 - > drivers/gpu/drm/sun4i/sun4i_tv.c | 1 - > drivers/gpu/drm/tegra/dsi.c | 1 - > drivers/gpu/drm/tegra/hdmi.c | 1 - > drivers/gpu/drm/tegra/rgb.c | 1 - > drivers/gpu/drm/tegra/sor.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - > drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 1 - > drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - > drivers/gpu/drm/vc4/vc4_vec.c | 1 - > drivers/gpu/drm/virtio/virtgpu_display.c | 1 - > drivers/gpu/drm/zte/zx_hdmi.c | 1 - > drivers/gpu/drm/zte/zx_tvenc.c | 1 - > drivers/gpu/drm/zte/zx_vga.c | 1 - > include/drm/drm_atomic_helper.h | 2 - > 68 files changed, 3 insertions(+), 164 deletions(-) > > diff --git a/drivers/gpu/drm/meson/meson_venc_cvbs.c b/drivers/gpu/drm/meson/meson_venc_cvbs.c > index 00775b397dba..79d95ca8a0c0 100644 > --- a/drivers/gpu/drm/meson/meson_venc_cvbs.c > +++ b/drivers/gpu/drm/meson/meson_venc_cvbs.c > @@ -118,7 +118,6 @@ static int meson_cvbs_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs meson_cvbs_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = meson_cvbs_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = meson_cvbs_connector_destroy, For meson driver : Acked-by: Neil Armstrong <narmstrong@baylibre.com> For the rest: Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter @ 2017-07-25 8:59 ` Philipp Zabel -1 siblings, 0 replies; 84+ messages in thread From: Philipp Zabel @ 2017-07-25 8:59 UTC (permalink / raw) To: Daniel Vetter Cc: Martyn Welch, Neil Armstrong, nouveau, DRI Development, virtualization, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Romain Perier, Daniel Vetter, Jyri Sarha, Marek Vasut, linux-renesas-soc, Kevin Hilman, Alexey Brodkin, Russell King, Krzysztof Kozlowski, Jonathan Hunter, Xinliang Liu, linux-rockchip, Chen-Yu Tsai, Kukjin Kim, Peter Senna Tschudin On Tue, 2017-07-25 at 10:01 +0200, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [...] > drivers/gpu/drm/imx/imx-ldb.c | 1 - > drivers/gpu/drm/imx/imx-tve.c | 1 - > drivers/gpu/drm/imx/parallel-display.c | 1 - > drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - > drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - Acked-by: Philipp Zabel <p.zabel@pengutronix.de> regards Philipp _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms @ 2017-07-25 8:59 ` Philipp Zabel 0 siblings, 0 replies; 84+ messages in thread From: Philipp Zabel @ 2017-07-25 8:59 UTC (permalink / raw) To: linus-amlogic On Tue, 2017-07-25 at 10:01 +0200, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [...] > drivers/gpu/drm/imx/imx-ldb.c | 1 - > drivers/gpu/drm/imx/imx-tve.c | 1 - > drivers/gpu/drm/imx/parallel-display.c | 1 - > drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - > drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - Acked-by: Philipp Zabel <p.zabel@pengutronix.de> regards Philipp ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter ` (3 preceding siblings ...) (?) @ 2017-07-25 8:59 ` Philipp Zabel -1 siblings, 0 replies; 84+ messages in thread From: Philipp Zabel @ 2017-07-25 8:59 UTC (permalink / raw) To: Daniel Vetter Cc: Martyn Welch, Neil Armstrong, David Airlie, nouveau, DRI Development, virtualization, Andrzej Hajda, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Benjamin Gaignard, Romain Perier, Daniel Vetter, Jyri Sarha, Heiko Stuebner, Marek Vasut, linux-renesas-soc, Archit Taneja, Lars-Peter Clausen, Joonyoung Shim, Kevin Hilman, Alexey Brodkin, Russell On Tue, 2017-07-25 at 10:01 +0200, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [...] > drivers/gpu/drm/imx/imx-ldb.c | 1 - > drivers/gpu/drm/imx/imx-tve.c | 1 - > drivers/gpu/drm/imx/parallel-display.c | 1 - > drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - > drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - Acked-by: Philipp Zabel <p.zabel@pengutronix.de> regards Philipp ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter @ 2017-07-25 9:30 ` Archit Taneja -1 siblings, 0 replies; 84+ messages in thread From: Archit Taneja @ 2017-07-25 9:30 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: Martyn Welch, Neil Armstrong, nouveau, virtualization, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Romain Perier, Daniel Vetter, Jyri Sarha, Marek Vasut, linux-renesas-soc, Kevin Hilman, Alexey Brodkin, Russell King, Krzysztof Kozlowski, Jonathan Hunter, Xinliang Liu, linux-rockchip, Chen-Yu Tsai, Kukjin Kim, Peter Senna Tschudin, Ben Skeggs On 07/25/2017 01:31 PM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. s/brideg/bridge <snip> > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - > drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - > drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - > .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - > drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - > drivers/gpu/drm/bridge/panel.c | 1 - > drivers/gpu/drm/bridge/parade-ps8622.c | 1 - > drivers/gpu/drm/bridge/sii902x.c | 1 - > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - > drivers/gpu/drm/bridge/tc358767.c | 1 - > drivers/gpu/drm/bridge/ti-tfp410.c | 1 - For bridge changes: Acked-by: Archit Taneja <architt@codeaurora.org> Archit -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms @ 2017-07-25 9:30 ` Archit Taneja 0 siblings, 0 replies; 84+ messages in thread From: Archit Taneja @ 2017-07-25 9:30 UTC (permalink / raw) To: linus-amlogic On 07/25/2017 01:31 PM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. s/brideg/bridge <snip> > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - > drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - > drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - > .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - > drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - > drivers/gpu/drm/bridge/panel.c | 1 - > drivers/gpu/drm/bridge/parade-ps8622.c | 1 - > drivers/gpu/drm/bridge/sii902x.c | 1 - > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - > drivers/gpu/drm/bridge/tc358767.c | 1 - > drivers/gpu/drm/bridge/ti-tfp410.c | 1 - For bridge changes: Acked-by: Archit Taneja <architt@codeaurora.org> Archit -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter ` (5 preceding siblings ...) (?) @ 2017-07-25 9:30 ` Archit Taneja -1 siblings, 0 replies; 84+ messages in thread From: Archit Taneja @ 2017-07-25 9:30 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: Martyn Welch, Neil Armstrong, David Airlie, nouveau, Stefan Agner, virtualization, Andrzej Hajda, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Benjamin Gaignard, Romain Perier, Daniel Vetter, Jyri Sarha, Heiko Stuebner, Marek Vasut, linux-renesas-soc, Lars-Peter Clausen, Joonyoung Shim, Kevin Hilman, Alexey Brodkin, Russell King, Krzysztof Kozlowski On 07/25/2017 01:31 PM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. s/brideg/bridge <snip> > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - > drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - > drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - > .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - > drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - > drivers/gpu/drm/bridge/panel.c | 1 - > drivers/gpu/drm/bridge/parade-ps8622.c | 1 - > drivers/gpu/drm/bridge/sii902x.c | 1 - > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - > drivers/gpu/drm/bridge/tc358767.c | 1 - > drivers/gpu/drm/bridge/ti-tfp410.c | 1 - For bridge changes: Acked-by: Archit Taneja <architt@codeaurora.org> Archit -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter ` (6 preceding siblings ...) (?) @ 2017-07-25 10:07 ` Philippe CORNU -1 siblings, 0 replies; 84+ messages in thread From: Philippe CORNU @ 2017-07-25 10:07 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: Martyn Welch, Neil Armstrong, David Airlie, nouveau, DRI Development, virtualization, Andrzej Hajda, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Benjamin Gaignard, Romain Perier, Daniel Vetter, Jyri Sarha, Heiko Stuebner, Marek Vasut, linux-renesas-soc, Archit Taneja, Lars-Pete On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: Andrzej Hajda <a.hajda@samsung.com> > Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> > Cc: Peter Senna Tschudin <peter.senna@collabora.com> > Cc: Martin Donnelly <martin.donnelly@ge.com> > Cc: Martyn Welch <martyn.welch@collabora.co.uk> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Stefan Agner <stefan@agner.ch> > Cc: Alison Wang <alison.wang@freescale.com> > Cc: Russell King <linux@armlinux.org.uk> > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Cc: CK Hu <ck.hu@mediatek.com> > Cc: Matthias Brugger <matthias.bgg@gmail.com> > Cc: Neil Armstrong <narmstrong@baylibre.com> > Cc: Carlo Caione <carlo@caione.org> > Cc: Kevin Hilman <khilman@baylibre.com> > Cc: Marek Vasut <marex@denx.de> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Eric Anholt <eric@anholt.net> > Cc: Mark Yao <mark.yao@rock-chips.com> > Cc: Heiko Stuebner <heiko@sntech.de> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> Tested-by: Philippe Cornu <philippe.cornu@st.com> (on stm) Many thanks Philippe :-) > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Chen-Yu Tsai <wens@csie.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Jonathan Hunter <jonathanh@nvidia.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Shawn Guo <shawnguo@kernel.org> > Cc: John Stultz <john.stultz@linaro.org> > Cc: Lars-Peter Clausen <lars@metafoo.de> > Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Cc: Jeffy Chen <jeffy.chen@rock-chips.com> > Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> > Cc: Yakir Yang <kuankuan.y@gmail.com> > Cc: Marek Szyprowski <m.szyprowski@samsung.com> > Cc: Jose Abreu <Jose.Abreu@synopsys.com> > Cc: Romain Perier <romain.perier@collabora.com> > Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Alex Deucher <alexander.deucher@amd.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Hai Li <hali@codeaurora.org> > Cc: "Noralf Trønnes" <noralf@tronnes.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: linux-mediatek@lists.infradead.org > Cc: linux-amlogic@lists.infradead.org > Cc: nouveau@lists.freedesktop.org > Cc: linux-renesas-soc@vger.kernel.org > Cc: linux-rockchip@lists.infradead.org > Cc: linux-tegra@vger.kernel.org > Cc: virtualization@lists.linux-foundation.org > Cc: zain wang <wzz@rock-chips.com> > Cc: Baoyou Xie <baoyou.xie@linaro.org> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - > drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - > drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - > .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - > drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - > drivers/gpu/drm/bridge/panel.c | 1 - > drivers/gpu/drm/bridge/parade-ps8622.c | 1 - > drivers/gpu/drm/bridge/sii902x.c | 1 - > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - > drivers/gpu/drm/bridge/tc358767.c | 1 - > drivers/gpu/drm/bridge/ti-tfp410.c | 1 - > drivers/gpu/drm/drm_atomic_helper.c | 79 ---------------------- > drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_vidi.c | 1 - > drivers/gpu/drm/exynos/exynos_hdmi.c | 1 - > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 1 - > drivers/gpu/drm/i2c/tda998x_drv.c | 10 +-- > drivers/gpu/drm/i915/intel_crt.c | 1 - > drivers/gpu/drm/i915/intel_dp.c | 1 - > drivers/gpu/drm/i915/intel_dp_mst.c | 1 - > drivers/gpu/drm/i915/intel_dsi.c | 1 - > drivers/gpu/drm/i915/intel_dvo.c | 1 - > drivers/gpu/drm/i915/intel_hdmi.c | 1 - > drivers/gpu/drm/i915/intel_lvds.c | 1 - > drivers/gpu/drm/i915/intel_sdvo.c | 1 - > drivers/gpu/drm/i915/intel_tv.c | 1 - > drivers/gpu/drm/imx/imx-ldb.c | 1 - > drivers/gpu/drm/imx/imx-tve.c | 1 - > drivers/gpu/drm/imx/parallel-display.c | 1 - > drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - > drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - > drivers/gpu/drm/meson/meson_venc_cvbs.c | 1 - > drivers/gpu/drm/msm/dsi/dsi_manager.c | 1 - > drivers/gpu/drm/msm/edp/edp_connector.c | 1 - > drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 1 - > drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c | 1 - > drivers/gpu/drm/mxsfb/mxsfb_out.c | 1 - > drivers/gpu/drm/nouveau/nouveau_connector.c | 12 +--- > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_connector.c | 1 - > drivers/gpu/drm/pl111/pl111_connector.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 1 - > drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 - > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 1 - > drivers/gpu/drm/rockchip/inno_hdmi.c | 1 - > drivers/gpu/drm/sti/sti_dvo.c | 1 - > drivers/gpu/drm/sti/sti_hda.c | 1 - > drivers/gpu/drm/sti/sti_hdmi.c | 1 - > drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 1 - > drivers/gpu/drm/sun4i/sun4i_rgb.c | 1 - > drivers/gpu/drm/sun4i/sun4i_tv.c | 1 - > drivers/gpu/drm/tegra/dsi.c | 1 - > drivers/gpu/drm/tegra/hdmi.c | 1 - > drivers/gpu/drm/tegra/rgb.c | 1 - > drivers/gpu/drm/tegra/sor.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - > drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 1 - > drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - > drivers/gpu/drm/vc4/vc4_vec.c | 1 - > drivers/gpu/drm/virtio/virtgpu_display.c | 1 - > drivers/gpu/drm/zte/zx_hdmi.c | 1 - > drivers/gpu/drm/zte/zx_tvenc.c | 1 - > drivers/gpu/drm/zte/zx_vga.c | 1 - > include/drm/drm_atomic_helper.h | 2 - > 68 files changed, 3 insertions(+), 164 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > index ff9792d350c8..682c090fa3ed 100644 > --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > @@ -786,7 +786,6 @@ adv7511_connector_detect(struct drm_connector *connector, bool force) > } > > static struct drm_connector_funcs adv7511_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = adv7511_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix-anx78xx.c > index dc045e0c32fc..9385eb0b1ee4 100644 > --- a/drivers/gpu/drm/bridge/analogix-anx78xx.c > +++ b/drivers/gpu/drm/bridge/analogix-anx78xx.c > @@ -1002,7 +1002,6 @@ static enum drm_connector_status anx78xx_detect(struct drm_connector *connector, > } > > static const struct drm_connector_funcs anx78xx_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = anx78xx_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > index 4c758ed51939..5dd3f1cd074a 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > @@ -1005,7 +1005,6 @@ analogix_dp_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs analogix_dp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = analogix_dp_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c > index 8a52539e618e..de5e7dee7ad6 100644 > --- a/drivers/gpu/drm/bridge/dumb-vga-dac.c > +++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c > @@ -92,7 +92,6 @@ dumb_vga_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs dumb_vga_con_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = dumb_vga_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c > index 11f11086a68f..7ccadba7c98c 100644 > --- a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c > +++ b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c > @@ -193,7 +193,6 @@ static enum drm_connector_status ge_b850v3_lvds_detect( > } > > static const struct drm_connector_funcs ge_b850v3_lvds_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = ge_b850v3_lvds_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/nxp-ptn3460.c b/drivers/gpu/drm/bridge/nxp-ptn3460.c > index f0b5d0fc8594..d64a3283822a 100644 > --- a/drivers/gpu/drm/bridge/nxp-ptn3460.c > +++ b/drivers/gpu/drm/bridge/nxp-ptn3460.c > @@ -238,7 +238,6 @@ static const struct drm_connector_helper_funcs ptn3460_connector_helper_funcs = > }; > > static const struct drm_connector_funcs ptn3460_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c > index 685c1a480201..59288b248dc5 100644 > --- a/drivers/gpu/drm/bridge/panel.c > +++ b/drivers/gpu/drm/bridge/panel.c > @@ -50,7 +50,6 @@ panel_bridge_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs panel_bridge_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/parade-ps8622.c b/drivers/gpu/drm/bridge/parade-ps8622.c > index 4f7725d4a309..81198f5e9afa 100644 > --- a/drivers/gpu/drm/bridge/parade-ps8622.c > +++ b/drivers/gpu/drm/bridge/parade-ps8622.c > @@ -476,7 +476,6 @@ static const struct drm_connector_helper_funcs ps8622_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs ps8622_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c > index 9efb7b8fad57..b1ab4ab09532 100644 > --- a/drivers/gpu/drm/bridge/sii902x.c > +++ b/drivers/gpu/drm/bridge/sii902x.c > @@ -124,7 +124,6 @@ sii902x_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs sii902x_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = sii902x_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > index 60faf2d2bc6b..91ac849604a8 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > @@ -1920,7 +1920,6 @@ static void dw_hdmi_connector_force(struct drm_connector *connector) > } > > static const struct drm_connector_funcs dw_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = dw_hdmi_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c > index 12a35f9c3adc..503252d6a74d 100644 > --- a/drivers/gpu/drm/bridge/tc358767.c > +++ b/drivers/gpu/drm/bridge/tc358767.c > @@ -1160,7 +1160,6 @@ static const struct drm_connector_helper_funcs tc_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs tc_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c > index 7ea2a15e8807..acb857030951 100644 > --- a/drivers/gpu/drm/bridge/ti-tfp410.c > +++ b/drivers/gpu/drm/bridge/ti-tfp410.c > @@ -102,7 +102,6 @@ tfp410_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs tfp410_con_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = tfp410_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 1ca0dcca6230..877733ae44ac 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -3102,85 +3102,6 @@ int drm_atomic_helper_page_flip_target(struct drm_crtc *crtc, > EXPORT_SYMBOL(drm_atomic_helper_page_flip_target); > > /** > - * drm_atomic_helper_connector_dpms() - connector dpms helper implementation > - * @connector: affected connector > - * @mode: DPMS mode > - * > - * This is the main helper function provided by the atomic helper framework for > - * implementing the legacy DPMS connector interface. It computes the new desired > - * &drm_crtc_state.active state for the corresponding CRTC (if the connector is > - * enabled) and updates it. > - * > - * Returns: > - * Returns 0 on success, negative errno numbers on failure. > - */ > -int drm_atomic_helper_connector_dpms(struct drm_connector *connector, > - int mode) > -{ > - struct drm_mode_config *config = &connector->dev->mode_config; > - struct drm_atomic_state *state; > - struct drm_crtc_state *crtc_state; > - struct drm_crtc *crtc; > - struct drm_connector *tmp_connector; > - struct drm_connector_list_iter conn_iter; > - int ret; > - bool active = false; > - int old_mode = connector->dpms; > - > - if (mode != DRM_MODE_DPMS_ON) > - mode = DRM_MODE_DPMS_OFF; > - > - connector->dpms = mode; > - crtc = connector->state->crtc; > - > - if (!crtc) > - return 0; > - > - state = drm_atomic_state_alloc(connector->dev); > - if (!state) > - return -ENOMEM; > - > - state->acquire_ctx = crtc->dev->mode_config.acquire_ctx; > -retry: > - crtc_state = drm_atomic_get_crtc_state(state, crtc); > - if (IS_ERR(crtc_state)) { > - ret = PTR_ERR(crtc_state); > - goto fail; > - } > - > - WARN_ON(!drm_modeset_is_locked(&config->connection_mutex)); > - > - drm_connector_list_iter_begin(connector->dev, &conn_iter); > - drm_for_each_connector_iter(tmp_connector, &conn_iter) { > - if (tmp_connector->state->crtc != crtc) > - continue; > - > - if (tmp_connector->dpms == DRM_MODE_DPMS_ON) { > - active = true; > - break; > - } > - } > - drm_connector_list_iter_end(&conn_iter); > - crtc_state->active = active; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - if (ret != 0) > - connector->dpms = old_mode; > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_connector_dpms); > - > -/** > * drm_atomic_helper_best_encoder - Helper for > * &drm_connector_helper_funcs.best_encoder callback > * @connector: Connector control structure > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c > index 63abcd280fa0..76d80e5de521 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dpi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dpi.c > @@ -59,7 +59,6 @@ static void exynos_dpi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs exynos_dpi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = exynos_dpi_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = exynos_dpi_connector_destroy, > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > index f580be170089..4ea7cc7cb3de 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > @@ -1537,7 +1537,6 @@ static void exynos_dsi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs exynos_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = exynos_dsi_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = exynos_dsi_connector_destroy, > diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c > index cb8a72842537..9186a654c3b5 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c > @@ -289,7 +289,6 @@ static void vidi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs vidi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = vidi_detect, > .destroy = vidi_connector_destroy, > diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c > index c953927fb0cb..0e2a472c3021 100644 > --- a/drivers/gpu/drm/exynos/exynos_hdmi.c > +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c > @@ -835,7 +835,6 @@ static void hdmi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = hdmi_detect, > .destroy = hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c > index dcbf3c06e1d8..edd7d8127d19 100644 > --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c > +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c > @@ -63,7 +63,6 @@ static const struct drm_connector_funcs fsl_dcu_drm_connector_funcs = { > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > .destroy = fsl_dcu_drm_connector_destroy, > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .reset = drm_atomic_helper_connector_reset, > }; > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c > index 12a18557c5fd..ec4dd9df9150 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c > @@ -47,7 +47,6 @@ static const struct drm_connector_helper_funcs > }; > > static const struct drm_connector_funcs hibmc_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c > index d1e7ac540199..54e3255dde13 100644 > --- a/drivers/gpu/drm/i2c/tda998x_drv.c > +++ b/drivers/gpu/drm/i2c/tda998x_drv.c > @@ -969,14 +969,6 @@ static int tda998x_audio_codec_init(struct tda998x_priv *priv, > > /* DRM connector functions */ > > -static int tda998x_connector_dpms(struct drm_connector *connector, int mode) > -{ > - if (drm_core_check_feature(connector->dev, DRIVER_ATOMIC)) > - return drm_atomic_helper_connector_dpms(connector, mode); > - else > - return drm_helper_connector_dpms(connector, mode); > -} > - > static int tda998x_connector_fill_modes(struct drm_connector *connector, > uint32_t maxX, uint32_t maxY) > { > @@ -1014,7 +1006,7 @@ static void tda998x_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tda998x_connector_funcs = { > - .dpms = tda998x_connector_dpms, > + .dpms = drm_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .fill_modes = tda998x_connector_fill_modes, > .detect = tda998x_connector_detect, > diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c > index 84c3a6dc7c2a..70e0ff41070c 100644 > --- a/drivers/gpu/drm/i915/intel_crt.c > +++ b/drivers/gpu/drm/i915/intel_crt.c > @@ -802,7 +802,6 @@ void intel_crt_reset(struct drm_encoder *encoder) > */ > > static const struct drm_connector_funcs intel_crt_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 19b082ea57ef..76c8a0bd17f9 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -5007,7 +5007,6 @@ void intel_dp_encoder_reset(struct drm_encoder *encoder) > } > > static const struct drm_connector_funcs intel_dp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .force = intel_dp_force, > .fill_modes = drm_helper_probe_single_connector_modes, > .atomic_get_property = intel_digital_connector_atomic_get_property, > diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c > index 59a6dfd48ed4..58568559711a 100644 > --- a/drivers/gpu/drm/i915/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/intel_dp_mst.c > @@ -346,7 +346,6 @@ intel_dp_mst_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_dp_mst_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_dp_mst_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .late_register = intel_connector_register, > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > index 375e7cfcf207..b0b3adf016f8 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -1653,7 +1653,6 @@ static const struct drm_connector_helper_funcs intel_dsi_connector_helper_funcs > }; > > static const struct drm_connector_funcs intel_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > .destroy = intel_dsi_connector_destroy, > diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c > index 6b1970542911..baf369d2de30 100644 > --- a/drivers/gpu/drm/i915/intel_dvo.c > +++ b/drivers/gpu/drm/i915/intel_dvo.c > @@ -344,7 +344,6 @@ static void intel_dvo_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_dvo_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_dvo_detect, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index 3074190b9455..2ef1ee85129d 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -1761,7 +1761,6 @@ static void intel_hdmi_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_hdmi_detect, > .force = intel_hdmi_force, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c > index 6579299f5d00..61d557948e21 100644 > --- a/drivers/gpu/drm/i915/intel_lvds.c > +++ b/drivers/gpu/drm/i915/intel_lvds.c > @@ -595,7 +595,6 @@ static const struct drm_connector_helper_funcs intel_lvds_connector_helper_funcs > }; > > static const struct drm_connector_funcs intel_lvds_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_lvds_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .atomic_get_property = intel_digital_connector_atomic_get_property, > diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c > index a8eee1984ddf..bea8152ae859 100644 > --- a/drivers/gpu/drm/i915/intel_sdvo.c > +++ b/drivers/gpu/drm/i915/intel_sdvo.c > @@ -2193,7 +2193,6 @@ intel_sdvo_connector_duplicate_state(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_sdvo_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_sdvo_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .atomic_get_property = intel_sdvo_connector_atomic_get_property, > diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c > index e4ef2919b682..906893c006d8 100644 > --- a/drivers/gpu/drm/i915/intel_tv.c > +++ b/drivers/gpu/drm/i915/intel_tv.c > @@ -1407,7 +1407,6 @@ intel_tv_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_tv_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > .destroy = intel_tv_destroy, > diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c > index 8b05ecb8fdef..56dd7a9a8e25 100644 > --- a/drivers/gpu/drm/imx/imx-ldb.c > +++ b/drivers/gpu/drm/imx/imx-ldb.c > @@ -389,7 +389,6 @@ static int imx_ldb_encoder_atomic_check(struct drm_encoder *encoder, > > > static const struct drm_connector_funcs imx_ldb_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = imx_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c > index 4826bb781723..bc27c2699464 100644 > --- a/drivers/gpu/drm/imx/imx-tve.c > +++ b/drivers/gpu/drm/imx/imx-tve.c > @@ -341,7 +341,6 @@ static int imx_tve_atomic_check(struct drm_encoder *encoder, > } > > static const struct drm_connector_funcs imx_tve_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = imx_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c > index 8aca20209cb8..8def97d75030 100644 > --- a/drivers/gpu/drm/imx/parallel-display.c > +++ b/drivers/gpu/drm/imx/parallel-display.c > @@ -135,7 +135,6 @@ static int imx_pd_encoder_atomic_check(struct drm_encoder *encoder, > } > > static const struct drm_connector_funcs imx_pd_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = imx_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c > index a31bd2a82de5..7e5e24c2152a 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > @@ -766,7 +766,6 @@ static const struct drm_encoder_helper_funcs mtk_dsi_encoder_helper_funcs = { > }; > > static const struct drm_connector_funcs mtk_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c > index f2437cd1e0f9..690c67507cbc 100644 > --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c > +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c > @@ -1261,7 +1261,6 @@ static struct drm_encoder *mtk_hdmi_conn_best_enc(struct drm_connector *conn) > } > > static const struct drm_connector_funcs mtk_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = hdmi_conn_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = hdmi_conn_destroy, > diff --git a/drivers/gpu/drm/meson/meson_venc_cvbs.c b/drivers/gpu/drm/meson/meson_venc_cvbs.c > index 00775b397dba..79d95ca8a0c0 100644 > --- a/drivers/gpu/drm/meson/meson_venc_cvbs.c > +++ b/drivers/gpu/drm/meson/meson_venc_cvbs.c > @@ -118,7 +118,6 @@ static int meson_cvbs_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs meson_cvbs_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = meson_cvbs_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = meson_cvbs_connector_destroy, > diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c > index a879ffa534b4..855248132b2b 100644 > --- a/drivers/gpu/drm/msm/dsi/dsi_manager.c > +++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c > @@ -626,7 +626,6 @@ static void dsi_mgr_bridge_mode_set(struct drm_bridge *bridge, > } > > static const struct drm_connector_funcs dsi_mgr_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = dsi_mgr_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = dsi_mgr_connector_destroy, > diff --git a/drivers/gpu/drm/msm/edp/edp_connector.c b/drivers/gpu/drm/msm/edp/edp_connector.c > index 5960628ceb93..6f3fc6b0f0a3 100644 > --- a/drivers/gpu/drm/msm/edp/edp_connector.c > +++ b/drivers/gpu/drm/msm/edp/edp_connector.c > @@ -92,7 +92,6 @@ static int edp_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs edp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = edp_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = edp_connector_destroy, > diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > index a2515b466ce5..71536d9c7fe8 100644 > --- a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > +++ b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > @@ -407,7 +407,6 @@ static int msm_hdmi_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c > index 353429b05733..e3b1c86b7aae 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c > +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c > @@ -91,7 +91,6 @@ static int mdp4_lvds_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs mdp4_lvds_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = mdp4_lvds_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = mdp4_lvds_connector_destroy, > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_out.c b/drivers/gpu/drm/mxsfb/mxsfb_out.c > index f7d729aa09bd..e5edf016a439 100644 > --- a/drivers/gpu/drm/mxsfb/mxsfb_out.c > +++ b/drivers/gpu/drm/mxsfb/mxsfb_out.c > @@ -74,7 +74,6 @@ static void mxsfb_panel_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs mxsfb_panel_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = mxsfb_panel_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = mxsfb_panel_connector_destroy, > diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c > index 2468e81918fd..5137155bf3c0 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_connector.c > +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c > @@ -1072,17 +1072,9 @@ nouveau_connector_helper_funcs = { > .best_encoder = nouveau_connector_best_encoder, > }; > > -static int > -nouveau_connector_dpms(struct drm_connector *connector, int mode) > -{ > - if (drm_drv_uses_atomic_modeset(connector->dev)) > - return drm_atomic_helper_connector_dpms(connector, mode); > - return drm_helper_connector_dpms(connector, mode); > -} > - > static const struct drm_connector_funcs > nouveau_connector_funcs = { > - .dpms = nouveau_connector_dpms, > + .dpms = drm_helper_connector_dpms, > .reset = nouveau_conn_reset, > .detect = nouveau_connector_detect, > .force = nouveau_connector_force, > @@ -1097,7 +1089,7 @@ nouveau_connector_funcs = { > > static const struct drm_connector_funcs > nouveau_connector_funcs_lvds = { > - .dpms = nouveau_connector_dpms, > + .dpms = drm_helper_connector_dpms, > .reset = nouveau_conn_reset, > .detect = nouveau_connector_detect_lvds, > .force = nouveau_connector_force, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index 80a96eb08bbf..d442def6c965 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -3118,7 +3118,6 @@ nv50_mstc_destroy(struct drm_connector *connector) > > static const struct drm_connector_funcs > nv50_mstc = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = nouveau_conn_reset, > .detect = nv50_mstc_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c > index c24b6b783e9a..d1ec76ef5cc6 100644 > --- a/drivers/gpu/drm/omapdrm/omap_connector.c > +++ b/drivers/gpu/drm/omapdrm/omap_connector.c > @@ -195,7 +195,6 @@ static int omap_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs omap_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = omap_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/pl111/pl111_connector.c b/drivers/gpu/drm/pl111/pl111_connector.c > index 3f213d7e7692..d335f9a29ce4 100644 > --- a/drivers/gpu/drm/pl111/pl111_connector.c > +++ b/drivers/gpu/drm/pl111/pl111_connector.c > @@ -69,7 +69,6 @@ const struct drm_connector_funcs connector_funcs = { > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = pl111_connector_destroy, > .detect = pl111_connector_detect, > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > index ee91481131ad..b373ad48ef5f 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > @@ -46,7 +46,6 @@ static void rcar_du_lvds_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = rcar_du_lvds_connector_destroy, > diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c > index 9b0b0588bbed..a57da051f516 100644 > --- a/drivers/gpu/drm/rockchip/cdn-dp-core.c > +++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c > @@ -254,7 +254,6 @@ static void cdn_dp_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs cdn_dp_atomic_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = cdn_dp_connector_detect, > .destroy = cdn_dp_connector_destroy, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > index 21b9737662ae..9a20b9dc27c8 100644 > --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > @@ -1080,7 +1080,6 @@ static void dw_mipi_dsi_drm_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs dw_mipi_dsi_atomic_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = dw_mipi_dsi_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c > index 7149968aa25a..bd87768dd549 100644 > --- a/drivers/gpu/drm/rockchip/inno_hdmi.c > +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c > @@ -593,7 +593,6 @@ static void inno_hdmi_connector_destroy(struct drm_connector *connector) > } > > static struct drm_connector_funcs inno_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = inno_hdmi_probe_single_connector_modes, > .detect = inno_hdmi_connector_detect, > .destroy = inno_hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c > index a51cd9f754db..852bf2293b05 100644 > --- a/drivers/gpu/drm/sti/sti_dvo.c > +++ b/drivers/gpu/drm/sti/sti_dvo.c > @@ -412,7 +412,6 @@ static int sti_dvo_late_register(struct drm_connector *connector) > } > > static const struct drm_connector_funcs sti_dvo_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = sti_dvo_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c > index d6ed909d9d75..cf65e32b5090 100644 > --- a/drivers/gpu/drm/sti/sti_hda.c > +++ b/drivers/gpu/drm/sti/sti_hda.c > @@ -647,7 +647,6 @@ static int sti_hda_late_register(struct drm_connector *connector) > } > > static const struct drm_connector_funcs sti_hda_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c > index 21f11dfae472..30f02d2fdd03 100644 > --- a/drivers/gpu/drm/sti/sti_hdmi.c > +++ b/drivers/gpu/drm/sti/sti_hdmi.c > @@ -1113,7 +1113,6 @@ static int sti_hdmi_late_register(struct drm_connector *connector) > } > > static const struct drm_connector_funcs sti_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = sti_hdmi_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > index 83b7a2a025f2..f5d0d6bd1084 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > @@ -306,7 +306,6 @@ sun4i_hdmi_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs sun4i_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = sun4i_hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c > index 422b191faa77..550bb262943f 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_rgb.c > +++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c > @@ -120,7 +120,6 @@ sun4i_rgb_connector_destroy(struct drm_connector *connector) > } > > static struct drm_connector_funcs sun4i_rgb_con_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = sun4i_rgb_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c > index 338b9e5bb2a3..7b45ac9383ea 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_tv.c > +++ b/drivers/gpu/drm/sun4i/sun4i_tv.c > @@ -546,7 +546,6 @@ sun4i_tv_comp_connector_destroy(struct drm_connector *connector) > } > > static struct drm_connector_funcs sun4i_tv_comp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = sun4i_tv_comp_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c > index 3dea1216bafd..e4b5aedfdbd4 100644 > --- a/drivers/gpu/drm/tegra/dsi.c > +++ b/drivers/gpu/drm/tegra/dsi.c > @@ -815,7 +815,6 @@ tegra_dsi_connector_duplicate_state(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tegra_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = tegra_dsi_connector_reset, > .detect = tegra_output_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c > index 718d8db406a6..a621b0da4092 100644 > --- a/drivers/gpu/drm/tegra/hdmi.c > +++ b/drivers/gpu/drm/tegra/hdmi.c > @@ -902,7 +902,6 @@ tegra_hdmi_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs tegra_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tegra_hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tegra/rgb.c b/drivers/gpu/drm/tegra/rgb.c > index a131b44e2d6f..78ec5193741d 100644 > --- a/drivers/gpu/drm/tegra/rgb.c > +++ b/drivers/gpu/drm/tegra/rgb.c > @@ -88,7 +88,6 @@ static void tegra_dc_write_regs(struct tegra_dc *dc, > } > > static const struct drm_connector_funcs tegra_rgb_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tegra_output_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c > index fb2709c0c461..e0642d05a8d3 100644 > --- a/drivers/gpu/drm/tegra/sor.c > +++ b/drivers/gpu/drm/tegra/sor.c > @@ -1340,7 +1340,6 @@ tegra_sor_connector_duplicate_state(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tegra_sor_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = tegra_sor_connector_reset, > .detect = tegra_sor_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c > index 28c3e2f44f64..1813a3623ce6 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c > @@ -189,7 +189,6 @@ static struct drm_encoder *panel_connector_best_encoder( > > static const struct drm_connector_funcs panel_connector_funcs = { > .destroy = panel_connector_destroy, > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .reset = drm_atomic_helper_connector_reset, > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > index aabfad882e23..1e2dfb1b1d6b 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > @@ -202,7 +202,6 @@ static struct drm_encoder *tfp410_connector_best_encoder( > > static const struct drm_connector_funcs tfp410_connector_funcs = { > .destroy = tfp410_connector_destroy, > - .dpms = drm_atomic_helper_connector_dpms, > .detect = tfp410_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > index ec43fb7ad9e4..79b6687977d3 100644 > --- a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > @@ -71,7 +71,6 @@ static void tinydrm_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tinydrm_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tinydrm_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c > index 406d6d83b6c6..b249b79ce04a 100644 > --- a/drivers/gpu/drm/vc4/vc4_hdmi.c > +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c > @@ -265,7 +265,6 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) > } > > static const struct drm_connector_funcs vc4_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = vc4_hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = vc4_hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c > index 369fea5a13a1..3a9a302247a2 100644 > --- a/drivers/gpu/drm/vc4/vc4_vec.c > +++ b/drivers/gpu/drm/vc4/vc4_vec.c > @@ -366,7 +366,6 @@ static int vc4_vec_connector_get_modes(struct drm_connector *connector) > } > > static const struct drm_connector_funcs vc4_vec_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = vc4_vec_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = vc4_vec_connector_destroy, > diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c > index ffd22e5ab43a..b6d52055a11f 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_display.c > +++ b/drivers/gpu/drm/virtio/virtgpu_display.c > @@ -252,7 +252,6 @@ static void virtio_gpu_conn_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs virtio_gpu_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = virtio_gpu_conn_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = virtio_gpu_conn_destroy, > diff --git a/drivers/gpu/drm/zte/zx_hdmi.c b/drivers/gpu/drm/zte/zx_hdmi.c > index 7e834e3eeed9..b8abb1b496ff 100644 > --- a/drivers/gpu/drm/zte/zx_hdmi.c > +++ b/drivers/gpu/drm/zte/zx_hdmi.c > @@ -300,7 +300,6 @@ zx_hdmi_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs zx_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = zx_hdmi_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/zte/zx_tvenc.c b/drivers/gpu/drm/zte/zx_tvenc.c > index b56dc69843fc..0de1a71ca4e0 100644 > --- a/drivers/gpu/drm/zte/zx_tvenc.c > +++ b/drivers/gpu/drm/zte/zx_tvenc.c > @@ -269,7 +269,6 @@ static struct drm_connector_helper_funcs zx_tvenc_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs zx_tvenc_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/zte/zx_vga.c b/drivers/gpu/drm/zte/zx_vga.c > index 1e0811f775cb..3e7e33cd3dfa 100644 > --- a/drivers/gpu/drm/zte/zx_vga.c > +++ b/drivers/gpu/drm/zte/zx_vga.c > @@ -138,7 +138,6 @@ zx_vga_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs zx_vga_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = zx_vga_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index 619089a027ec..d2b56cc657e9 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -136,8 +136,6 @@ int drm_atomic_helper_page_flip_target( > uint32_t flags, > uint32_t target, > struct drm_modeset_acquire_ctx *ctx); > -int drm_atomic_helper_connector_dpms(struct drm_connector *connector, > - int mode); > struct drm_encoder * > drm_atomic_helper_best_encoder(struct drm_connector *connector); > > _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter @ 2017-07-25 10:07 ` Philippe CORNU -1 siblings, 0 replies; 84+ messages in thread From: Philippe CORNU @ 2017-07-25 10:07 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: Martyn Welch, Neil Armstrong, David Airlie, nouveau, DRI Development, virtualization, Andrzej Hajda, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Benjamin Gaignard, Romain Perier, Daniel Vetter, Jyri Sarha, Heiko Stuebner, Marek Vasut, linux-renesas-soc, Archit Taneja, Lars-Peter On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: Andrzej Hajda <a.hajda@samsung.com> > Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> > Cc: Peter Senna Tschudin <peter.senna@collabora.com> > Cc: Martin Donnelly <martin.donnelly@ge.com> > Cc: Martyn Welch <martyn.welch@collabora.co.uk> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Stefan Agner <stefan@agner.ch> > Cc: Alison Wang <alison.wang@freescale.com> > Cc: Russell King <linux@armlinux.org.uk> > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Cc: CK Hu <ck.hu@mediatek.com> > Cc: Matthias Brugger <matthias.bgg@gmail.com> > Cc: Neil Armstrong <narmstrong@baylibre.com> > Cc: Carlo Caione <carlo@caione.org> > Cc: Kevin Hilman <khilman@baylibre.com> > Cc: Marek Vasut <marex@denx.de> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Eric Anholt <eric@anholt.net> > Cc: Mark Yao <mark.yao@rock-chips.com> > Cc: Heiko Stuebner <heiko@sntech.de> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> Tested-by: Philippe Cornu <philippe.cornu@st.com> (on stm) Many thanks Philippe :-) > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Chen-Yu Tsai <wens@csie.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Jonathan Hunter <jonathanh@nvidia.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Shawn Guo <shawnguo@kernel.org> > Cc: John Stultz <john.stultz@linaro.org> > Cc: Lars-Peter Clausen <lars@metafoo.de> > Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Cc: Jeffy Chen <jeffy.chen@rock-chips.com> > Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> > Cc: Yakir Yang <kuankuan.y@gmail.com> > Cc: Marek Szyprowski <m.szyprowski@samsung.com> > Cc: Jose Abreu <Jose.Abreu@synopsys.com> > Cc: Romain Perier <romain.perier@collabora.com> > Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Alex Deucher <alexander.deucher@amd.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Hai Li <hali@codeaurora.org> > Cc: "Noralf Trønnes" <noralf@tronnes.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: linux-mediatek@lists.infradead.org > Cc: linux-amlogic@lists.infradead.org > Cc: nouveau@lists.freedesktop.org > Cc: linux-renesas-soc@vger.kernel.org > Cc: linux-rockchip@lists.infradead.org > Cc: linux-tegra@vger.kernel.org > Cc: virtualization@lists.linux-foundation.org > Cc: zain wang <wzz@rock-chips.com> > Cc: Baoyou Xie <baoyou.xie@linaro.org> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - > drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - > drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - > .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - > drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - > drivers/gpu/drm/bridge/panel.c | 1 - > drivers/gpu/drm/bridge/parade-ps8622.c | 1 - > drivers/gpu/drm/bridge/sii902x.c | 1 - > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - > drivers/gpu/drm/bridge/tc358767.c | 1 - > drivers/gpu/drm/bridge/ti-tfp410.c | 1 - > drivers/gpu/drm/drm_atomic_helper.c | 79 ---------------------- > drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_vidi.c | 1 - > drivers/gpu/drm/exynos/exynos_hdmi.c | 1 - > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 1 - > drivers/gpu/drm/i2c/tda998x_drv.c | 10 +-- > drivers/gpu/drm/i915/intel_crt.c | 1 - > drivers/gpu/drm/i915/intel_dp.c | 1 - > drivers/gpu/drm/i915/intel_dp_mst.c | 1 - > drivers/gpu/drm/i915/intel_dsi.c | 1 - > drivers/gpu/drm/i915/intel_dvo.c | 1 - > drivers/gpu/drm/i915/intel_hdmi.c | 1 - > drivers/gpu/drm/i915/intel_lvds.c | 1 - > drivers/gpu/drm/i915/intel_sdvo.c | 1 - > drivers/gpu/drm/i915/intel_tv.c | 1 - > drivers/gpu/drm/imx/imx-ldb.c | 1 - > drivers/gpu/drm/imx/imx-tve.c | 1 - > drivers/gpu/drm/imx/parallel-display.c | 1 - > drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - > drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - > drivers/gpu/drm/meson/meson_venc_cvbs.c | 1 - > drivers/gpu/drm/msm/dsi/dsi_manager.c | 1 - > drivers/gpu/drm/msm/edp/edp_connector.c | 1 - > drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 1 - > drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c | 1 - > drivers/gpu/drm/mxsfb/mxsfb_out.c | 1 - > drivers/gpu/drm/nouveau/nouveau_connector.c | 12 +--- > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_connector.c | 1 - > drivers/gpu/drm/pl111/pl111_connector.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 1 - > drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 - > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 1 - > drivers/gpu/drm/rockchip/inno_hdmi.c | 1 - > drivers/gpu/drm/sti/sti_dvo.c | 1 - > drivers/gpu/drm/sti/sti_hda.c | 1 - > drivers/gpu/drm/sti/sti_hdmi.c | 1 - > drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 1 - > drivers/gpu/drm/sun4i/sun4i_rgb.c | 1 - > drivers/gpu/drm/sun4i/sun4i_tv.c | 1 - > drivers/gpu/drm/tegra/dsi.c | 1 - > drivers/gpu/drm/tegra/hdmi.c | 1 - > drivers/gpu/drm/tegra/rgb.c | 1 - > drivers/gpu/drm/tegra/sor.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - > drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 1 - > drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - > drivers/gpu/drm/vc4/vc4_vec.c | 1 - > drivers/gpu/drm/virtio/virtgpu_display.c | 1 - > drivers/gpu/drm/zte/zx_hdmi.c | 1 - > drivers/gpu/drm/zte/zx_tvenc.c | 1 - > drivers/gpu/drm/zte/zx_vga.c | 1 - > include/drm/drm_atomic_helper.h | 2 - > 68 files changed, 3 insertions(+), 164 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > index ff9792d350c8..682c090fa3ed 100644 > --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > @@ -786,7 +786,6 @@ adv7511_connector_detect(struct drm_connector *connector, bool force) > } > > static struct drm_connector_funcs adv7511_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = adv7511_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix-anx78xx.c > index dc045e0c32fc..9385eb0b1ee4 100644 > --- a/drivers/gpu/drm/bridge/analogix-anx78xx.c > +++ b/drivers/gpu/drm/bridge/analogix-anx78xx.c > @@ -1002,7 +1002,6 @@ static enum drm_connector_status anx78xx_detect(struct drm_connector *connector, > } > > static const struct drm_connector_funcs anx78xx_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = anx78xx_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > index 4c758ed51939..5dd3f1cd074a 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > @@ -1005,7 +1005,6 @@ analogix_dp_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs analogix_dp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = analogix_dp_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c > index 8a52539e618e..de5e7dee7ad6 100644 > --- a/drivers/gpu/drm/bridge/dumb-vga-dac.c > +++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c > @@ -92,7 +92,6 @@ dumb_vga_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs dumb_vga_con_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = dumb_vga_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c > index 11f11086a68f..7ccadba7c98c 100644 > --- a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c > +++ b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c > @@ -193,7 +193,6 @@ static enum drm_connector_status ge_b850v3_lvds_detect( > } > > static const struct drm_connector_funcs ge_b850v3_lvds_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = ge_b850v3_lvds_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/nxp-ptn3460.c b/drivers/gpu/drm/bridge/nxp-ptn3460.c > index f0b5d0fc8594..d64a3283822a 100644 > --- a/drivers/gpu/drm/bridge/nxp-ptn3460.c > +++ b/drivers/gpu/drm/bridge/nxp-ptn3460.c > @@ -238,7 +238,6 @@ static const struct drm_connector_helper_funcs ptn3460_connector_helper_funcs = > }; > > static const struct drm_connector_funcs ptn3460_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c > index 685c1a480201..59288b248dc5 100644 > --- a/drivers/gpu/drm/bridge/panel.c > +++ b/drivers/gpu/drm/bridge/panel.c > @@ -50,7 +50,6 @@ panel_bridge_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs panel_bridge_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/parade-ps8622.c b/drivers/gpu/drm/bridge/parade-ps8622.c > index 4f7725d4a309..81198f5e9afa 100644 > --- a/drivers/gpu/drm/bridge/parade-ps8622.c > +++ b/drivers/gpu/drm/bridge/parade-ps8622.c > @@ -476,7 +476,6 @@ static const struct drm_connector_helper_funcs ps8622_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs ps8622_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c > index 9efb7b8fad57..b1ab4ab09532 100644 > --- a/drivers/gpu/drm/bridge/sii902x.c > +++ b/drivers/gpu/drm/bridge/sii902x.c > @@ -124,7 +124,6 @@ sii902x_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs sii902x_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = sii902x_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > index 60faf2d2bc6b..91ac849604a8 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > @@ -1920,7 +1920,6 @@ static void dw_hdmi_connector_force(struct drm_connector *connector) > } > > static const struct drm_connector_funcs dw_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = dw_hdmi_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c > index 12a35f9c3adc..503252d6a74d 100644 > --- a/drivers/gpu/drm/bridge/tc358767.c > +++ b/drivers/gpu/drm/bridge/tc358767.c > @@ -1160,7 +1160,6 @@ static const struct drm_connector_helper_funcs tc_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs tc_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c > index 7ea2a15e8807..acb857030951 100644 > --- a/drivers/gpu/drm/bridge/ti-tfp410.c > +++ b/drivers/gpu/drm/bridge/ti-tfp410.c > @@ -102,7 +102,6 @@ tfp410_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs tfp410_con_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = tfp410_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 1ca0dcca6230..877733ae44ac 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -3102,85 +3102,6 @@ int drm_atomic_helper_page_flip_target(struct drm_crtc *crtc, > EXPORT_SYMBOL(drm_atomic_helper_page_flip_target); > > /** > - * drm_atomic_helper_connector_dpms() - connector dpms helper implementation > - * @connector: affected connector > - * @mode: DPMS mode > - * > - * This is the main helper function provided by the atomic helper framework for > - * implementing the legacy DPMS connector interface. It computes the new desired > - * &drm_crtc_state.active state for the corresponding CRTC (if the connector is > - * enabled) and updates it. > - * > - * Returns: > - * Returns 0 on success, negative errno numbers on failure. > - */ > -int drm_atomic_helper_connector_dpms(struct drm_connector *connector, > - int mode) > -{ > - struct drm_mode_config *config = &connector->dev->mode_config; > - struct drm_atomic_state *state; > - struct drm_crtc_state *crtc_state; > - struct drm_crtc *crtc; > - struct drm_connector *tmp_connector; > - struct drm_connector_list_iter conn_iter; > - int ret; > - bool active = false; > - int old_mode = connector->dpms; > - > - if (mode != DRM_MODE_DPMS_ON) > - mode = DRM_MODE_DPMS_OFF; > - > - connector->dpms = mode; > - crtc = connector->state->crtc; > - > - if (!crtc) > - return 0; > - > - state = drm_atomic_state_alloc(connector->dev); > - if (!state) > - return -ENOMEM; > - > - state->acquire_ctx = crtc->dev->mode_config.acquire_ctx; > -retry: > - crtc_state = drm_atomic_get_crtc_state(state, crtc); > - if (IS_ERR(crtc_state)) { > - ret = PTR_ERR(crtc_state); > - goto fail; > - } > - > - WARN_ON(!drm_modeset_is_locked(&config->connection_mutex)); > - > - drm_connector_list_iter_begin(connector->dev, &conn_iter); > - drm_for_each_connector_iter(tmp_connector, &conn_iter) { > - if (tmp_connector->state->crtc != crtc) > - continue; > - > - if (tmp_connector->dpms == DRM_MODE_DPMS_ON) { > - active = true; > - break; > - } > - } > - drm_connector_list_iter_end(&conn_iter); > - crtc_state->active = active; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - if (ret != 0) > - connector->dpms = old_mode; > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_connector_dpms); > - > -/** > * drm_atomic_helper_best_encoder - Helper for > * &drm_connector_helper_funcs.best_encoder callback > * @connector: Connector control structure > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c > index 63abcd280fa0..76d80e5de521 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dpi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dpi.c > @@ -59,7 +59,6 @@ static void exynos_dpi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs exynos_dpi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = exynos_dpi_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = exynos_dpi_connector_destroy, > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > index f580be170089..4ea7cc7cb3de 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > @@ -1537,7 +1537,6 @@ static void exynos_dsi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs exynos_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = exynos_dsi_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = exynos_dsi_connector_destroy, > diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c > index cb8a72842537..9186a654c3b5 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c > @@ -289,7 +289,6 @@ static void vidi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs vidi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = vidi_detect, > .destroy = vidi_connector_destroy, > diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c > index c953927fb0cb..0e2a472c3021 100644 > --- a/drivers/gpu/drm/exynos/exynos_hdmi.c > +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c > @@ -835,7 +835,6 @@ static void hdmi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = hdmi_detect, > .destroy = hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c > index dcbf3c06e1d8..edd7d8127d19 100644 > --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c > +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c > @@ -63,7 +63,6 @@ static const struct drm_connector_funcs fsl_dcu_drm_connector_funcs = { > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > .destroy = fsl_dcu_drm_connector_destroy, > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .reset = drm_atomic_helper_connector_reset, > }; > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c > index 12a18557c5fd..ec4dd9df9150 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c > @@ -47,7 +47,6 @@ static const struct drm_connector_helper_funcs > }; > > static const struct drm_connector_funcs hibmc_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c > index d1e7ac540199..54e3255dde13 100644 > --- a/drivers/gpu/drm/i2c/tda998x_drv.c > +++ b/drivers/gpu/drm/i2c/tda998x_drv.c > @@ -969,14 +969,6 @@ static int tda998x_audio_codec_init(struct tda998x_priv *priv, > > /* DRM connector functions */ > > -static int tda998x_connector_dpms(struct drm_connector *connector, int mode) > -{ > - if (drm_core_check_feature(connector->dev, DRIVER_ATOMIC)) > - return drm_atomic_helper_connector_dpms(connector, mode); > - else > - return drm_helper_connector_dpms(connector, mode); > -} > - > static int tda998x_connector_fill_modes(struct drm_connector *connector, > uint32_t maxX, uint32_t maxY) > { > @@ -1014,7 +1006,7 @@ static void tda998x_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tda998x_connector_funcs = { > - .dpms = tda998x_connector_dpms, > + .dpms = drm_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .fill_modes = tda998x_connector_fill_modes, > .detect = tda998x_connector_detect, > diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c > index 84c3a6dc7c2a..70e0ff41070c 100644 > --- a/drivers/gpu/drm/i915/intel_crt.c > +++ b/drivers/gpu/drm/i915/intel_crt.c > @@ -802,7 +802,6 @@ void intel_crt_reset(struct drm_encoder *encoder) > */ > > static const struct drm_connector_funcs intel_crt_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 19b082ea57ef..76c8a0bd17f9 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -5007,7 +5007,6 @@ void intel_dp_encoder_reset(struct drm_encoder *encoder) > } > > static const struct drm_connector_funcs intel_dp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .force = intel_dp_force, > .fill_modes = drm_helper_probe_single_connector_modes, > .atomic_get_property = intel_digital_connector_atomic_get_property, > diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c > index 59a6dfd48ed4..58568559711a 100644 > --- a/drivers/gpu/drm/i915/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/intel_dp_mst.c > @@ -346,7 +346,6 @@ intel_dp_mst_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_dp_mst_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_dp_mst_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .late_register = intel_connector_register, > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > index 375e7cfcf207..b0b3adf016f8 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -1653,7 +1653,6 @@ static const struct drm_connector_helper_funcs intel_dsi_connector_helper_funcs > }; > > static const struct drm_connector_funcs intel_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > .destroy = intel_dsi_connector_destroy, > diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c > index 6b1970542911..baf369d2de30 100644 > --- a/drivers/gpu/drm/i915/intel_dvo.c > +++ b/drivers/gpu/drm/i915/intel_dvo.c > @@ -344,7 +344,6 @@ static void intel_dvo_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_dvo_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_dvo_detect, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index 3074190b9455..2ef1ee85129d 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -1761,7 +1761,6 @@ static void intel_hdmi_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_hdmi_detect, > .force = intel_hdmi_force, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c > index 6579299f5d00..61d557948e21 100644 > --- a/drivers/gpu/drm/i915/intel_lvds.c > +++ b/drivers/gpu/drm/i915/intel_lvds.c > @@ -595,7 +595,6 @@ static const struct drm_connector_helper_funcs intel_lvds_connector_helper_funcs > }; > > static const struct drm_connector_funcs intel_lvds_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_lvds_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .atomic_get_property = intel_digital_connector_atomic_get_property, > diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c > index a8eee1984ddf..bea8152ae859 100644 > --- a/drivers/gpu/drm/i915/intel_sdvo.c > +++ b/drivers/gpu/drm/i915/intel_sdvo.c > @@ -2193,7 +2193,6 @@ intel_sdvo_connector_duplicate_state(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_sdvo_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_sdvo_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .atomic_get_property = intel_sdvo_connector_atomic_get_property, > diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c > index e4ef2919b682..906893c006d8 100644 > --- a/drivers/gpu/drm/i915/intel_tv.c > +++ b/drivers/gpu/drm/i915/intel_tv.c > @@ -1407,7 +1407,6 @@ intel_tv_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_tv_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > .destroy = intel_tv_destroy, > diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c > index 8b05ecb8fdef..56dd7a9a8e25 100644 > --- a/drivers/gpu/drm/imx/imx-ldb.c > +++ b/drivers/gpu/drm/imx/imx-ldb.c > @@ -389,7 +389,6 @@ static int imx_ldb_encoder_atomic_check(struct drm_encoder *encoder, > > > static const struct drm_connector_funcs imx_ldb_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = imx_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c > index 4826bb781723..bc27c2699464 100644 > --- a/drivers/gpu/drm/imx/imx-tve.c > +++ b/drivers/gpu/drm/imx/imx-tve.c > @@ -341,7 +341,6 @@ static int imx_tve_atomic_check(struct drm_encoder *encoder, > } > > static const struct drm_connector_funcs imx_tve_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = imx_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c > index 8aca20209cb8..8def97d75030 100644 > --- a/drivers/gpu/drm/imx/parallel-display.c > +++ b/drivers/gpu/drm/imx/parallel-display.c > @@ -135,7 +135,6 @@ static int imx_pd_encoder_atomic_check(struct drm_encoder *encoder, > } > > static const struct drm_connector_funcs imx_pd_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = imx_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c > index a31bd2a82de5..7e5e24c2152a 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > @@ -766,7 +766,6 @@ static const struct drm_encoder_helper_funcs mtk_dsi_encoder_helper_funcs = { > }; > > static const struct drm_connector_funcs mtk_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c > index f2437cd1e0f9..690c67507cbc 100644 > --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c > +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c > @@ -1261,7 +1261,6 @@ static struct drm_encoder *mtk_hdmi_conn_best_enc(struct drm_connector *conn) > } > > static const struct drm_connector_funcs mtk_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = hdmi_conn_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = hdmi_conn_destroy, > diff --git a/drivers/gpu/drm/meson/meson_venc_cvbs.c b/drivers/gpu/drm/meson/meson_venc_cvbs.c > index 00775b397dba..79d95ca8a0c0 100644 > --- a/drivers/gpu/drm/meson/meson_venc_cvbs.c > +++ b/drivers/gpu/drm/meson/meson_venc_cvbs.c > @@ -118,7 +118,6 @@ static int meson_cvbs_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs meson_cvbs_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = meson_cvbs_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = meson_cvbs_connector_destroy, > diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c > index a879ffa534b4..855248132b2b 100644 > --- a/drivers/gpu/drm/msm/dsi/dsi_manager.c > +++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c > @@ -626,7 +626,6 @@ static void dsi_mgr_bridge_mode_set(struct drm_bridge *bridge, > } > > static const struct drm_connector_funcs dsi_mgr_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = dsi_mgr_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = dsi_mgr_connector_destroy, > diff --git a/drivers/gpu/drm/msm/edp/edp_connector.c b/drivers/gpu/drm/msm/edp/edp_connector.c > index 5960628ceb93..6f3fc6b0f0a3 100644 > --- a/drivers/gpu/drm/msm/edp/edp_connector.c > +++ b/drivers/gpu/drm/msm/edp/edp_connector.c > @@ -92,7 +92,6 @@ static int edp_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs edp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = edp_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = edp_connector_destroy, > diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > index a2515b466ce5..71536d9c7fe8 100644 > --- a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > +++ b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > @@ -407,7 +407,6 @@ static int msm_hdmi_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c > index 353429b05733..e3b1c86b7aae 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c > +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c > @@ -91,7 +91,6 @@ static int mdp4_lvds_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs mdp4_lvds_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = mdp4_lvds_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = mdp4_lvds_connector_destroy, > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_out.c b/drivers/gpu/drm/mxsfb/mxsfb_out.c > index f7d729aa09bd..e5edf016a439 100644 > --- a/drivers/gpu/drm/mxsfb/mxsfb_out.c > +++ b/drivers/gpu/drm/mxsfb/mxsfb_out.c > @@ -74,7 +74,6 @@ static void mxsfb_panel_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs mxsfb_panel_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = mxsfb_panel_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = mxsfb_panel_connector_destroy, > diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c > index 2468e81918fd..5137155bf3c0 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_connector.c > +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c > @@ -1072,17 +1072,9 @@ nouveau_connector_helper_funcs = { > .best_encoder = nouveau_connector_best_encoder, > }; > > -static int > -nouveau_connector_dpms(struct drm_connector *connector, int mode) > -{ > - if (drm_drv_uses_atomic_modeset(connector->dev)) > - return drm_atomic_helper_connector_dpms(connector, mode); > - return drm_helper_connector_dpms(connector, mode); > -} > - > static const struct drm_connector_funcs > nouveau_connector_funcs = { > - .dpms = nouveau_connector_dpms, > + .dpms = drm_helper_connector_dpms, > .reset = nouveau_conn_reset, > .detect = nouveau_connector_detect, > .force = nouveau_connector_force, > @@ -1097,7 +1089,7 @@ nouveau_connector_funcs = { > > static const struct drm_connector_funcs > nouveau_connector_funcs_lvds = { > - .dpms = nouveau_connector_dpms, > + .dpms = drm_helper_connector_dpms, > .reset = nouveau_conn_reset, > .detect = nouveau_connector_detect_lvds, > .force = nouveau_connector_force, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index 80a96eb08bbf..d442def6c965 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -3118,7 +3118,6 @@ nv50_mstc_destroy(struct drm_connector *connector) > > static const struct drm_connector_funcs > nv50_mstc = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = nouveau_conn_reset, > .detect = nv50_mstc_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c > index c24b6b783e9a..d1ec76ef5cc6 100644 > --- a/drivers/gpu/drm/omapdrm/omap_connector.c > +++ b/drivers/gpu/drm/omapdrm/omap_connector.c > @@ -195,7 +195,6 @@ static int omap_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs omap_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = omap_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/pl111/pl111_connector.c b/drivers/gpu/drm/pl111/pl111_connector.c > index 3f213d7e7692..d335f9a29ce4 100644 > --- a/drivers/gpu/drm/pl111/pl111_connector.c > +++ b/drivers/gpu/drm/pl111/pl111_connector.c > @@ -69,7 +69,6 @@ const struct drm_connector_funcs connector_funcs = { > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = pl111_connector_destroy, > .detect = pl111_connector_detect, > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > index ee91481131ad..b373ad48ef5f 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > @@ -46,7 +46,6 @@ static void rcar_du_lvds_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = rcar_du_lvds_connector_destroy, > diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c > index 9b0b0588bbed..a57da051f516 100644 > --- a/drivers/gpu/drm/rockchip/cdn-dp-core.c > +++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c > @@ -254,7 +254,6 @@ static void cdn_dp_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs cdn_dp_atomic_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = cdn_dp_connector_detect, > .destroy = cdn_dp_connector_destroy, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > index 21b9737662ae..9a20b9dc27c8 100644 > --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > @@ -1080,7 +1080,6 @@ static void dw_mipi_dsi_drm_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs dw_mipi_dsi_atomic_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = dw_mipi_dsi_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c > index 7149968aa25a..bd87768dd549 100644 > --- a/drivers/gpu/drm/rockchip/inno_hdmi.c > +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c > @@ -593,7 +593,6 @@ static void inno_hdmi_connector_destroy(struct drm_connector *connector) > } > > static struct drm_connector_funcs inno_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = inno_hdmi_probe_single_connector_modes, > .detect = inno_hdmi_connector_detect, > .destroy = inno_hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c > index a51cd9f754db..852bf2293b05 100644 > --- a/drivers/gpu/drm/sti/sti_dvo.c > +++ b/drivers/gpu/drm/sti/sti_dvo.c > @@ -412,7 +412,6 @@ static int sti_dvo_late_register(struct drm_connector *connector) > } > > static const struct drm_connector_funcs sti_dvo_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = sti_dvo_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c > index d6ed909d9d75..cf65e32b5090 100644 > --- a/drivers/gpu/drm/sti/sti_hda.c > +++ b/drivers/gpu/drm/sti/sti_hda.c > @@ -647,7 +647,6 @@ static int sti_hda_late_register(struct drm_connector *connector) > } > > static const struct drm_connector_funcs sti_hda_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c > index 21f11dfae472..30f02d2fdd03 100644 > --- a/drivers/gpu/drm/sti/sti_hdmi.c > +++ b/drivers/gpu/drm/sti/sti_hdmi.c > @@ -1113,7 +1113,6 @@ static int sti_hdmi_late_register(struct drm_connector *connector) > } > > static const struct drm_connector_funcs sti_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = sti_hdmi_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > index 83b7a2a025f2..f5d0d6bd1084 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > @@ -306,7 +306,6 @@ sun4i_hdmi_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs sun4i_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = sun4i_hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c > index 422b191faa77..550bb262943f 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_rgb.c > +++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c > @@ -120,7 +120,6 @@ sun4i_rgb_connector_destroy(struct drm_connector *connector) > } > > static struct drm_connector_funcs sun4i_rgb_con_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = sun4i_rgb_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c > index 338b9e5bb2a3..7b45ac9383ea 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_tv.c > +++ b/drivers/gpu/drm/sun4i/sun4i_tv.c > @@ -546,7 +546,6 @@ sun4i_tv_comp_connector_destroy(struct drm_connector *connector) > } > > static struct drm_connector_funcs sun4i_tv_comp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = sun4i_tv_comp_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c > index 3dea1216bafd..e4b5aedfdbd4 100644 > --- a/drivers/gpu/drm/tegra/dsi.c > +++ b/drivers/gpu/drm/tegra/dsi.c > @@ -815,7 +815,6 @@ tegra_dsi_connector_duplicate_state(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tegra_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = tegra_dsi_connector_reset, > .detect = tegra_output_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c > index 718d8db406a6..a621b0da4092 100644 > --- a/drivers/gpu/drm/tegra/hdmi.c > +++ b/drivers/gpu/drm/tegra/hdmi.c > @@ -902,7 +902,6 @@ tegra_hdmi_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs tegra_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tegra_hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tegra/rgb.c b/drivers/gpu/drm/tegra/rgb.c > index a131b44e2d6f..78ec5193741d 100644 > --- a/drivers/gpu/drm/tegra/rgb.c > +++ b/drivers/gpu/drm/tegra/rgb.c > @@ -88,7 +88,6 @@ static void tegra_dc_write_regs(struct tegra_dc *dc, > } > > static const struct drm_connector_funcs tegra_rgb_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tegra_output_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c > index fb2709c0c461..e0642d05a8d3 100644 > --- a/drivers/gpu/drm/tegra/sor.c > +++ b/drivers/gpu/drm/tegra/sor.c > @@ -1340,7 +1340,6 @@ tegra_sor_connector_duplicate_state(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tegra_sor_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = tegra_sor_connector_reset, > .detect = tegra_sor_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c > index 28c3e2f44f64..1813a3623ce6 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c > @@ -189,7 +189,6 @@ static struct drm_encoder *panel_connector_best_encoder( > > static const struct drm_connector_funcs panel_connector_funcs = { > .destroy = panel_connector_destroy, > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .reset = drm_atomic_helper_connector_reset, > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > index aabfad882e23..1e2dfb1b1d6b 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > @@ -202,7 +202,6 @@ static struct drm_encoder *tfp410_connector_best_encoder( > > static const struct drm_connector_funcs tfp410_connector_funcs = { > .destroy = tfp410_connector_destroy, > - .dpms = drm_atomic_helper_connector_dpms, > .detect = tfp410_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > index ec43fb7ad9e4..79b6687977d3 100644 > --- a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > @@ -71,7 +71,6 @@ static void tinydrm_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tinydrm_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tinydrm_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c > index 406d6d83b6c6..b249b79ce04a 100644 > --- a/drivers/gpu/drm/vc4/vc4_hdmi.c > +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c > @@ -265,7 +265,6 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) > } > > static const struct drm_connector_funcs vc4_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = vc4_hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = vc4_hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c > index 369fea5a13a1..3a9a302247a2 100644 > --- a/drivers/gpu/drm/vc4/vc4_vec.c > +++ b/drivers/gpu/drm/vc4/vc4_vec.c > @@ -366,7 +366,6 @@ static int vc4_vec_connector_get_modes(struct drm_connector *connector) > } > > static const struct drm_connector_funcs vc4_vec_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = vc4_vec_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = vc4_vec_connector_destroy, > diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c > index ffd22e5ab43a..b6d52055a11f 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_display.c > +++ b/drivers/gpu/drm/virtio/virtgpu_display.c > @@ -252,7 +252,6 @@ static void virtio_gpu_conn_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs virtio_gpu_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = virtio_gpu_conn_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = virtio_gpu_conn_destroy, > diff --git a/drivers/gpu/drm/zte/zx_hdmi.c b/drivers/gpu/drm/zte/zx_hdmi.c > index 7e834e3eeed9..b8abb1b496ff 100644 > --- a/drivers/gpu/drm/zte/zx_hdmi.c > +++ b/drivers/gpu/drm/zte/zx_hdmi.c > @@ -300,7 +300,6 @@ zx_hdmi_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs zx_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = zx_hdmi_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/zte/zx_tvenc.c b/drivers/gpu/drm/zte/zx_tvenc.c > index b56dc69843fc..0de1a71ca4e0 100644 > --- a/drivers/gpu/drm/zte/zx_tvenc.c > +++ b/drivers/gpu/drm/zte/zx_tvenc.c > @@ -269,7 +269,6 @@ static struct drm_connector_helper_funcs zx_tvenc_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs zx_tvenc_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/zte/zx_vga.c b/drivers/gpu/drm/zte/zx_vga.c > index 1e0811f775cb..3e7e33cd3dfa 100644 > --- a/drivers/gpu/drm/zte/zx_vga.c > +++ b/drivers/gpu/drm/zte/zx_vga.c > @@ -138,7 +138,6 @@ zx_vga_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs zx_vga_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = zx_vga_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index 619089a027ec..d2b56cc657e9 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -136,8 +136,6 @@ int drm_atomic_helper_page_flip_target( > uint32_t flags, > uint32_t target, > struct drm_modeset_acquire_ctx *ctx); > -int drm_atomic_helper_connector_dpms(struct drm_connector *connector, > - int mode); > struct drm_encoder * > drm_atomic_helper_best_encoder(struct drm_connector *connector); > > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms @ 2017-07-25 10:07 ` Philippe CORNU 0 siblings, 0 replies; 84+ messages in thread From: Philippe CORNU @ 2017-07-25 10:07 UTC (permalink / raw) To: linus-amlogic On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: Andrzej Hajda <a.hajda@samsung.com> > Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> > Cc: Peter Senna Tschudin <peter.senna@collabora.com> > Cc: Martin Donnelly <martin.donnelly@ge.com> > Cc: Martyn Welch <martyn.welch@collabora.co.uk> > Cc: Daniel Vetter <daniel.vetter@intel.com> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Sean Paul <seanpaul@chromium.org> > Cc: David Airlie <airlied@linux.ie> > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Kukjin Kim <kgene@kernel.org> > Cc: Krzysztof Kozlowski <krzk@kernel.org> > Cc: Stefan Agner <stefan@agner.ch> > Cc: Alison Wang <alison.wang@freescale.com> > Cc: Russell King <linux@armlinux.org.uk> > Cc: Philipp Zabel <p.zabel@pengutronix.de> > Cc: CK Hu <ck.hu@mediatek.com> > Cc: Matthias Brugger <matthias.bgg@gmail.com> > Cc: Neil Armstrong <narmstrong@baylibre.com> > Cc: Carlo Caione <carlo@caione.org> > Cc: Kevin Hilman <khilman@baylibre.com> > Cc: Marek Vasut <marex@denx.de> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Eric Anholt <eric@anholt.net> > Cc: Mark Yao <mark.yao@rock-chips.com> > Cc: Heiko Stuebner <heiko@sntech.de> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Vincent Abriou <vincent.abriou@st.com> > Cc: Yannick Fertre <yannick.fertre@st.com> > Cc: Philippe Cornu <philippe.cornu@st.com> Tested-by: Philippe Cornu <philippe.cornu@st.com> (on stm) Many thanks Philippe :-) > Cc: Maxime Ripard <maxime.ripard@free-electrons.com> > Cc: Chen-Yu Tsai <wens@csie.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Jonathan Hunter <jonathanh@nvidia.com> > Cc: Jyri Sarha <jsarha@ti.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Shawn Guo <shawnguo@kernel.org> > Cc: John Stultz <john.stultz@linaro.org> > Cc: Lars-Peter Clausen <lars@metafoo.de> > Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Cc: Jeffy Chen <jeffy.chen@rock-chips.com> > Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> > Cc: Yakir Yang <kuankuan.y@gmail.com> > Cc: Marek Szyprowski <m.szyprowski@samsung.com> > Cc: Jose Abreu <Jose.Abreu@synopsys.com> > Cc: Romain Perier <romain.perier@collabora.com> > Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> > Cc: Alexey Brodkin <abrodkin@synopsys.com> > Cc: Alex Deucher <alexander.deucher@amd.com> > Cc: Rongrong Zou <zourongrong@gmail.com> > Cc: Rob Clark <robdclark@gmail.com> > Cc: Hai Li <hali@codeaurora.org> > Cc: "Noralf Tr?nnes" <noralf@tronnes.org> > Cc: linux-arm-kernel at lists.infradead.org > Cc: linux-samsung-soc at vger.kernel.org > Cc: intel-gfx at lists.freedesktop.org > Cc: linux-mediatek at lists.infradead.org > Cc: linux-amlogic at lists.infradead.org > Cc: nouveau at lists.freedesktop.org > Cc: linux-renesas-soc at vger.kernel.org > Cc: linux-rockchip at lists.infradead.org > Cc: linux-tegra at vger.kernel.org > Cc: virtualization at lists.linux-foundation.org > Cc: zain wang <wzz@rock-chips.com> > Cc: Baoyou Xie <baoyou.xie@linaro.org> > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - > drivers/gpu/drm/bridge/analogix-anx78xx.c | 1 - > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 - > drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - > .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 1 - > drivers/gpu/drm/bridge/nxp-ptn3460.c | 1 - > drivers/gpu/drm/bridge/panel.c | 1 - > drivers/gpu/drm/bridge/parade-ps8622.c | 1 - > drivers/gpu/drm/bridge/sii902x.c | 1 - > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - > drivers/gpu/drm/bridge/tc358767.c | 1 - > drivers/gpu/drm/bridge/ti-tfp410.c | 1 - > drivers/gpu/drm/drm_atomic_helper.c | 79 ---------------------- > drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_vidi.c | 1 - > drivers/gpu/drm/exynos/exynos_hdmi.c | 1 - > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 1 - > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 1 - > drivers/gpu/drm/i2c/tda998x_drv.c | 10 +-- > drivers/gpu/drm/i915/intel_crt.c | 1 - > drivers/gpu/drm/i915/intel_dp.c | 1 - > drivers/gpu/drm/i915/intel_dp_mst.c | 1 - > drivers/gpu/drm/i915/intel_dsi.c | 1 - > drivers/gpu/drm/i915/intel_dvo.c | 1 - > drivers/gpu/drm/i915/intel_hdmi.c | 1 - > drivers/gpu/drm/i915/intel_lvds.c | 1 - > drivers/gpu/drm/i915/intel_sdvo.c | 1 - > drivers/gpu/drm/i915/intel_tv.c | 1 - > drivers/gpu/drm/imx/imx-ldb.c | 1 - > drivers/gpu/drm/imx/imx-tve.c | 1 - > drivers/gpu/drm/imx/parallel-display.c | 1 - > drivers/gpu/drm/mediatek/mtk_dsi.c | 1 - > drivers/gpu/drm/mediatek/mtk_hdmi.c | 1 - > drivers/gpu/drm/meson/meson_venc_cvbs.c | 1 - > drivers/gpu/drm/msm/dsi/dsi_manager.c | 1 - > drivers/gpu/drm/msm/edp/edp_connector.c | 1 - > drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 1 - > drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c | 1 - > drivers/gpu/drm/mxsfb/mxsfb_out.c | 1 - > drivers/gpu/drm/nouveau/nouveau_connector.c | 12 +--- > drivers/gpu/drm/nouveau/nv50_display.c | 1 - > drivers/gpu/drm/omapdrm/omap_connector.c | 1 - > drivers/gpu/drm/pl111/pl111_connector.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 1 - > drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 - > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 1 - > drivers/gpu/drm/rockchip/inno_hdmi.c | 1 - > drivers/gpu/drm/sti/sti_dvo.c | 1 - > drivers/gpu/drm/sti/sti_hda.c | 1 - > drivers/gpu/drm/sti/sti_hdmi.c | 1 - > drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 1 - > drivers/gpu/drm/sun4i/sun4i_rgb.c | 1 - > drivers/gpu/drm/sun4i/sun4i_tv.c | 1 - > drivers/gpu/drm/tegra/dsi.c | 1 - > drivers/gpu/drm/tegra/hdmi.c | 1 - > drivers/gpu/drm/tegra/rgb.c | 1 - > drivers/gpu/drm/tegra/sor.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - > drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - > drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 1 - > drivers/gpu/drm/vc4/vc4_hdmi.c | 1 - > drivers/gpu/drm/vc4/vc4_vec.c | 1 - > drivers/gpu/drm/virtio/virtgpu_display.c | 1 - > drivers/gpu/drm/zte/zx_hdmi.c | 1 - > drivers/gpu/drm/zte/zx_tvenc.c | 1 - > drivers/gpu/drm/zte/zx_vga.c | 1 - > include/drm/drm_atomic_helper.h | 2 - > 68 files changed, 3 insertions(+), 164 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > index ff9792d350c8..682c090fa3ed 100644 > --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > @@ -786,7 +786,6 @@ adv7511_connector_detect(struct drm_connector *connector, bool force) > } > > static struct drm_connector_funcs adv7511_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = adv7511_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix-anx78xx.c > index dc045e0c32fc..9385eb0b1ee4 100644 > --- a/drivers/gpu/drm/bridge/analogix-anx78xx.c > +++ b/drivers/gpu/drm/bridge/analogix-anx78xx.c > @@ -1002,7 +1002,6 @@ static enum drm_connector_status anx78xx_detect(struct drm_connector *connector, > } > > static const struct drm_connector_funcs anx78xx_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = anx78xx_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > index 4c758ed51939..5dd3f1cd074a 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > @@ -1005,7 +1005,6 @@ analogix_dp_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs analogix_dp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = analogix_dp_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c > index 8a52539e618e..de5e7dee7ad6 100644 > --- a/drivers/gpu/drm/bridge/dumb-vga-dac.c > +++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c > @@ -92,7 +92,6 @@ dumb_vga_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs dumb_vga_con_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = dumb_vga_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c > index 11f11086a68f..7ccadba7c98c 100644 > --- a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c > +++ b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c > @@ -193,7 +193,6 @@ static enum drm_connector_status ge_b850v3_lvds_detect( > } > > static const struct drm_connector_funcs ge_b850v3_lvds_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = ge_b850v3_lvds_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/nxp-ptn3460.c b/drivers/gpu/drm/bridge/nxp-ptn3460.c > index f0b5d0fc8594..d64a3283822a 100644 > --- a/drivers/gpu/drm/bridge/nxp-ptn3460.c > +++ b/drivers/gpu/drm/bridge/nxp-ptn3460.c > @@ -238,7 +238,6 @@ static const struct drm_connector_helper_funcs ptn3460_connector_helper_funcs = > }; > > static const struct drm_connector_funcs ptn3460_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c > index 685c1a480201..59288b248dc5 100644 > --- a/drivers/gpu/drm/bridge/panel.c > +++ b/drivers/gpu/drm/bridge/panel.c > @@ -50,7 +50,6 @@ panel_bridge_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs panel_bridge_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/parade-ps8622.c b/drivers/gpu/drm/bridge/parade-ps8622.c > index 4f7725d4a309..81198f5e9afa 100644 > --- a/drivers/gpu/drm/bridge/parade-ps8622.c > +++ b/drivers/gpu/drm/bridge/parade-ps8622.c > @@ -476,7 +476,6 @@ static const struct drm_connector_helper_funcs ps8622_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs ps8622_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c > index 9efb7b8fad57..b1ab4ab09532 100644 > --- a/drivers/gpu/drm/bridge/sii902x.c > +++ b/drivers/gpu/drm/bridge/sii902x.c > @@ -124,7 +124,6 @@ sii902x_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs sii902x_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = sii902x_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > index 60faf2d2bc6b..91ac849604a8 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > @@ -1920,7 +1920,6 @@ static void dw_hdmi_connector_force(struct drm_connector *connector) > } > > static const struct drm_connector_funcs dw_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = dw_hdmi_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c > index 12a35f9c3adc..503252d6a74d 100644 > --- a/drivers/gpu/drm/bridge/tc358767.c > +++ b/drivers/gpu/drm/bridge/tc358767.c > @@ -1160,7 +1160,6 @@ static const struct drm_connector_helper_funcs tc_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs tc_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c > index 7ea2a15e8807..acb857030951 100644 > --- a/drivers/gpu/drm/bridge/ti-tfp410.c > +++ b/drivers/gpu/drm/bridge/ti-tfp410.c > @@ -102,7 +102,6 @@ tfp410_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs tfp410_con_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = tfp410_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 1ca0dcca6230..877733ae44ac 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -3102,85 +3102,6 @@ int drm_atomic_helper_page_flip_target(struct drm_crtc *crtc, > EXPORT_SYMBOL(drm_atomic_helper_page_flip_target); > > /** > - * drm_atomic_helper_connector_dpms() - connector dpms helper implementation > - * @connector: affected connector > - * @mode: DPMS mode > - * > - * This is the main helper function provided by the atomic helper framework for > - * implementing the legacy DPMS connector interface. It computes the new desired > - * &drm_crtc_state.active state for the corresponding CRTC (if the connector is > - * enabled) and updates it. > - * > - * Returns: > - * Returns 0 on success, negative errno numbers on failure. > - */ > -int drm_atomic_helper_connector_dpms(struct drm_connector *connector, > - int mode) > -{ > - struct drm_mode_config *config = &connector->dev->mode_config; > - struct drm_atomic_state *state; > - struct drm_crtc_state *crtc_state; > - struct drm_crtc *crtc; > - struct drm_connector *tmp_connector; > - struct drm_connector_list_iter conn_iter; > - int ret; > - bool active = false; > - int old_mode = connector->dpms; > - > - if (mode != DRM_MODE_DPMS_ON) > - mode = DRM_MODE_DPMS_OFF; > - > - connector->dpms = mode; > - crtc = connector->state->crtc; > - > - if (!crtc) > - return 0; > - > - state = drm_atomic_state_alloc(connector->dev); > - if (!state) > - return -ENOMEM; > - > - state->acquire_ctx = crtc->dev->mode_config.acquire_ctx; > -retry: > - crtc_state = drm_atomic_get_crtc_state(state, crtc); > - if (IS_ERR(crtc_state)) { > - ret = PTR_ERR(crtc_state); > - goto fail; > - } > - > - WARN_ON(!drm_modeset_is_locked(&config->connection_mutex)); > - > - drm_connector_list_iter_begin(connector->dev, &conn_iter); > - drm_for_each_connector_iter(tmp_connector, &conn_iter) { > - if (tmp_connector->state->crtc != crtc) > - continue; > - > - if (tmp_connector->dpms == DRM_MODE_DPMS_ON) { > - active = true; > - break; > - } > - } > - drm_connector_list_iter_end(&conn_iter); > - crtc_state->active = active; > - > - ret = drm_atomic_commit(state); > -fail: > - if (ret == -EDEADLK) > - goto backoff; > - if (ret != 0) > - connector->dpms = old_mode; > - drm_atomic_state_put(state); > - return ret; > - > -backoff: > - drm_atomic_state_clear(state); > - drm_atomic_legacy_backoff(state); > - > - goto retry; > -} > -EXPORT_SYMBOL(drm_atomic_helper_connector_dpms); > - > -/** > * drm_atomic_helper_best_encoder - Helper for > * &drm_connector_helper_funcs.best_encoder callback > * @connector: Connector control structure > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c > index 63abcd280fa0..76d80e5de521 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dpi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dpi.c > @@ -59,7 +59,6 @@ static void exynos_dpi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs exynos_dpi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = exynos_dpi_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = exynos_dpi_connector_destroy, > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > index f580be170089..4ea7cc7cb3de 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > @@ -1537,7 +1537,6 @@ static void exynos_dsi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs exynos_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = exynos_dsi_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = exynos_dsi_connector_destroy, > diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c > index cb8a72842537..9186a654c3b5 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c > @@ -289,7 +289,6 @@ static void vidi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs vidi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = vidi_detect, > .destroy = vidi_connector_destroy, > diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c > index c953927fb0cb..0e2a472c3021 100644 > --- a/drivers/gpu/drm/exynos/exynos_hdmi.c > +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c > @@ -835,7 +835,6 @@ static void hdmi_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = hdmi_detect, > .destroy = hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c > index dcbf3c06e1d8..edd7d8127d19 100644 > --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c > +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c > @@ -63,7 +63,6 @@ static const struct drm_connector_funcs fsl_dcu_drm_connector_funcs = { > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > .destroy = fsl_dcu_drm_connector_destroy, > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .reset = drm_atomic_helper_connector_reset, > }; > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c > index 12a18557c5fd..ec4dd9df9150 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c > @@ -47,7 +47,6 @@ static const struct drm_connector_helper_funcs > }; > > static const struct drm_connector_funcs hibmc_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c > index d1e7ac540199..54e3255dde13 100644 > --- a/drivers/gpu/drm/i2c/tda998x_drv.c > +++ b/drivers/gpu/drm/i2c/tda998x_drv.c > @@ -969,14 +969,6 @@ static int tda998x_audio_codec_init(struct tda998x_priv *priv, > > /* DRM connector functions */ > > -static int tda998x_connector_dpms(struct drm_connector *connector, int mode) > -{ > - if (drm_core_check_feature(connector->dev, DRIVER_ATOMIC)) > - return drm_atomic_helper_connector_dpms(connector, mode); > - else > - return drm_helper_connector_dpms(connector, mode); > -} > - > static int tda998x_connector_fill_modes(struct drm_connector *connector, > uint32_t maxX, uint32_t maxY) > { > @@ -1014,7 +1006,7 @@ static void tda998x_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tda998x_connector_funcs = { > - .dpms = tda998x_connector_dpms, > + .dpms = drm_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .fill_modes = tda998x_connector_fill_modes, > .detect = tda998x_connector_detect, > diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c > index 84c3a6dc7c2a..70e0ff41070c 100644 > --- a/drivers/gpu/drm/i915/intel_crt.c > +++ b/drivers/gpu/drm/i915/intel_crt.c > @@ -802,7 +802,6 @@ void intel_crt_reset(struct drm_encoder *encoder) > */ > > static const struct drm_connector_funcs intel_crt_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 19b082ea57ef..76c8a0bd17f9 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -5007,7 +5007,6 @@ void intel_dp_encoder_reset(struct drm_encoder *encoder) > } > > static const struct drm_connector_funcs intel_dp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .force = intel_dp_force, > .fill_modes = drm_helper_probe_single_connector_modes, > .atomic_get_property = intel_digital_connector_atomic_get_property, > diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c > index 59a6dfd48ed4..58568559711a 100644 > --- a/drivers/gpu/drm/i915/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/intel_dp_mst.c > @@ -346,7 +346,6 @@ intel_dp_mst_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_dp_mst_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_dp_mst_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .late_register = intel_connector_register, > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c > index 375e7cfcf207..b0b3adf016f8 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -1653,7 +1653,6 @@ static const struct drm_connector_helper_funcs intel_dsi_connector_helper_funcs > }; > > static const struct drm_connector_funcs intel_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > .destroy = intel_dsi_connector_destroy, > diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c > index 6b1970542911..baf369d2de30 100644 > --- a/drivers/gpu/drm/i915/intel_dvo.c > +++ b/drivers/gpu/drm/i915/intel_dvo.c > @@ -344,7 +344,6 @@ static void intel_dvo_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_dvo_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_dvo_detect, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index 3074190b9455..2ef1ee85129d 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -1761,7 +1761,6 @@ static void intel_hdmi_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_hdmi_detect, > .force = intel_hdmi_force, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c > index 6579299f5d00..61d557948e21 100644 > --- a/drivers/gpu/drm/i915/intel_lvds.c > +++ b/drivers/gpu/drm/i915/intel_lvds.c > @@ -595,7 +595,6 @@ static const struct drm_connector_helper_funcs intel_lvds_connector_helper_funcs > }; > > static const struct drm_connector_funcs intel_lvds_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_lvds_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .atomic_get_property = intel_digital_connector_atomic_get_property, > diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c > index a8eee1984ddf..bea8152ae859 100644 > --- a/drivers/gpu/drm/i915/intel_sdvo.c > +++ b/drivers/gpu/drm/i915/intel_sdvo.c > @@ -2193,7 +2193,6 @@ intel_sdvo_connector_duplicate_state(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_sdvo_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = intel_sdvo_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .atomic_get_property = intel_sdvo_connector_atomic_get_property, > diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c > index e4ef2919b682..906893c006d8 100644 > --- a/drivers/gpu/drm/i915/intel_tv.c > +++ b/drivers/gpu/drm/i915/intel_tv.c > @@ -1407,7 +1407,6 @@ intel_tv_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs intel_tv_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .late_register = intel_connector_register, > .early_unregister = intel_connector_unregister, > .destroy = intel_tv_destroy, > diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c > index 8b05ecb8fdef..56dd7a9a8e25 100644 > --- a/drivers/gpu/drm/imx/imx-ldb.c > +++ b/drivers/gpu/drm/imx/imx-ldb.c > @@ -389,7 +389,6 @@ static int imx_ldb_encoder_atomic_check(struct drm_encoder *encoder, > > > static const struct drm_connector_funcs imx_ldb_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = imx_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c > index 4826bb781723..bc27c2699464 100644 > --- a/drivers/gpu/drm/imx/imx-tve.c > +++ b/drivers/gpu/drm/imx/imx-tve.c > @@ -341,7 +341,6 @@ static int imx_tve_atomic_check(struct drm_encoder *encoder, > } > > static const struct drm_connector_funcs imx_tve_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = imx_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c > index 8aca20209cb8..8def97d75030 100644 > --- a/drivers/gpu/drm/imx/parallel-display.c > +++ b/drivers/gpu/drm/imx/parallel-display.c > @@ -135,7 +135,6 @@ static int imx_pd_encoder_atomic_check(struct drm_encoder *encoder, > } > > static const struct drm_connector_funcs imx_pd_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = imx_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c > index a31bd2a82de5..7e5e24c2152a 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > @@ -766,7 +766,6 @@ static const struct drm_encoder_helper_funcs mtk_dsi_encoder_helper_funcs = { > }; > > static const struct drm_connector_funcs mtk_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c > index f2437cd1e0f9..690c67507cbc 100644 > --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c > +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c > @@ -1261,7 +1261,6 @@ static struct drm_encoder *mtk_hdmi_conn_best_enc(struct drm_connector *conn) > } > > static const struct drm_connector_funcs mtk_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = hdmi_conn_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = hdmi_conn_destroy, > diff --git a/drivers/gpu/drm/meson/meson_venc_cvbs.c b/drivers/gpu/drm/meson/meson_venc_cvbs.c > index 00775b397dba..79d95ca8a0c0 100644 > --- a/drivers/gpu/drm/meson/meson_venc_cvbs.c > +++ b/drivers/gpu/drm/meson/meson_venc_cvbs.c > @@ -118,7 +118,6 @@ static int meson_cvbs_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs meson_cvbs_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = meson_cvbs_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = meson_cvbs_connector_destroy, > diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c > index a879ffa534b4..855248132b2b 100644 > --- a/drivers/gpu/drm/msm/dsi/dsi_manager.c > +++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c > @@ -626,7 +626,6 @@ static void dsi_mgr_bridge_mode_set(struct drm_bridge *bridge, > } > > static const struct drm_connector_funcs dsi_mgr_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = dsi_mgr_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = dsi_mgr_connector_destroy, > diff --git a/drivers/gpu/drm/msm/edp/edp_connector.c b/drivers/gpu/drm/msm/edp/edp_connector.c > index 5960628ceb93..6f3fc6b0f0a3 100644 > --- a/drivers/gpu/drm/msm/edp/edp_connector.c > +++ b/drivers/gpu/drm/msm/edp/edp_connector.c > @@ -92,7 +92,6 @@ static int edp_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs edp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = edp_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = edp_connector_destroy, > diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > index a2515b466ce5..71536d9c7fe8 100644 > --- a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > +++ b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c > @@ -407,7 +407,6 @@ static int msm_hdmi_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c > index 353429b05733..e3b1c86b7aae 100644 > --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c > +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c > @@ -91,7 +91,6 @@ static int mdp4_lvds_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs mdp4_lvds_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = mdp4_lvds_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = mdp4_lvds_connector_destroy, > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_out.c b/drivers/gpu/drm/mxsfb/mxsfb_out.c > index f7d729aa09bd..e5edf016a439 100644 > --- a/drivers/gpu/drm/mxsfb/mxsfb_out.c > +++ b/drivers/gpu/drm/mxsfb/mxsfb_out.c > @@ -74,7 +74,6 @@ static void mxsfb_panel_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs mxsfb_panel_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = mxsfb_panel_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = mxsfb_panel_connector_destroy, > diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c > index 2468e81918fd..5137155bf3c0 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_connector.c > +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c > @@ -1072,17 +1072,9 @@ nouveau_connector_helper_funcs = { > .best_encoder = nouveau_connector_best_encoder, > }; > > -static int > -nouveau_connector_dpms(struct drm_connector *connector, int mode) > -{ > - if (drm_drv_uses_atomic_modeset(connector->dev)) > - return drm_atomic_helper_connector_dpms(connector, mode); > - return drm_helper_connector_dpms(connector, mode); > -} > - > static const struct drm_connector_funcs > nouveau_connector_funcs = { > - .dpms = nouveau_connector_dpms, > + .dpms = drm_helper_connector_dpms, > .reset = nouveau_conn_reset, > .detect = nouveau_connector_detect, > .force = nouveau_connector_force, > @@ -1097,7 +1089,7 @@ nouveau_connector_funcs = { > > static const struct drm_connector_funcs > nouveau_connector_funcs_lvds = { > - .dpms = nouveau_connector_dpms, > + .dpms = drm_helper_connector_dpms, > .reset = nouveau_conn_reset, > .detect = nouveau_connector_detect_lvds, > .force = nouveau_connector_force, > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index 80a96eb08bbf..d442def6c965 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -3118,7 +3118,6 @@ nv50_mstc_destroy(struct drm_connector *connector) > > static const struct drm_connector_funcs > nv50_mstc = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = nouveau_conn_reset, > .detect = nv50_mstc_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c > index c24b6b783e9a..d1ec76ef5cc6 100644 > --- a/drivers/gpu/drm/omapdrm/omap_connector.c > +++ b/drivers/gpu/drm/omapdrm/omap_connector.c > @@ -195,7 +195,6 @@ static int omap_connector_mode_valid(struct drm_connector *connector, > } > > static const struct drm_connector_funcs omap_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = omap_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/pl111/pl111_connector.c b/drivers/gpu/drm/pl111/pl111_connector.c > index 3f213d7e7692..d335f9a29ce4 100644 > --- a/drivers/gpu/drm/pl111/pl111_connector.c > +++ b/drivers/gpu/drm/pl111/pl111_connector.c > @@ -69,7 +69,6 @@ const struct drm_connector_funcs connector_funcs = { > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = pl111_connector_destroy, > .detect = pl111_connector_detect, > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > index ee91481131ad..b373ad48ef5f 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c > @@ -46,7 +46,6 @@ static void rcar_du_lvds_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = rcar_du_lvds_connector_destroy, > diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c > index 9b0b0588bbed..a57da051f516 100644 > --- a/drivers/gpu/drm/rockchip/cdn-dp-core.c > +++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c > @@ -254,7 +254,6 @@ static void cdn_dp_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs cdn_dp_atomic_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = cdn_dp_connector_detect, > .destroy = cdn_dp_connector_destroy, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > index 21b9737662ae..9a20b9dc27c8 100644 > --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > @@ -1080,7 +1080,6 @@ static void dw_mipi_dsi_drm_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs dw_mipi_dsi_atomic_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = dw_mipi_dsi_drm_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c > index 7149968aa25a..bd87768dd549 100644 > --- a/drivers/gpu/drm/rockchip/inno_hdmi.c > +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c > @@ -593,7 +593,6 @@ static void inno_hdmi_connector_destroy(struct drm_connector *connector) > } > > static struct drm_connector_funcs inno_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = inno_hdmi_probe_single_connector_modes, > .detect = inno_hdmi_connector_detect, > .destroy = inno_hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c > index a51cd9f754db..852bf2293b05 100644 > --- a/drivers/gpu/drm/sti/sti_dvo.c > +++ b/drivers/gpu/drm/sti/sti_dvo.c > @@ -412,7 +412,6 @@ static int sti_dvo_late_register(struct drm_connector *connector) > } > > static const struct drm_connector_funcs sti_dvo_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = sti_dvo_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c > index d6ed909d9d75..cf65e32b5090 100644 > --- a/drivers/gpu/drm/sti/sti_hda.c > +++ b/drivers/gpu/drm/sti/sti_hda.c > @@ -647,7 +647,6 @@ static int sti_hda_late_register(struct drm_connector *connector) > } > > static const struct drm_connector_funcs sti_hda_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c > index 21f11dfae472..30f02d2fdd03 100644 > --- a/drivers/gpu/drm/sti/sti_hdmi.c > +++ b/drivers/gpu/drm/sti/sti_hdmi.c > @@ -1113,7 +1113,6 @@ static int sti_hdmi_late_register(struct drm_connector *connector) > } > > static const struct drm_connector_funcs sti_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = sti_hdmi_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > index 83b7a2a025f2..f5d0d6bd1084 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > @@ -306,7 +306,6 @@ sun4i_hdmi_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs sun4i_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = sun4i_hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c > index 422b191faa77..550bb262943f 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_rgb.c > +++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c > @@ -120,7 +120,6 @@ sun4i_rgb_connector_destroy(struct drm_connector *connector) > } > > static struct drm_connector_funcs sun4i_rgb_con_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = sun4i_rgb_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c > index 338b9e5bb2a3..7b45ac9383ea 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_tv.c > +++ b/drivers/gpu/drm/sun4i/sun4i_tv.c > @@ -546,7 +546,6 @@ sun4i_tv_comp_connector_destroy(struct drm_connector *connector) > } > > static struct drm_connector_funcs sun4i_tv_comp_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = sun4i_tv_comp_connector_destroy, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c > index 3dea1216bafd..e4b5aedfdbd4 100644 > --- a/drivers/gpu/drm/tegra/dsi.c > +++ b/drivers/gpu/drm/tegra/dsi.c > @@ -815,7 +815,6 @@ tegra_dsi_connector_duplicate_state(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tegra_dsi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = tegra_dsi_connector_reset, > .detect = tegra_output_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c > index 718d8db406a6..a621b0da4092 100644 > --- a/drivers/gpu/drm/tegra/hdmi.c > +++ b/drivers/gpu/drm/tegra/hdmi.c > @@ -902,7 +902,6 @@ tegra_hdmi_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs tegra_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tegra_hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tegra/rgb.c b/drivers/gpu/drm/tegra/rgb.c > index a131b44e2d6f..78ec5193741d 100644 > --- a/drivers/gpu/drm/tegra/rgb.c > +++ b/drivers/gpu/drm/tegra/rgb.c > @@ -88,7 +88,6 @@ static void tegra_dc_write_regs(struct tegra_dc *dc, > } > > static const struct drm_connector_funcs tegra_rgb_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tegra_output_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c > index fb2709c0c461..e0642d05a8d3 100644 > --- a/drivers/gpu/drm/tegra/sor.c > +++ b/drivers/gpu/drm/tegra/sor.c > @@ -1340,7 +1340,6 @@ tegra_sor_connector_duplicate_state(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tegra_sor_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = tegra_sor_connector_reset, > .detect = tegra_sor_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c > index 28c3e2f44f64..1813a3623ce6 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c > @@ -189,7 +189,6 @@ static struct drm_encoder *panel_connector_best_encoder( > > static const struct drm_connector_funcs panel_connector_funcs = { > .destroy = panel_connector_destroy, > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .reset = drm_atomic_helper_connector_reset, > .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > index aabfad882e23..1e2dfb1b1d6b 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c > @@ -202,7 +202,6 @@ static struct drm_encoder *tfp410_connector_best_encoder( > > static const struct drm_connector_funcs tfp410_connector_funcs = { > .destroy = tfp410_connector_destroy, > - .dpms = drm_atomic_helper_connector_dpms, > .detect = tfp410_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > index ec43fb7ad9e4..79b6687977d3 100644 > --- a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > @@ -71,7 +71,6 @@ static void tinydrm_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tinydrm_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tinydrm_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c > index 406d6d83b6c6..b249b79ce04a 100644 > --- a/drivers/gpu/drm/vc4/vc4_hdmi.c > +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c > @@ -265,7 +265,6 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) > } > > static const struct drm_connector_funcs vc4_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = vc4_hdmi_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = vc4_hdmi_connector_destroy, > diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c > index 369fea5a13a1..3a9a302247a2 100644 > --- a/drivers/gpu/drm/vc4/vc4_vec.c > +++ b/drivers/gpu/drm/vc4/vc4_vec.c > @@ -366,7 +366,6 @@ static int vc4_vec_connector_get_modes(struct drm_connector *connector) > } > > static const struct drm_connector_funcs vc4_vec_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = vc4_vec_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = vc4_vec_connector_destroy, > diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c > index ffd22e5ab43a..b6d52055a11f 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_display.c > +++ b/drivers/gpu/drm/virtio/virtgpu_display.c > @@ -252,7 +252,6 @@ static void virtio_gpu_conn_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs virtio_gpu_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .detect = virtio_gpu_conn_detect, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = virtio_gpu_conn_destroy, > diff --git a/drivers/gpu/drm/zte/zx_hdmi.c b/drivers/gpu/drm/zte/zx_hdmi.c > index 7e834e3eeed9..b8abb1b496ff 100644 > --- a/drivers/gpu/drm/zte/zx_hdmi.c > +++ b/drivers/gpu/drm/zte/zx_hdmi.c > @@ -300,7 +300,6 @@ zx_hdmi_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs zx_hdmi_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = zx_hdmi_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/drivers/gpu/drm/zte/zx_tvenc.c b/drivers/gpu/drm/zte/zx_tvenc.c > index b56dc69843fc..0de1a71ca4e0 100644 > --- a/drivers/gpu/drm/zte/zx_tvenc.c > +++ b/drivers/gpu/drm/zte/zx_tvenc.c > @@ -269,7 +269,6 @@ static struct drm_connector_helper_funcs zx_tvenc_connector_helper_funcs = { > }; > > static const struct drm_connector_funcs zx_tvenc_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .destroy = drm_connector_cleanup, > .reset = drm_atomic_helper_connector_reset, > diff --git a/drivers/gpu/drm/zte/zx_vga.c b/drivers/gpu/drm/zte/zx_vga.c > index 1e0811f775cb..3e7e33cd3dfa 100644 > --- a/drivers/gpu/drm/zte/zx_vga.c > +++ b/drivers/gpu/drm/zte/zx_vga.c > @@ -138,7 +138,6 @@ zx_vga_connector_detect(struct drm_connector *connector, bool force) > } > > static const struct drm_connector_funcs zx_vga_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .fill_modes = drm_helper_probe_single_connector_modes, > .detect = zx_vga_connector_detect, > .destroy = drm_connector_cleanup, > diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h > index 619089a027ec..d2b56cc657e9 100644 > --- a/include/drm/drm_atomic_helper.h > +++ b/include/drm/drm_atomic_helper.h > @@ -136,8 +136,6 @@ int drm_atomic_helper_page_flip_target( > uint32_t flags, > uint32_t target, > struct drm_modeset_acquire_ctx *ctx); > -int drm_atomic_helper_connector_dpms(struct drm_connector *connector, > - int mode); > struct drm_encoder * > drm_atomic_helper_best_encoder(struct drm_connector *connector); > > ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter ` (8 preceding siblings ...) (?) @ 2017-07-25 14:01 ` Laurent Pinchart -1 siblings, 0 replies; 84+ messages in thread From: Laurent Pinchart @ 2017-07-25 14:01 UTC (permalink / raw) To: Daniel Vetter Cc: nopsys.com, one.org, Martyn Welch, Neil Armstrong, David Airlie, nouveau, DRI Development, virtualization, Andrzej Hajda, Tomi Valkeinen, linux-mediatek, Benjamin Gaignard, Romain Perier, Daniel Vetter, Jyri Sarha, Heiko Stuebner, Marek Vasut, linux-renesas-soc, Archit Taneja, Lars-Peter Clausen, Joonyoung Shim, Kevin Hilman, Alexey Brodkin Hi Daniel, Thank you for the patch. On Tuesday 25 Jul 2017 10:01:21 Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [snip] > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - > drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - > drivers/gpu/drm/bridge/panel.c | 1 - > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - > drivers/gpu/drm/drm_atomic_helper.c | 79 ------------------- > drivers/gpu/drm/omapdrm/omap_connector.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 1 - For the above, Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> -- Regards, Laurent Pinchart ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter ` (9 preceding siblings ...) (?) @ 2017-07-25 14:01 ` Laurent Pinchart -1 siblings, 0 replies; 84+ messages in thread From: Laurent Pinchart @ 2017-07-25 14:01 UTC (permalink / raw) To: Daniel Vetter Cc: nopsys.com, one.org, Martyn Welch, Neil Armstrong, nouveau, DRI Development, virtualization, Tomi Valkeinen, linux-mediatek, Gerd Hoffmann, Romain Perier, Daniel Vetter, Jyri Sarha, Marek Vasut, linux-renesas-soc, Kevin Hilman, Alexey Brodkin, Russell King, Krzysztof Kozlowski, Jonathan Hunter, Xinliang Liu, linux-rockchip, Chen-Yu Tsai, Kukjin Kim Hi Daniel, Thank you for the patch. On Tuesday 25 Jul 2017 10:01:21 Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [snip] > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 - > drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 - > drivers/gpu/drm/bridge/panel.c | 1 - > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 - > drivers/gpu/drm/drm_atomic_helper.c | 79 ------------------- > drivers/gpu/drm/omapdrm/omap_connector.c | 1 - > drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 1 - For the above, Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter ` (10 preceding siblings ...) (?) @ 2017-07-25 14:42 ` Shawn Guo -1 siblings, 0 replies; 84+ messages in thread From: Shawn Guo @ 2017-07-25 14:42 UTC (permalink / raw) To: Daniel Vetter Cc: Martyn Welch, Neil Armstrong, David Airlie, nouveau, DRI Development, virtualization, Andrzej Hajda, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Benjamin Gaignard, Romain Perier, Daniel Vetter, Jyri Sarha, Heiko Stuebner, Marek Vasut, linux-renesas-soc, Archit Taneja, Lars-Peter Clausen, Joonyoung Shim, Kevin Hilman, Alexey Brodkin, Russell On Tue, Jul 25, 2017 at 10:01:21AM +0200, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> ... > drivers/gpu/drm/zte/zx_hdmi.c | 1 - > drivers/gpu/drm/zte/zx_tvenc.c | 1 - > drivers/gpu/drm/zte/zx_vga.c | 1 - Acked-by: Shawn Guo <shawnguo@kernel.org> ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter @ 2017-07-25 14:42 ` Shawn Guo -1 siblings, 0 replies; 84+ messages in thread From: Shawn Guo @ 2017-07-25 14:42 UTC (permalink / raw) To: Daniel Vetter Cc: Martyn Welch, Neil Armstrong, nouveau, DRI Development, virtualization, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Romain Perier, Daniel Vetter, Jyri Sarha, Marek Vasut, linux-renesas-soc, Kevin Hilman, Alexey Brodkin, Russell King, Krzysztof Kozlowski, Jonathan Hunter, Xinliang Liu, linux-rockchip, Chen-Yu Tsai, Kukjin Kim, Peter Senna Tschudin On Tue, Jul 25, 2017 at 10:01:21AM +0200, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> ... > drivers/gpu/drm/zte/zx_hdmi.c | 1 - > drivers/gpu/drm/zte/zx_tvenc.c | 1 - > drivers/gpu/drm/zte/zx_vga.c | 1 - Acked-by: Shawn Guo <shawnguo@kernel.org> _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms @ 2017-07-25 14:42 ` Shawn Guo 0 siblings, 0 replies; 84+ messages in thread From: Shawn Guo @ 2017-07-25 14:42 UTC (permalink / raw) To: linus-amlogic On Tue, Jul 25, 2017 at 10:01:21AM +0200, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> ... > drivers/gpu/drm/zte/zx_hdmi.c | 1 - > drivers/gpu/drm/zte/zx_tvenc.c | 1 - > drivers/gpu/drm/zte/zx_vga.c | 1 - Acked-by: Shawn Guo <shawnguo@kernel.org> ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter ` (12 preceding siblings ...) (?) @ 2017-07-26 19:00 ` Noralf Trønnes -1 siblings, 0 replies; 84+ messages in thread From: Noralf Trønnes @ 2017-07-26 19:00 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: Martyn Welch, Neil Armstrong, David Airlie, nouveau, DRI Development, virtualization, Andrzej Hajda, Tomi Valkeinen, Laurent Pinchart, Benjamin Gaignard, Romain Perier, Daniel Vetter, Jyri Sarha, Heiko Stuebner, Marek Vasut, linux-renesas-soc, Archit Taneja, Lars-Peter Clausen, Joonyoung Shim, Kevin Hilman, Alexey Brodkin, Russell King, Krzy Den 25.07.2017 10.01, skrev Daniel Vetter: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> ... > diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > index ec43fb7ad9e4..79b6687977d3 100644 > --- a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > @@ -71,7 +71,6 @@ static void tinydrm_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tinydrm_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tinydrm_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, Acked-by: Noralf Trønnes <noralf@tronnes.org> _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter @ 2017-07-26 19:00 ` Noralf Trønnes -1 siblings, 0 replies; 84+ messages in thread From: Noralf Trønnes @ 2017-07-26 19:00 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: Martyn Welch, Neil Armstrong, nouveau, DRI Development, virtualization, Tomi Valkeinen, Laurent Pinchart, Romain Perier, Daniel Vetter, Jyri Sarha, Marek Vasut, linux-renesas-soc, Kevin Hilman, Alexey Brodkin, Russell King, Krzysztof Kozlowski, Jonathan Hunter, Xinliang Liu, linux-rockchip, Chen-Yu Tsai, Kukjin Kim, Peter Senna Tschudin Den 25.07.2017 10.01, skrev Daniel Vetter: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> ... > diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > index ec43fb7ad9e4..79b6687977d3 100644 > --- a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > @@ -71,7 +71,6 @@ static void tinydrm_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tinydrm_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tinydrm_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, Acked-by: Noralf Trønnes <noralf@tronnes.org> _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms @ 2017-07-26 19:00 ` Noralf Trønnes 0 siblings, 0 replies; 84+ messages in thread From: Noralf Trønnes @ 2017-07-26 19:00 UTC (permalink / raw) To: linus-amlogic Den 25.07.2017 10.01, skrev Daniel Vetter: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> ... > diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > index ec43fb7ad9e4..79b6687977d3 100644 > --- a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c > @@ -71,7 +71,6 @@ static void tinydrm_connector_destroy(struct drm_connector *connector) > } > > static const struct drm_connector_funcs tinydrm_connector_funcs = { > - .dpms = drm_atomic_helper_connector_dpms, > .reset = drm_atomic_helper_connector_reset, > .detect = tinydrm_connector_detect, > .fill_modes = drm_helper_probe_single_connector_modes, Acked-by: Noralf Tr?nnes <noralf@tronnes.org> ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter @ 2017-08-08 10:05 ` Vincent ABRIOU -1 siblings, 0 replies; 84+ messages in thread From: Vincent ABRIOU @ 2017-08-08 10:05 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: Martyn Welch, Neil Armstrong, nouveau, DRI Development, virtualization, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Romain Perier, Daniel Vetter, Jyri Sarha, Marek Vasut, linux-renesas-soc, Kevin Hilman, Alexey Brodkin, Russell King, Krzysztof Kozlowski, Jonathan Hunter, Xinliang On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [...] > drivers/gpu/drm/sti/sti_dvo.c | 1 - > drivers/gpu/drm/sti/sti_hda.c | 1 - > drivers/gpu/drm/sti/sti_hdmi.c | 1 - Acked-by: Vincent Abriou <vincent.abriou@st.com> BR Vincent _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms @ 2017-08-08 10:05 ` Vincent ABRIOU 0 siblings, 0 replies; 84+ messages in thread From: Vincent ABRIOU @ 2017-08-08 10:05 UTC (permalink / raw) To: linus-amlogic On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [...] > drivers/gpu/drm/sti/sti_dvo.c | 1 - > drivers/gpu/drm/sti/sti_hda.c | 1 - > drivers/gpu/drm/sti/sti_hdmi.c | 1 - Acked-by: Vincent Abriou <vincent.abriou@st.com> BR Vincent ^ permalink raw reply [flat|nested] 84+ messages in thread
* Re: [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms 2017-07-25 8:01 ` Daniel Vetter ` (15 preceding siblings ...) (?) @ 2017-08-08 10:05 ` Vincent ABRIOU -1 siblings, 0 replies; 84+ messages in thread From: Vincent ABRIOU @ 2017-08-08 10:05 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development Cc: Martyn Welch, Neil Armstrong, David Airlie, nouveau, DRI Development, virtualization, Andrzej Hajda, Tomi Valkeinen, linux-mediatek, Laurent Pinchart, Benjamin Gaignard, Romain Perier, Daniel Vetter, Jyri Sarha, Heiko Stuebner, Marek Vasut, linux-renesas-soc, Archit Taneja, Lars-Pete On 07/25/2017 10:01 AM, Daniel Vetter wrote: > It's dead code, the core handles all this directly now. > > The only special case is nouveau and tda988x which used one function > for both legacy modeset code and -nv50 atomic world instead of 2 > vtables. But amounts to exactly the same. > > v2: Rebase over the panel/brideg refactorings in stm/ltdc. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> [...] > drivers/gpu/drm/sti/sti_dvo.c | 1 - > drivers/gpu/drm/sti/sti_hda.c | 1 - > drivers/gpu/drm/sti/sti_hdmi.c | 1 - Acked-by: Vincent Abriou <vincent.abriou@st.com> BR Vincent ^ permalink raw reply [flat|nested] 84+ messages in thread
* [PATCH 8/8] drm: Nuke drm_atomic_legacy_backoff 2017-07-25 8:01 [PATCH 0/8] acquire ctx for everyone! Daniel Vetter ` (6 preceding siblings ...) 2017-07-25 8:01 ` Daniel Vetter @ 2017-07-25 8:01 ` Daniel Vetter 2017-07-25 9:36 ` [Intel-gfx] " Maarten Lankhorst 2017-07-25 8:44 ` ✓ Fi.CI.BAT: success for acquire ctx for everyone! Patchwork 2017-07-25 12:05 ` ✗ Fi.CI.BAT: failure for acquire ctx for everyone! (rev3) Patchwork 9 siblings, 1 reply; 84+ messages in thread From: Daniel Vetter @ 2017-07-25 8:01 UTC (permalink / raw) To: Intel Graphics Development; +Cc: Daniel Vetter, DRI Development Finally all users are gone! Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/drm_atomic.c | 32 -------------------------------- include/drm/drm_atomic.h | 2 -- 2 files changed, 34 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 306fdca92abf..1b755439f591 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -1588,38 +1588,6 @@ drm_atomic_add_affected_planes(struct drm_atomic_state *state, EXPORT_SYMBOL(drm_atomic_add_affected_planes); /** - * drm_atomic_legacy_backoff - locking backoff for legacy ioctls - * @state: atomic state - * - * This function should be used by legacy entry points which don't understand - * -EDEADLK semantics. For simplicity this one will grab all modeset locks after - * the slowpath completed. - */ -void drm_atomic_legacy_backoff(struct drm_atomic_state *state) -{ - struct drm_device *dev = state->dev; - int ret; - bool global = false; - - if (WARN_ON(dev->mode_config.acquire_ctx == state->acquire_ctx)) { - global = true; - - dev->mode_config.acquire_ctx = NULL; - } - -retry: - drm_modeset_backoff(state->acquire_ctx); - - ret = drm_modeset_lock_all_ctx(dev, state->acquire_ctx); - if (ret) - goto retry; - - if (global) - dev->mode_config.acquire_ctx = state->acquire_ctx; -} -EXPORT_SYMBOL(drm_atomic_legacy_backoff); - -/** * drm_atomic_check_only - check whether a given config would work * @state: atomic configuration to check * diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index fccc09d5f2b3..066b8dac3978 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -545,8 +545,6 @@ int __must_check drm_atomic_add_affected_planes(struct drm_atomic_state *state, struct drm_crtc *crtc); -void drm_atomic_legacy_backoff(struct drm_atomic_state *state); - void drm_atomic_clean_old_fb(struct drm_device *dev, unsigned plane_mask, int ret); -- 2.13.3 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 84+ messages in thread
* Re: [Intel-gfx] [PATCH 8/8] drm: Nuke drm_atomic_legacy_backoff 2017-07-25 8:01 ` [PATCH 8/8] drm: Nuke drm_atomic_legacy_backoff Daniel Vetter @ 2017-07-25 9:36 ` Maarten Lankhorst 0 siblings, 0 replies; 84+ messages in thread From: Maarten Lankhorst @ 2017-07-25 9:36 UTC (permalink / raw) To: Daniel Vetter, Intel Graphics Development; +Cc: DRI Development Op 25-07-17 om 10:01 schreef Daniel Vetter: > Finally all users are gone! > > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> > --- > drivers/gpu/drm/drm_atomic.c | 32 -------------------------------- > include/drm/drm_atomic.h | 2 -- > 2 files changed, 34 deletions(-) > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 306fdca92abf..1b755439f591 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -1588,38 +1588,6 @@ drm_atomic_add_affected_planes(struct drm_atomic_state *state, > EXPORT_SYMBOL(drm_atomic_add_affected_planes); > > /** > - * drm_atomic_legacy_backoff - locking backoff for legacy ioctls > - * @state: atomic state > - * > - * This function should be used by legacy entry points which don't understand > - * -EDEADLK semantics. For simplicity this one will grab all modeset locks after > - * the slowpath completed. > - */ > -void drm_atomic_legacy_backoff(struct drm_atomic_state *state) > -{ > - struct drm_device *dev = state->dev; > - int ret; > - bool global = false; > - > - if (WARN_ON(dev->mode_config.acquire_ctx == state->acquire_ctx)) { > - global = true; > - > - dev->mode_config.acquire_ctx = NULL; > - } > - > -retry: > - drm_modeset_backoff(state->acquire_ctx); > - > - ret = drm_modeset_lock_all_ctx(dev, state->acquire_ctx); > - if (ret) > - goto retry; > - > - if (global) > - dev->mode_config.acquire_ctx = state->acquire_ctx; > -} > -EXPORT_SYMBOL(drm_atomic_legacy_backoff); You're missing one patch here. We should also mark dev->mode_config.acquire_ctx __private. That way atomic commits will never be able to use lock_all. :) Though I think it requires fixing vmwgfx_fb.c and i915 first. Otherwise series looks good, so with review comments addressed. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 84+ messages in thread
* ✓ Fi.CI.BAT: success for acquire ctx for everyone! 2017-07-25 8:01 [PATCH 0/8] acquire ctx for everyone! Daniel Vetter ` (7 preceding siblings ...) 2017-07-25 8:01 ` [PATCH 8/8] drm: Nuke drm_atomic_legacy_backoff Daniel Vetter @ 2017-07-25 8:44 ` Patchwork 2017-07-25 12:05 ` ✗ Fi.CI.BAT: failure for acquire ctx for everyone! (rev3) Patchwork 9 siblings, 0 replies; 84+ messages in thread From: Patchwork @ 2017-07-25 8:44 UTC (permalink / raw) To: Daniel Vetter; +Cc: intel-gfx == Series Details == Series: acquire ctx for everyone! URL : https://patchwork.freedesktop.org/series/27835/ State : success == Summary == Series 27835v1 acquire ctx for everyone! https://patchwork.freedesktop.org/api/1.0/series/27835/revisions/1/mbox/ Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-atomic: fail -> PASS (fi-snb-2600) fdo#100215 Test kms_flip: Subgroup basic-flip-vs-modeset: pass -> SKIP (fi-skl-x1585l) fdo#101781 Test kms_pipe_crc_basic: Subgroup hang-read-crc-pipe-a: pass -> DMESG-WARN (fi-pnv-d510) fdo#101597 Subgroup suspend-read-crc-pipe-b: pass -> DMESG-WARN (fi-byt-j1900) fdo#101705 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fdo#101781 https://bugs.freedesktop.org/show_bug.cgi?id=101781 fdo#101597 https://bugs.freedesktop.org/show_bug.cgi?id=101597 fdo#101705 https://bugs.freedesktop.org/show_bug.cgi?id=101705 fi-bdw-5557u total:280 pass:269 dwarn:0 dfail:0 fail:0 skip:11 time:444s fi-bdw-gvtdvm total:280 pass:265 dwarn:1 dfail:0 fail:0 skip:14 time:432s fi-blb-e6850 total:280 pass:225 dwarn:1 dfail:0 fail:0 skip:54 time:360s fi-bsw-n3050 total:280 pass:244 dwarn:0 dfail:0 fail:0 skip:36 time:549s fi-bxt-j4205 total:280 pass:261 dwarn:0 dfail:0 fail:0 skip:19 time:514s fi-byt-j1900 total:280 pass:255 dwarn:1 dfail:0 fail:0 skip:24 time:496s fi-byt-n2820 total:280 pass:251 dwarn:1 dfail:0 fail:0 skip:28 time:491s fi-glk-2a total:280 pass:261 dwarn:0 dfail:0 fail:0 skip:19 time:605s fi-hsw-4770 total:280 pass:264 dwarn:0 dfail:0 fail:0 skip:16 time:439s fi-hsw-4770r total:280 pass:264 dwarn:0 dfail:0 fail:0 skip:16 time:419s fi-ilk-650 total:280 pass:230 dwarn:0 dfail:0 fail:0 skip:50 time:411s fi-ivb-3520m total:280 pass:262 dwarn:0 dfail:0 fail:0 skip:18 time:504s fi-ivb-3770 total:280 pass:262 dwarn:0 dfail:0 fail:0 skip:18 time:481s fi-kbl-7500u total:280 pass:262 dwarn:0 dfail:0 fail:0 skip:18 time:467s fi-kbl-7560u total:280 pass:270 dwarn:0 dfail:0 fail:0 skip:10 time:574s fi-kbl-r total:280 pass:262 dwarn:0 dfail:0 fail:0 skip:18 time:583s fi-pnv-d510 total:280 pass:222 dwarn:3 dfail:0 fail:0 skip:55 time:570s fi-skl-6260u total:280 pass:270 dwarn:0 dfail:0 fail:0 skip:10 time:459s fi-skl-6700hq total:280 pass:263 dwarn:0 dfail:0 fail:0 skip:17 time:583s fi-skl-6700k total:280 pass:262 dwarn:0 dfail:0 fail:0 skip:18 time:469s fi-skl-6770hq total:280 pass:270 dwarn:0 dfail:0 fail:0 skip:10 time:475s fi-skl-gvtdvm total:280 pass:266 dwarn:1 dfail:0 fail:0 skip:13 time:435s fi-skl-x1585l total:280 pass:269 dwarn:0 dfail:0 fail:0 skip:11 time:480s fi-snb-2520m total:280 pass:252 dwarn:0 dfail:0 fail:0 skip:28 time:542s fi-snb-2600 total:280 pass:251 dwarn:0 dfail:0 fail:0 skip:29 time:408s 9e377e5fc2f8360c01787ebfe16e1bea778b4d9d drm-tip: 2017y-07m-25d-07h-06m-30s UTC integration manifest 437076108ca9 drm: Nuke drm_atomic_legacy_backoff 0c7efbd134b1 drm: Nuke drm_atomic_helper_connector_dpms 8533fb10cc2b drm: Nuke drm_atomic_helper_connector_set_property 523d704afcad drm: Nuke drm_atomic_helper_plane_set_property 3282548927d8 drm: Nuke drm_atomic_helper_crtc_set_property 9d112cf69346 drm: Handle properties in the core for atomic drivers f0dafa2b3c62 drm: Don't update property values for atomic drivers 7ffb9abae902 drm/omap: Simplify the rotation-on-crtc hack == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5270/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
* ✗ Fi.CI.BAT: failure for acquire ctx for everyone! (rev3) 2017-07-25 8:01 [PATCH 0/8] acquire ctx for everyone! Daniel Vetter ` (8 preceding siblings ...) 2017-07-25 8:44 ` ✓ Fi.CI.BAT: success for acquire ctx for everyone! Patchwork @ 2017-07-25 12:05 ` Patchwork 9 siblings, 0 replies; 84+ messages in thread From: Patchwork @ 2017-07-25 12:05 UTC (permalink / raw) To: Daniel Vetter; +Cc: intel-gfx == Series Details == Series: acquire ctx for everyone! (rev3) URL : https://patchwork.freedesktop.org/series/27835/ State : failure == Summary == CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CHK include/generated/bounds.h CHK include/generated/timeconst.h CHK include/generated/asm-offsets.h CALL scripts/checksyscalls.sh CHK scripts/mod/devicetable-offsets.h CHK include/generated/compile.h CHK kernel/config_data.h CC [M] drivers/gpu/drm/i915/intel_hangcheck.o In file included from drivers/gpu/drm/i915/intel_hangcheck.c:485:0: drivers/gpu/drm/i915/selftests/intel_hangcheck.c: In function ‘igt_render_engine_reset_fallback’: drivers/gpu/drm/i915/selftests/intel_hangcheck.c:845:3: error: too few arguments to function ‘i915_reset’ i915_reset(i915); ^~~~~~~~~~ In file included from drivers/gpu/drm/i915/intel_hangcheck.c:25:0: drivers/gpu/drm/i915/i915_drv.h:3115:13: note: declared here extern void i915_reset(struct drm_i915_private *i915, unsigned int flags); ^~~~~~~~~~ scripts/Makefile.build:302: recipe for target 'drivers/gpu/drm/i915/intel_hangcheck.o' failed make[4]: *** [drivers/gpu/drm/i915/intel_hangcheck.o] Error 1 scripts/Makefile.build:561: recipe for target 'drivers/gpu/drm/i915' failed make[3]: *** [drivers/gpu/drm/i915] Error 2 scripts/Makefile.build:561: recipe for target 'drivers/gpu/drm' failed make[2]: *** [drivers/gpu/drm] Error 2 scripts/Makefile.build:561: recipe for target 'drivers/gpu' failed make[1]: *** [drivers/gpu] Error 2 Makefile:1019: recipe for target 'drivers' failed make: *** [drivers] Error 2 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 84+ messages in thread
end of thread, other threads:[~2017-08-14 14:09 UTC | newest] Thread overview: 84+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-07-25 8:01 [PATCH 0/8] acquire ctx for everyone! Daniel Vetter 2017-07-25 8:01 ` [PATCH 1/8] drm/omap: Simplify the rotation-on-crtc hack Daniel Vetter 2017-07-25 8:47 ` Maarten Lankhorst 2017-07-25 9:24 ` [Intel-gfx] " Daniel Vetter 2017-07-31 11:48 ` Laurent Pinchart 2017-07-31 11:56 ` Tomi Valkeinen 2017-07-31 10:54 ` [PATCH] drm/omap: Rework " Daniel Vetter 2017-07-31 11:57 ` Laurent Pinchart 2017-07-31 12:45 ` Daniel Vetter 2017-07-31 13:30 ` Laurent Pinchart 2017-07-31 15:42 ` Daniel Vetter 2017-08-01 5:59 ` Maarten Lankhorst 2017-08-01 10:20 ` Laurent Pinchart 2017-08-02 8:02 ` Daniel Vetter 2017-08-02 13:20 ` Maarten Lankhorst 2017-08-04 9:57 ` Tomi Valkeinen 2017-08-04 10:02 ` Daniel Vetter 2017-08-07 9:24 ` Maarten Lankhorst 2017-08-07 9:56 ` Maarten Lankhorst 2017-08-07 10:20 ` [PATCH v7] " Maarten Lankhorst 2017-08-08 12:08 ` Tomi Valkeinen 2017-07-25 8:01 ` [PATCH 2/8] drm: Don't update property values for atomic drivers Daniel Vetter 2017-07-25 8:32 ` Maarten Lankhorst 2017-07-25 12:01 ` [PATCH] " Daniel Vetter 2017-08-11 22:20 ` [PATCH 2/8] " Laurent Pinchart 2017-08-14 7:25 ` Daniel Vetter 2017-08-14 10:32 ` Laurent Pinchart 2017-08-14 14:09 ` Daniel Vetter 2017-07-25 8:01 ` [PATCH 3/8] drm: Handle properties in the core " Daniel Vetter 2017-07-25 9:36 ` Archit Taneja 2017-07-25 12:02 ` [PATCH] " Daniel Vetter 2017-07-25 8:01 ` [PATCH 4/8] drm: Nuke drm_atomic_helper_crtc_set_property Daniel Vetter 2017-07-25 9:38 ` Archit Taneja 2017-07-25 10:05 ` Philippe CORNU 2017-08-03 13:34 ` Thomas Hellstrom 2017-07-25 8:01 ` [PATCH 5/8] drm: Nuke drm_atomic_helper_plane_set_property Daniel Vetter 2017-07-25 8:01 ` Daniel Vetter 2017-07-25 8:01 ` Daniel Vetter 2017-07-25 9:38 ` Archit Taneja 2017-07-25 9:38 ` Archit Taneja 2017-07-25 9:38 ` Archit Taneja 2017-07-25 10:06 ` Philippe CORNU 2017-07-25 10:06 ` Philippe CORNU 2017-07-25 10:06 ` Philippe CORNU 2017-07-28 16:45 ` Liviu Dudau 2017-07-28 16:45 ` Liviu Dudau 2017-07-28 16:45 ` Liviu Dudau 2017-08-08 10:03 ` Vincent ABRIOU 2017-08-08 10:03 ` Vincent ABRIOU 2017-08-08 10:03 ` Vincent ABRIOU 2017-08-08 12:31 ` Laurent Pinchart [not found] ` <20170725080122.20548-1-daniel.vetter-/w4YWyX8dFk@public.gmane.org> 2017-07-25 8:01 ` [PATCH 6/8] drm: Nuke drm_atomic_helper_connector_set_property Daniel Vetter [not found] ` <20170725080122.20548-7-daniel.vetter-/w4YWyX8dFk@public.gmane.org> 2017-07-25 9:23 ` [Intel-gfx] " Maarten Lankhorst 2017-07-25 9:26 ` Daniel Vetter 2017-08-08 10:04 ` Vincent ABRIOU 2017-07-25 8:01 ` [PATCH 7/8] drm: Nuke drm_atomic_helper_connector_dpms Daniel Vetter 2017-07-25 8:01 ` Daniel Vetter 2017-07-25 8:04 ` Neil Armstrong 2017-07-25 8:04 ` Neil Armstrong 2017-07-25 8:04 ` Neil Armstrong 2017-07-25 8:59 ` Philipp Zabel 2017-07-25 8:59 ` Philipp Zabel 2017-07-25 8:59 ` Philipp Zabel 2017-07-25 9:30 ` Archit Taneja 2017-07-25 9:30 ` Archit Taneja 2017-07-25 9:30 ` Archit Taneja 2017-07-25 10:07 ` Philippe CORNU 2017-07-25 10:07 ` Philippe CORNU 2017-07-25 10:07 ` Philippe CORNU 2017-07-25 14:01 ` Laurent Pinchart 2017-07-25 14:01 ` Laurent Pinchart 2017-07-25 14:42 ` Shawn Guo 2017-07-25 14:42 ` Shawn Guo 2017-07-25 14:42 ` Shawn Guo 2017-07-26 19:00 ` Noralf Trønnes 2017-07-26 19:00 ` Noralf Trønnes 2017-07-26 19:00 ` Noralf Trønnes 2017-08-08 10:05 ` Vincent ABRIOU 2017-08-08 10:05 ` Vincent ABRIOU 2017-08-08 10:05 ` Vincent ABRIOU 2017-07-25 8:01 ` [PATCH 8/8] drm: Nuke drm_atomic_legacy_backoff Daniel Vetter 2017-07-25 9:36 ` [Intel-gfx] " Maarten Lankhorst 2017-07-25 8:44 ` ✓ Fi.CI.BAT: success for acquire ctx for everyone! Patchwork 2017-07-25 12:05 ` ✗ Fi.CI.BAT: failure for acquire ctx for everyone! (rev3) Patchwork
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.