[PATCH 0/3] LP#1158689 -- nouveau screen corruption

Andy Whitcroft apw at canonical.com
Mon Apr 7 18:07:21 UTC 2014


We have reports of screen corruption under nouveau.  This seems to be
triggered by enabling bits of h/w we do not actually have.  Following this
email are three patches (all cherry-picks) which pull in support for enabling
only the present h/w.  This does all of this for a raft of Nvidia hardware.

This has been tested to fix the issue on one specific device, but does
"fix" a number more.  It is also rather invasive, though as I said they
are all cherry-picks.  Please consider for SRU to trusty, but I would
suggest it needs to go through a full SRU cycle after release.

Please consider for SRU to trusty.

-apw


Ben Skeggs (1):
  drm/nouveau/devinit: tidy up the subdev class definition

Ilia Mirkin (2):
  drm/nouveau/device: provide a way for devinit to mark engines as
    disabled
  drm/nv50-/devinit: prevent use of engines marked as disabled by
    hw/vbios

 drivers/gpu/drm/nouveau/Makefile                   |  3 ++
 drivers/gpu/drm/nouveau/core/core/engine.c         | 23 ++++++--
 drivers/gpu/drm/nouveau/core/engine/copy/nvc0.c    |  6 ---
 drivers/gpu/drm/nouveau/core/engine/copy/nve0.c    |  6 ---
 drivers/gpu/drm/nouveau/core/engine/device/nv04.c  |  4 +-
 drivers/gpu/drm/nouveau/core/engine/device/nv10.c  | 16 +++---
 drivers/gpu/drm/nouveau/core/engine/device/nv20.c  |  8 +--
 drivers/gpu/drm/nouveau/core/engine/device/nv30.c  | 10 ++--
 drivers/gpu/drm/nouveau/core/engine/device/nv40.c  | 32 +++++------
 drivers/gpu/drm/nouveau/core/engine/device/nv50.c  | 28 +++++-----
 drivers/gpu/drm/nouveau/core/engine/device/nvc0.c  | 18 +++----
 drivers/gpu/drm/nouveau/core/engine/device/nve0.c  | 10 ++--
 drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c    |  3 --
 drivers/gpu/drm/nouveau/core/engine/disp/nve0.c    |  3 --
 drivers/gpu/drm/nouveau/core/engine/disp/nvf0.c    |  3 --
 drivers/gpu/drm/nouveau/core/include/core/device.h |  1 +
 .../gpu/drm/nouveau/core/include/subdev/devinit.h  | 39 ++++----------
 drivers/gpu/drm/nouveau/core/subdev/clock/nv04.c   |  2 +-
 drivers/gpu/drm/nouveau/core/subdev/devinit/base.c | 19 +++++--
 drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.c | 23 ++++----
 drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.h | 23 ++++++++
 drivers/gpu/drm/nouveau/core/subdev/devinit/nv05.c | 41 ++++----------
 drivers/gpu/drm/nouveau/core/subdev/devinit/nv10.c | 41 ++++----------
 drivers/gpu/drm/nouveau/core/subdev/devinit/nv1a.c | 37 +++----------
 drivers/gpu/drm/nouveau/core/subdev/devinit/nv20.c | 41 ++++----------
 drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.c | 32 +++++++----
 drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.h | 18 +++++++
 drivers/gpu/drm/nouveau/core/subdev/devinit/nv84.c | 63 ++++++++++++++++++++++
 drivers/gpu/drm/nouveau/core/subdev/devinit/nv98.c | 62 +++++++++++++++++++++
 drivers/gpu/drm/nouveau/core/subdev/devinit/nva3.c | 50 +++++++++--------
 drivers/gpu/drm/nouveau/core/subdev/devinit/nvaf.c | 63 ++++++++++++++++++++++
 drivers/gpu/drm/nouveau/core/subdev/devinit/nvc0.c | 44 ++++++++++++---
 drivers/gpu/drm/nouveau/core/subdev/devinit/priv.h | 36 ++++++++-----
 33 files changed, 500 insertions(+), 308 deletions(-)
 create mode 100644 drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.h
 create mode 100644 drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.h
 create mode 100644 drivers/gpu/drm/nouveau/core/subdev/devinit/nv84.c
 create mode 100644 drivers/gpu/drm/nouveau/core/subdev/devinit/nv98.c
 create mode 100644 drivers/gpu/drm/nouveau/core/subdev/devinit/nvaf.c

-- 
1.9.0





More information about the kernel-team mailing list