nouveau.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [Nouveau] [PATCH v2 00/22] Deprecate struct drm_device.irq_enabled
@ 2021-06-22 14:09 Thomas Zimmermann
  2021-06-22 14:09 ` [Nouveau] [PATCH v2 01/22] drm/amdgpu: Track IRQ state in local device state Thomas Zimmermann
                   ` (23 more replies)
  0 siblings, 24 replies; 34+ messages in thread
From: Thomas Zimmermann @ 2021-06-22 14:09 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,
	benjamin.gaignard, 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
  Cc: linux-samsung-soc, nouveau, 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.

This used to be a single patch, [1] but it's now a full series.

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

Patch 4 fixes vblank ioctls to actually test for vblank support
instead of IRQs.

THe rest of the patchset removes irq_enabled from all non-legacy
drivers. The only exception is omapdrm, which has an internal
dpendency on the field's value. For this 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.

v2:
	* keep the original test for legacy drivers in
	  drm_wait_vblank_ioctl() (Daniel)

[1] https://lore.kernel.org/dri-devel/20210608090301.4752-1-tzimmermann@suse.de/

Thomas Zimmermann (22):
  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/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/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/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/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/drm_irq.c                       | 10 +++-------
 drivers/gpu/drm/drm_vblank.c                    | 13 +++++++++----
 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/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/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/vmwgfx/vmwgfx_irq.c             |  8 --------
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c             |  2 --
 drivers/gpu/drm/zte/zx_drm_drv.c                |  6 ------
 26 files changed, 30 insertions(+), 111 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] 34+ messages in thread

end of thread, other threads:[~2021-06-27  3:36 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-22 14:09 [Nouveau] [PATCH v2 00/22] Deprecate struct drm_device.irq_enabled Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 01/22] drm/amdgpu: Track IRQ state in local device state Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 02/22] drm/hibmc: Call drm_irq_uninstall() unconditionally Thomas Zimmermann
2021-06-23 11:34   ` [Nouveau] 答复: " tiantao (H)
2021-06-22 14:09 ` [Nouveau] [PATCH v2 03/22] drm/radeon: Track IRQ state in local device state Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 04/22] drm: Don't test for IRQ support in VBLANK ioctls Thomas Zimmermann
2021-06-22 15:25   ` Liviu Dudau
2021-06-23  6:43     ` Thomas Zimmermann
2021-06-23 12:15       ` Liviu Dudau
2021-06-22 14:09 ` [Nouveau] [PATCH v2 05/22] drm/komeda: Don't set struct drm_device.irq_enabled Thomas Zimmermann
2021-06-22 15:25   ` Liviu Dudau
2021-06-22 14:09 ` [Nouveau] [PATCH v2 06/22] drm/malidp: " Thomas Zimmermann
2021-06-22 15:26   ` Liviu Dudau
2021-06-22 14:09 ` [Nouveau] [PATCH v2 07/22] drm/exynos: " Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 08/22] drm/kirin: " Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 09/22] drm/imx: " Thomas Zimmermann
2021-06-23  6:43   ` Laurentiu Palcu
2021-06-22 14:09 ` [Nouveau] [PATCH v2 10/22] drm/mediatek: " Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 11/22] drm/nouveau: " Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 12/22] drm/omapdrm: Track IRQ state in local device state Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 13/22] drm/rockchip: Don't set struct drm_device.irq_enabled Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 14/22] drm/sti: " Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 15/22] drm/stm: " Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 16/22] drm/sun4i: " Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 17/22] drm/tegra: " Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 18/22] drm/tidss: Don't use " Thomas Zimmermann
2021-06-22 14:09 ` [Nouveau] [PATCH v2 19/22] drm/vc4: Don't set " Thomas Zimmermann
2021-06-22 14:10 ` [Nouveau] [PATCH v2 20/22] drm/vmwgfx: " Thomas Zimmermann
2021-06-22 14:10 ` [Nouveau] [PATCH v2 21/22] drm/xlnx: " Thomas Zimmermann
2021-06-22 14:10 ` [Nouveau] [PATCH v2 22/22] drm/zte: " Thomas Zimmermann
2021-06-22 15:24 ` [Nouveau] [PATCH v2 00/22] Deprecate " Daniel Vetter
2021-06-22 16:11 ` Laurent Pinchart
2021-06-22 16:17   ` Laurent Pinchart
2021-06-23  6:46   ` 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).