linux-sunxi.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: daniel@ffwll.ch, airlied@linux.ie, alexander.deucher@amd.com,
	christian.koenig@amd.com, Xinhui.Pan@amd.com,
	james.qian.wang@arm.com, liviu.dudau@arm.com,
	mihail.atanassov@arm.com, brian.starkey@arm.com,
	maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	inki.dae@samsung.com, jy0922.shim@samsung.com,
	sw0312.kim@samsung.com, kyungmin.park@samsung.com,
	krzysztof.kozlowski@canonical.com, xinliang.liu@linaro.org,
	tiantao6@hisilicon.com, john.stultz@linaro.org,
	kong.kongxinwei@hisilicon.com, puck.chen@hisilicon.com,
	laurentiu.palcu@oss.nxp.com, l.stach@pengutronix.de,
	p.zabel@pengutronix.de, shawnguo@kernel.org,
	s.hauer@pengutronix.de, kernel@pengutronix.de,
	festevam@gmail.com, linux-imx@nxp.com, chunkuang.hu@kernel.org,
	matthias.bgg@gmail.com, bskeggs@redhat.com, tomba@kernel.org,
	hjc@rock-chips.com, heiko@sntech.de,
	benjamin.gaignard@linaro.org, yannick.fertre@foss.st.com,
	philippe.cornu@foss.st.com, mcoquelin.stm32@gmail.com,
	alexandre.torgue@foss.st.com, wens@csie.org,
	jernej.skrabec@gmail.com, thierry.reding@gmail.com,
	jonathanh@nvidia.com, jyri.sarha@iki.fi, emma@anholt.net,
	linux-graphics-maintainer@vmware.com, zackr@vmware.com,
	hyun.kwon@xilinx.com, laurent.pinchart@ideasonboard.com,
	michal.simek@xilinx.com, jani.nikula@linux.intel.com,
	rodrigo.vivi@intel.com, linux@armlinux.org.uk,
	kieran.bingham+renesas@ideasonboard.com,
	rodrigosiqueiramelo@gmail.com, melissa.srw@gmail.com,
	hamohammed.sa@gmail.com
Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	nouveau@lists.freedesktop.org,
	linux-rockchip@lists.infradead.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org,
	intel-gfx@lists.freedesktop.org,
	Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v3 00/27] Deprecate struct drm_device.irq_enabled
Date: Thu, 24 Jun 2021 09:28:49 +0200	[thread overview]
Message-ID: <20210624072916.27703-1-tzimmermann@suse.de> (raw)

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.

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                    | 16 ++++++++++++----
 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(+), 123 deletions(-)


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


             reply	other threads:[~2021-06-24  7:29 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-24  7:28 Thomas Zimmermann [this message]
2021-06-24  7:28 ` [PATCH v3 01/27] drm/amdgpu: Track IRQ state in local device state Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 02/27] drm/hibmc: Call drm_irq_uninstall() unconditionally Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 03/27] drm/radeon: Track IRQ state in local device state Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls Thomas Zimmermann
2021-06-24  8:06   ` Jani Nikula
2021-06-24  8:19     ` Thomas Zimmermann
2021-06-24  8:28     ` Thomas Zimmermann
2021-06-24  8:51       ` Jani Nikula
2021-06-24  9:07         ` Thomas Zimmermann
2021-06-24 10:27           ` Liviu Dudau
2021-06-24 12:03           ` Thierry Reding
2021-06-24 12:36             ` Jani Nikula
2021-06-24 12:57               ` Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 05/27] drm/armada: Don't set struct drm_device.irq_enabled Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 06/27] drm/i915: Track IRQ state in local device state Thomas Zimmermann
2021-06-24  8:08   ` Jani Nikula
2021-06-24  7:28 ` [PATCH v3 07/27] drm/komeda: Don't set struct drm_device.irq_enabled Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 08/27] drm/malidp: " Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 09/27] drm/exynos: " Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 10/27] drm/kirin: " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 11/27] drm/imx: " Thomas Zimmermann
2021-06-24  8:25   ` Philipp Zabel
2021-06-24  7:29 ` [PATCH v3 12/27] drm/imx/dcss: " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 13/27] drm/mediatek: " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 14/27] drm/nouveau: " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 15/27] drm/omapdrm: Track IRQ state in local device state Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled Thomas Zimmermann
2021-06-24 10:47   ` Laurent Pinchart
2021-06-24  7:29 ` [PATCH v3 17/27] drm/rockchip: " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 18/27] drm/sti: " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 19/27] drm/stm: " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 20/27] drm/sun4i: " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 21/27] drm/tegra: " Thomas Zimmermann
2021-06-24 12:04   ` Thierry Reding
2021-06-24  7:29 ` [PATCH v3 22/27] drm/tidss: Don't use " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 23/27] drm/vc4: Don't set " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 24/27] drm/vkms: " Thomas Zimmermann
2021-06-24 10:48   ` Laurent Pinchart
2021-06-24  7:29 ` [PATCH v3 25/27] drm/vmwgfx: " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 26/27] drm/xlnx: " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 27/27] drm/zte: " Thomas Zimmermann

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=20210624072916.27703-1-tzimmermann@suse.de \
    --to=tzimmermann@suse.de \
    --cc=Xinhui.Pan@amd.com \
    --cc=airlied@linux.ie \
    --cc=alexander.deucher@amd.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=benjamin.gaignard@linaro.org \
    --cc=brian.starkey@arm.com \
    --cc=bskeggs@redhat.com \
    --cc=christian.koenig@amd.com \
    --cc=chunkuang.hu@kernel.org \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emma@anholt.net \
    --cc=festevam@gmail.com \
    --cc=hamohammed.sa@gmail.com \
    --cc=heiko@sntech.de \
    --cc=hjc@rock-chips.com \
    --cc=hyun.kwon@xilinx.com \
    --cc=inki.dae@samsung.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=james.qian.wang@arm.com \
    --cc=jani.nikula@linux.intel.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=john.stultz@linaro.org \
    --cc=jonathanh@nvidia.com \
    --cc=jy0922.shim@samsung.com \
    --cc=jyri.sarha@iki.fi \
    --cc=kernel@pengutronix.de \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=kong.kongxinwei@hisilicon.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=kyungmin.park@samsung.com \
    --cc=l.stach@pengutronix.de \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=laurentiu.palcu@oss.nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-graphics-maintainer@vmware.com \
    --cc=linux-imx@nxp.com \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=liviu.dudau@arm.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=matthias.bgg@gmail.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=melissa.srw@gmail.com \
    --cc=michal.simek@xilinx.com \
    --cc=mihail.atanassov@arm.com \
    --cc=mripard@kernel.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=p.zabel@pengutronix.de \
    --cc=philippe.cornu@foss.st.com \
    --cc=puck.chen@hisilicon.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=rodrigosiqueiramelo@gmail.com \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=sw0312.kim@samsung.com \
    --cc=thierry.reding@gmail.com \
    --cc=tiantao6@hisilicon.com \
    --cc=tomba@kernel.org \
    --cc=wens@csie.org \
    --cc=xinliang.liu@linaro.org \
    --cc=yannick.fertre@foss.st.com \
    --cc=zackr@vmware.com \
    --subject='Re: [PATCH v3 00/27] Deprecate struct drm_device.irq_enabled' \
    /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

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).