All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	DRI Development <dri-devel@lists.freedesktop.org>
Subject: [PATCH 0/8] acquire ctx for everyone!
Date: Tue, 25 Jul 2017 10:01:14 +0200	[thread overview]
Message-ID: <20170725080122.20548-1-daniel.vetter@ffwll.ch> (raw)

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

             reply	other threads:[~2017-07-25  8:01 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-25  8:01 Daniel Vetter [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170725080122.20548-1-daniel.vetter@ffwll.ch \
    --to=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.