summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-11-04 00:09:15 +0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-04-23 12:32:49 +0400
commita319c1a47855eef2e1789527688b8dfdcf101dba (patch)
tree734d9f328df1090b5d6b72288a324687e1ebf109
parent7c1a38e391745cca72627979e5e02924bed5b43d (diff)
downloadlinux-a319c1a47855eef2e1789527688b8dfdcf101dba.tar.xz
drm/irq: Look up the pci irq directly in the drm_control ioctl
It's only ever called for legacy drivers, which are all pci. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/drm_irq.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 7cf407bbfed5..cbf6f259bfe4 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -377,7 +377,7 @@ int drm_control(struct drm_device *dev, void *data,
struct drm_file *file_priv)
{
struct drm_control *ctl = data;
- int ret = 0;
+ int ret = 0, irq;
/* if we haven't irq we fallback for compatibility reasons -
* this used to be a separate function in drm_dma.h
@@ -393,8 +393,10 @@ int drm_control(struct drm_device *dev, void *data,
switch (ctl->func) {
case DRM_INST_HANDLER:
+ irq = dev->pdev->irq;
+
if (dev->if_version < DRM_IF_VERSION(1, 2) &&
- ctl->irq != drm_dev_to_irq(dev))
+ ctl->irq != irq)
return -EINVAL;
mutex_lock(&dev->struct_mutex);
ret = drm_irq_install(dev);