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@xxxxxxx/ > > > > 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@xxxxxxxxxxxxxxxx> > > 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