Am 22.06.21 um 18:11 schrieb Laurent Pinchart: > 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. Indeed. I grepped for \>irq_enabled. But some few drivers use .irq_enabled. I'll fix this in the patchset's next iteration. Thanks for double checking. Best regards Thomas -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Felix Imendörffer