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@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel