public inbox for linux-rockchip@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH v4 00/27] Deprecate struct drm_device.irq_enabled
@ 2021-06-25  8:21 Thomas Zimmermann
  2021-06-25  8:22 ` [PATCH v4 05/27] drm/armada: Don't set " Thomas Zimmermann
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ 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: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32, linux-sunxi,
	linux-tegra, intel-gfx, Thomas Zimmermann

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


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

end of thread, other threads:[~2021-06-29  9:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-25  8:21 [PATCH v4 00/27] Deprecate struct drm_device.irq_enabled Thomas Zimmermann
2021-06-25  8:22 ` [PATCH v4 05/27] drm/armada: Don't set " Thomas Zimmermann
2021-06-28  6:23   ` Thomas Zimmermann
2021-06-25  8:22 ` [PATCH v4 16/27] drm/rcar-du: " Thomas Zimmermann
2021-06-25  8:22 ` [PATCH v4 24/27] drm/vkms: " Thomas Zimmermann
2021-06-26  8:55   ` Melissa Wen
     [not found] ` <20210625082222.3845-26-tzimmermann@suse.de>
2021-06-26  2:41   ` [PATCH v4 25/27] drm/vmwgfx: " Zack Rusin
     [not found] ` <20210625082222.3845-20-tzimmermann@suse.de>
2021-06-29  9:18   ` [PATCH v4 19/27] drm/stm: " yannick Fertre

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox