[PATCH v2 00/22] Deprecate struct drm_device.irq_enabled
Thomas Zimmermann
tzimmermann at suse.de
Tue Jun 22 23:46:22 PDT 2021
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-mediatek/attachments/20210623/68d83236/attachment.sig>
More information about the Linux-mediatek
mailing list