nouveau.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [Nouveau] [PATCH v4 00/27] Deprecate struct drm_device.irq_enabled
@ 2021-06-25  8:21 Thomas Zimmermann
  2021-06-25  8:21 ` [Nouveau] [PATCH v4 01/27] drm/amdgpu: Track IRQ state in local device state Thomas Zimmermann
                   ` (26 more replies)
  0 siblings, 27 replies; 33+ messages in thread
From: Thomas Zimmermann @ 2021-06-25  8:21 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, jani.nikula,
	rodrigo.vivi, linux, kieran.bingham+renesas, rodrigosiqueiramelo,
	melissa.srw, hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

Remove references to struct drm_device.irq_enabled from modern
DRM drivers and core.

KMS drivers enable IRQs for their devices internally. They don't
have to keep track of the IRQ state via irq_enabled. For vblanking,
it's cleaner to test for vblanking support directly than to test
for enabled IRQs.

The first 3 patches replace uses of irq_enabled that are not
required.

Patch 4 fixes vblank ioctls to actually test for vblank support
instead of IRQs (for KMS drivers).

The rest of the patchset removes irq_enabled from all non-legacy
drivers. The only exceptions are i915 and omapdrm, which have an
internal dpendency on the field's value. For these drivers, the
state gets duplicated internally.

With the patchset applied, drivers can later switch over to plain
Linux IRQ interfaces and DRM's IRQ midlayer can be declared legacy.

v4:
	* avoid preprocessor ifdef in drm_wait_vblank_ioctl()
	  (Jani, Thierry)
v3:
	* update armada, i915, rcar-du and vkms as well (Laurent)
	* optimize drm_wait_vblank_ioctl() for KMS (Liviu)
	* move imx/dcss changes into their own patch (Laurentiu)
	* doc cleanups
v2:
	* keep the original test for legacy drivers in
	  drm_wait_vblank_ioctl() (Daniel)

Thomas Zimmermann (27):
  drm/amdgpu: Track IRQ state in local device state
  drm/hibmc: Call drm_irq_uninstall() unconditionally
  drm/radeon: Track IRQ state in local device state
  drm: Don't test for IRQ support in VBLANK ioctls
  drm/armada: Don't set struct drm_device.irq_enabled
  drm/i915: Track IRQ state in local device state
  drm/komeda: Don't set struct drm_device.irq_enabled
  drm/malidp: Don't set struct drm_device.irq_enabled
  drm/exynos: Don't set struct drm_device.irq_enabled
  drm/kirin: Don't set struct drm_device.irq_enabled
  drm/imx: Don't set struct drm_device.irq_enabled
  drm/imx/dcss: Don't set struct drm_device.irq_enabled
  drm/mediatek: Don't set struct drm_device.irq_enabled
  drm/nouveau: Don't set struct drm_device.irq_enabled
  drm/omapdrm: Track IRQ state in local device state
  drm/rcar-du: Don't set struct drm_device.irq_enabled
  drm/rockchip: Don't set struct drm_device.irq_enabled
  drm/sti: Don't set struct drm_device.irq_enabled
  drm/stm: Don't set struct drm_device.irq_enabled
  drm/sun4i: Don't set struct drm_device.irq_enabled
  drm/tegra: Don't set struct drm_device.irq_enabled
  drm/tidss: Don't use struct drm_device.irq_enabled
  drm/vc4: Don't set struct drm_device.irq_enabled
  drm/vkms: Don't set struct drm_device.irq_enabled
  drm/vmwgfx: Don't set struct drm_device.irq_enabled
  drm/xlnx: Don't set struct drm_device.irq_enabled
  drm/zte: Don't set struct drm_device.irq_enabled

 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c         |  6 +++---
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c |  4 ----
 drivers/gpu/drm/arm/malidp_drv.c                |  4 ----
 drivers/gpu/drm/armada/armada_drv.c             |  2 --
 drivers/gpu/drm/drm_irq.c                       | 13 ++++---------
 drivers/gpu/drm/drm_vblank.c                    | 15 ++++++++++++---
 drivers/gpu/drm/exynos/exynos_drm_drv.c         | 10 ----------
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c |  3 +--
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c |  2 --
 drivers/gpu/drm/i915/i915_drv.h                 |  2 ++
 drivers/gpu/drm/i915/i915_irq.c                 |  8 ++++----
 drivers/gpu/drm/imx/dcss/dcss-kms.c             |  3 ---
 drivers/gpu/drm/imx/imx-drm-core.c              | 11 -----------
 drivers/gpu/drm/mediatek/mtk_drm_drv.c          |  6 ------
 drivers/gpu/drm/nouveau/nouveau_drm.c           |  3 ---
 drivers/gpu/drm/omapdrm/omap_drv.h              |  2 ++
 drivers/gpu/drm/omapdrm/omap_irq.c              |  6 +++---
 drivers/gpu/drm/radeon/radeon_fence.c           |  2 +-
 drivers/gpu/drm/radeon/radeon_irq_kms.c         | 16 ++++++++--------
 drivers/gpu/drm/rcar-du/rcar_du_drv.c           |  2 --
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c     |  6 ------
 drivers/gpu/drm/sti/sti_compositor.c            |  2 --
 drivers/gpu/drm/stm/ltdc.c                      |  3 ---
 drivers/gpu/drm/sun4i/sun4i_drv.c               |  2 --
 drivers/gpu/drm/tegra/drm.c                     |  7 -------
 drivers/gpu/drm/tidss/tidss_irq.c               |  3 ---
 drivers/gpu/drm/vc4/vc4_kms.c                   |  1 -
 drivers/gpu/drm/vkms/vkms_drv.c                 |  2 --
 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c             |  8 --------
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c             |  2 --
 drivers/gpu/drm/zte/zx_drm_drv.c                |  6 ------
 31 files changed, 40 insertions(+), 122 deletions(-)


