[SRU][Bionic][B-OEM][PATCH 0/1] fix the hang problem for nvidia p1000 graphic card

Hui Wang hui.wang at canonical.com
Tue Sep 11 05:24:48 UTC 2018


BugLink: https://bugs.launchpad.net/bugs/1791569

This patch is in the 4.18 already, no need to send it to cosmic.

Due to the context conflict, if we want to apply this patch as it is, we
need to apply a large amount of patches ahead of this patch, it is possible
to introduce some regression. So I made some change in this patch, it is
some differnt from the orignal patch, but they have the same logic, and it
can be applied to bionic kernel.

[Impact]
We have 2 nvidia graphic cards, and the nouveau driver in the bionic kernel can't
work well with both of these 2 cards, one of the cards hang during the boot
process, we compared the output of lspci and vbios version of these 2 cards, they
are same; and according to nivida's reply, it is possible that they have some
difference on computational units (https://devtalk.nvidia.com/default/topic/1038973/
linux/2-same-quadro-p1000-cards-but-only-one-can-install-ubuntu-/), and kernel-4.18
fixed this problem, through bisect, this patch was found.

[Fix]
backport a upstream patch to fix this problem. without this patch, the number of tpc
(texture process cluster) is hardcoded to be 5 for some nv graphic families, but
in practice, the tpc number of many families is not 5. And the p1000 grphic card belong
to gp107 family, it is 3 intead of 5.


[Test Case]
tested this patch with P1000, P2000, P620 and P500 graphic cards, all work well as before.

[Regression Potential]
Very low, this patch comes from upstream, and I have tested it with many nv graphic
cards, they all worked well as before.



Ben Skeggs (1):
  drm/nouveau/gr/gf100-: virtualise tpc_mask + apply fixes from traces

 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c |  6 ++++++
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h | 12 +++++++-----
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm200.c | 17 ++++++++++++++---
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm20b.c |  2 +-
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp100.c | 17 +++++++++--------
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp102.c |  2 ++
 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp107.c |  2 ++
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h    |  2 ++
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c    |  1 +
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c    |  2 ++
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp102.c    |  2 ++
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp107.c    |  2 ++
 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp10b.c    |  2 ++
 13 files changed, 52 insertions(+), 17 deletions(-)

-- 
2.7.4





More information about the kernel-team mailing list