diff options
author | Andy Lutomirski <luto@mit.edu> | 2010-11-16 18:40:52 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2010-11-17 23:39:07 -0500 |
commit | ab838338a2a9e0cb8346eb0cab9977be13e8dce5 (patch) | |
tree | cf8d058f811fe2b037db5d27f8c21277415efeeb /drivers/gpu/drm/nouveau/nouveau_drv.h | |
parent | c1b60ece91460214b5135360a375f3f6fbb59608 (diff) |
nouveau: Acknowledge HPD irq in handler, not bottom half
The old code generated an interrupt storm bad enough to completely
take down my system.
Signed-off-by: Andy Lutomirski <luto@mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_drv.h')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_drv.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h index 10a8d4e78e58..1c7db64c03bf 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drv.h +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h | |||
@@ -584,6 +584,12 @@ struct drm_nouveau_private { | |||
584 | struct work_struct irq_work; | 584 | struct work_struct irq_work; |
585 | struct work_struct hpd_work; | 585 | struct work_struct hpd_work; |
586 | 586 | ||
587 | struct { | ||
588 | spinlock_t lock; | ||
589 | uint32_t hpd0_bits; | ||
590 | uint32_t hpd1_bits; | ||
591 | } hpd_state; | ||
592 | |||
587 | struct list_head vbl_waiting; | 593 | struct list_head vbl_waiting; |
588 | 594 | ||
589 | struct { | 595 | struct { |