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, 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 v4 00/27] Deprecate struct drm_device.irq_enabled
Date: Fri, 25 Jun 2021 10:21:55 +0200 [thread overview]
Message-ID: <20210625082222.3845-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.
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
next reply other threads:[~2021-06-25 8:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-25 8:21 Thomas Zimmermann [this message]
2021-06-25 8:22 ` [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 ` [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
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=20210625082222.3845-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=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 \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox