drm/nouveau: set irq_enabled manually
Since commit 0fa9061ae8
("drm/nouveau/mc: handle irq-related setup
ourselves"), drm_device->irq_enabled remained unset. This is needed in
order to properly wait for a vblank event in the generic drm code.
See https://bugs.freedesktop.org/show_bug.cgi?id=74195
Reported-by: Jan Janecek <janjanjanx@gmail.com>
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: stable@vger.kernel.org # 3.10+
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
Родитель
f3980dc50c
Коммит
7d3428cd4b
|
@ -376,6 +376,8 @@ nouveau_drm_load(struct drm_device *dev, unsigned long flags)
|
||||||
if (ret)
|
if (ret)
|
||||||
goto fail_device;
|
goto fail_device;
|
||||||
|
|
||||||
|
dev->irq_enabled = true;
|
||||||
|
|
||||||
/* workaround an odd issue on nvc1 by disabling the device's
|
/* workaround an odd issue on nvc1 by disabling the device's
|
||||||
* nosnoop capability. hopefully won't cause issues until a
|
* nosnoop capability. hopefully won't cause issues until a
|
||||||
* better fix is found - assuming there is one...
|
* better fix is found - assuming there is one...
|
||||||
|
@ -475,6 +477,7 @@ nouveau_drm_remove(struct pci_dev *pdev)
|
||||||
struct nouveau_drm *drm = nouveau_drm(dev);
|
struct nouveau_drm *drm = nouveau_drm(dev);
|
||||||
struct nouveau_object *device;
|
struct nouveau_object *device;
|
||||||
|
|
||||||
|
dev->irq_enabled = false;
|
||||||
device = drm->client.base.device;
|
device = drm->client.base.device;
|
||||||
drm_put_dev(dev);
|
drm_put_dev(dev);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче