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.
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.
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.
tested this patch with P1000, P2000, P620 and P500 graphic cards, all work well as before.
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
for (i = 0; i < dist_nr; i++)
nvkm_wr32(device, 0x405b60 + (i * 4), dist[i]);
- for (i = 0; i < gr->gpc_nr * 2; i++)
+ for (i = 0; i < ARRAY_SIZE(gpcs); i++)
nvkm_wr32(device, 0x405ba0 + (i * 4), gpcs[i]);
> From: Ben Skeggs <[hidden email]>
> BugLink: http://bugs.launchpad.net/bugs/1791569 >
> We weren't placing higher TPC IDs in the right place on some configurations.
> [Due to the context difference, the ctxgm200.c and ctxgp100.c are changed
> a bit against the original patch, after this change, they have the same logic
> as the original patch. -- Hui's comment]
> Signed-off-by: Ben Skeggs <[hidden email]>
> (backported from commit fc36076441bae141893bd79899d19aa1b5fdf524)
> Signed-off-by: Hui Wang <[hidden email]>
I see at least some good regression testing with other models of NVidia GPUs.
The impact is otherwise hard to tell from the changes.
I guess when this gets applied to Bionic there is no need to process it
separately for bionic/linux-oem.