[gem] Remove the interrupt handler for retiring requests.
This was insufficient once we started masking interrupts to only when someone was waiting for them (and would thus retire requests themselves). It was replaced by the retire_timer.main
parent
c892e26bdf
commit
0558d99c01
|
@ -1077,8 +1077,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
|
|||
init_timer_deferrable (&dev_priv->mm.retire_timer);
|
||||
INIT_WORK(&dev_priv->mm.retire_task,
|
||||
i915_gem_retire_handler);
|
||||
INIT_WORK(&dev_priv->user_interrupt_task,
|
||||
i915_user_interrupt_handler);
|
||||
dev_priv->mm.next_gem_seqno = 1;
|
||||
|
||||
#ifdef __linux__
|
||||
|
|
|
@ -300,8 +300,6 @@ typedef struct drm_i915_private {
|
|||
*/
|
||||
int suspended;
|
||||
} mm;
|
||||
|
||||
struct work_struct user_interrupt_task;
|
||||
} drm_i915_private_t;
|
||||
|
||||
enum intel_chip_family {
|
||||
|
@ -421,7 +419,6 @@ extern int i915_vblank_swap(struct drm_device *dev, void *data,
|
|||
struct drm_file *file_priv);
|
||||
extern void i915_user_irq_on(drm_i915_private_t *dev_priv);
|
||||
extern void i915_user_irq_off(drm_i915_private_t *dev_priv);
|
||||
extern void i915_user_interrupt_handler(struct work_struct *work);
|
||||
|
||||
/* i915_mem.c */
|
||||
extern int i915_mem_alloc(struct drm_device *dev, void *data,
|
||||
|
|
|
@ -435,28 +435,6 @@ u32 i915_get_vblank_counter(struct drm_device *dev, int plane)
|
|||
return count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handler for user interrupts in process context (able to sleep, do VFS
|
||||
* operations, etc.
|
||||
*
|
||||
* If another IRQ comes in while we're in this handler, it will still get put
|
||||
* on the queue again to be rerun when we finish.
|
||||
*/
|
||||
void
|
||||
i915_user_interrupt_handler(struct work_struct *work)
|
||||
{
|
||||
drm_i915_private_t *dev_priv;
|
||||
struct drm_device *dev;
|
||||
|
||||
dev_priv = container_of(work, drm_i915_private_t,
|
||||
user_interrupt_task);
|
||||
dev = dev_priv->dev;
|
||||
|
||||
mutex_lock(&dev->struct_mutex);
|
||||
i915_gem_retire_requests(dev);
|
||||
mutex_unlock(&dev->struct_mutex);
|
||||
}
|
||||
|
||||
irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
|
||||
{
|
||||
struct drm_device *dev = (struct drm_device *) arg;
|
||||
|
@ -514,7 +492,6 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
|
|||
DRM_WAKEUP(&dev_priv->irq_queue);
|
||||
#ifdef I915_HAVE_FENCE
|
||||
i915_fence_handler(dev);
|
||||
schedule_work(&dev_priv->user_interrupt_task);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue