[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