base-commit: 8c1323b422f8473421682ba783b5949ddd89a3f4
prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d
prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
--
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2021-08-10  2:54 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-25  8:21 [Nouveau] [PATCH v4 00/27] Deprecate struct drm_device.irq_enabled Thomas Zimmermann
2021-06-25  8:21 ` [Nouveau] [PATCH v4 01/27] drm/amdgpu: Track IRQ state in local device state Thomas Zimmermann
2021-06-25  8:21 ` [Nouveau] [PATCH v4 02/27] drm/hibmc: Call drm_irq_uninstall() unconditionally Thomas Zimmermann
2021-06-25  8:21 ` [Nouveau] [PATCH v4 03/27] drm/radeon: Track IRQ state in local device state Thomas Zimmermann
2021-06-25  8:21 ` [Nouveau] [PATCH v4 04/27] drm: Don't test for IRQ support in VBLANK ioctls Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 05/27] drm/armada: Don't set struct drm_device.irq_enabled Thomas Zimmermann
2021-06-28  6:23   ` Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 06/27] drm/i915: Track IRQ state in local device state Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 07/27] drm/komeda: Don't set struct drm_device.irq_enabled Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 08/27] drm/malidp: " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 09/27] drm/exynos: " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 10/27] drm/kirin: " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 11/27] drm/imx: " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 12/27] drm/imx/dcss: " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 13/27] drm/mediatek: " Thomas Zimmermann
2021-08-09 13:08   ` Chun-Kuang Hu
2021-06-25  8:22 ` [Nouveau] [PATCH v4 14/27] drm/nouveau: " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 15/27] drm/omapdrm: Track IRQ state in local device state Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 17/27] drm/rockchip: " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 18/27] drm/sti: " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 19/27] drm/stm: " Thomas Zimmermann
2021-06-29  9:18   ` yannick Fertre
2021-06-25  8:22 ` [Nouveau] [PATCH v4 20/27] drm/sun4i: " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 21/27] drm/tegra: " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 22/27] drm/tidss: Don't use " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 23/27] drm/vc4: Don't set " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 24/27] drm/vkms: " Thomas Zimmermann
2021-06-26  8:55   ` Melissa Wen
2021-06-25  8:22 ` [Nouveau] [PATCH v4 25/27] drm/vmwgfx: " Thomas Zimmermann
2021-06-26  2:41   ` Zack Rusin
2021-06-25  8:22 ` [Nouveau] [PATCH v4 26/27] drm/xlnx: " Thomas Zimmermann
2021-06-25  8:22 ` [Nouveau] [PATCH v4 27/27] drm/zte: " Thomas Zimmermann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).