[PATCH 29/50] drm/irq: simplify irq checks in drm_wait_vblank
Thierry Reding
thierry.reding at gmail.com
Thu Dec 12 03:29:43 PST 2013
On Wed, Dec 11, 2013 at 11:34:50AM +0100, Daniel Vetter wrote:
> Checking for both an irq number _and_ whether it's enabled is
> redundant. Also this will breakd drivers which do their own irq
> management and just set dev->irq_enabled once the irq stuff is all set
> up.
I don't think it'll break such drivers because they shouldn't have
DRIVER_HAVE_IRQ set in the first place.
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> drivers/gpu/drm/drm_irq.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index c0c6bdedefef..85d88cadc543 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -1186,7 +1186,7 @@ int drm_wait_vblank(struct drm_device *dev, void *data,
> unsigned int flags, seq, crtc, high_crtc;
>
> if (drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
> - if ((!drm_dev_to_irq(dev)) || (!dev->irq_enabled))
> + if (!dev->irq_enabled)
In fact, unbreaking drivers was one of the reasons I added this check a
few months back (see commit 03f6509df921 'drm: Allow vblank support
without DRIVER_HAVE_IRQ'). At the time I could've probably removed the
call to drm_dev_to_irq() as well.
I'm now thinking that perhaps we could remove the DRIVER_HAVE_IRQ check
altogether now, given how I've had to explicitly make the Tegra driver
set dev->irq_enabled since there are other places that require it to be
set (amongst other things the conditional wait further below in the
drm_wait_vblank() function). See commit 603f0cc9482e 'drm/tegra:
Explicitly set irq_enabled'.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20131212/e63bd37f/attachment-0001.pgp>
More information about the dri-devel
mailing list