Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

i915 gem: install and uninstall irq handler in entervt and leavevt ioctls.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>

authored by

Kristian Høgsberg and committed by
Dave Airlie
dbb19d30 c99b058f

+6
+5
drivers/gpu/drm/i915/i915_gem.c
··· 2443 2443 BUG_ON(!list_empty(&dev_priv->mm.request_list)); 2444 2444 dev_priv->mm.suspended = 0; 2445 2445 mutex_unlock(&dev->struct_mutex); 2446 + 2447 + drm_irq_install(dev); 2448 + 2446 2449 return 0; 2447 2450 } 2448 2451 ··· 2460 2457 if (ret == 0) 2461 2458 i915_gem_cleanup_ringbuffer(dev); 2462 2459 mutex_unlock(&dev->struct_mutex); 2460 + 2461 + drm_irq_uninstall(dev); 2463 2462 2464 2463 return 0; 2465 2464 }
+1
include/drm/drmP.h
··· 1134 1134 extern int drm_control(struct drm_device *dev, void *data, 1135 1135 struct drm_file *file_priv); 1136 1136 extern irqreturn_t drm_irq_handler(DRM_IRQ_ARGS); 1137 + extern int drm_irq_install(struct drm_device *dev); 1137 1138 extern int drm_irq_uninstall(struct drm_device *dev); 1138 1139 extern void drm_driver_irq_preinstall(struct drm_device *dev); 1139 1140 extern void drm_driver_irq_postinstall(struct drm_device *dev);