Commit 527f9e90 authored by Chris Wilson's avatar Chris Wilson

drm/i915: Remove the global irq wait queue

... as it has been replaced by per-ring waiters.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
parent 5d97eb69
...@@ -1022,7 +1022,6 @@ i915_wedged_write(struct file *filp, ...@@ -1022,7 +1022,6 @@ i915_wedged_write(struct file *filp,
loff_t *ppos) loff_t *ppos)
{ {
struct drm_device *dev = filp->private_data; struct drm_device *dev = filp->private_data;
drm_i915_private_t *dev_priv = dev->dev_private;
char buf[20]; char buf[20];
int val = 1; int val = 1;
...@@ -1038,12 +1037,7 @@ i915_wedged_write(struct file *filp, ...@@ -1038,12 +1037,7 @@ i915_wedged_write(struct file *filp,
} }
DRM_INFO("Manually setting wedged to %d\n", val); DRM_INFO("Manually setting wedged to %d\n", val);
i915_handle_error(dev, val);
atomic_set(&dev_priv->mm.wedged, val);
if (val) {
wake_up_all(&dev_priv->irq_queue);
queue_work(dev_priv->wq, &dev_priv->error_work);
}
return cnt; return cnt;
} }
......
...@@ -289,7 +289,6 @@ typedef struct drm_i915_private { ...@@ -289,7 +289,6 @@ typedef struct drm_i915_private {
int current_page; int current_page;
int page_flipping; int page_flipping;
wait_queue_head_t irq_queue;
atomic_t irq_received; atomic_t irq_received;
/** Protects user_irq_refcount and irq_mask_reg */ /** Protects user_irq_refcount and irq_mask_reg */
spinlock_t user_irq_lock; spinlock_t user_irq_lock;
...@@ -915,6 +914,7 @@ extern void i915_update_gfx_val(struct drm_i915_private *dev_priv); ...@@ -915,6 +914,7 @@ extern void i915_update_gfx_val(struct drm_i915_private *dev_priv);
/* i915_irq.c */ /* i915_irq.c */
void i915_hangcheck_elapsed(unsigned long data); void i915_hangcheck_elapsed(unsigned long data);
void i915_handle_error(struct drm_device *dev, bool wedged);
extern int i915_irq_emit(struct drm_device *dev, void *data, extern int i915_irq_emit(struct drm_device *dev, void *data,
struct drm_file *file_priv); struct drm_file *file_priv);
extern int i915_irq_wait(struct drm_device *dev, void *data, extern int i915_irq_wait(struct drm_device *dev, void *data,
......
...@@ -891,7 +891,7 @@ static void i915_report_and_clear_eir(struct drm_device *dev) ...@@ -891,7 +891,7 @@ static void i915_report_and_clear_eir(struct drm_device *dev)
* so userspace knows something bad happened (should trigger collection * so userspace knows something bad happened (should trigger collection
* of a ring dump etc.). * of a ring dump etc.).
*/ */
static void i915_handle_error(struct drm_device *dev, bool wedged) void i915_handle_error(struct drm_device *dev, bool wedged)
{ {
struct drm_i915_private *dev_priv = dev->dev_private; struct drm_i915_private *dev_priv = dev->dev_private;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment