[PATCH v2 00/22] Deprecate struct drm_device.irq_enabled
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Jun 22 09:17:57 PDT 2021
On Tue, Jun 22, 2021 at 07:11:33PM +0300, Laurent Pinchart wrote:
> Hi Thomas,
>
> Thank you for the patches.
>
> On Tue, Jun 22, 2021 at 04:09:40PM +0200, Thomas Zimmermann wrote:
> > 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
>
> The list seems to be missing armada, rcar-du and vkms. It would also be
> nice to address i915 if possible.
In addition to this, for all the existing patches,
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > 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
--
Regards,
Laurent Pinchart
More information about the Linux-rockchip
mailing list