Displaying 2 results from an estimated 2 matches for "nv50_disp_new_".
2017 Jul 03
2
[PATCH] disp/gf119-: avoid creating non-existent heads
...+++ b/drm/nouveau/nvkm/engine/disp/gf119.c
@@ -168,7 +168,7 @@ int
gf119_disp_new_(const struct nv50_disp_func *func, struct nvkm_device *device,
int index, struct nvkm_disp **pdisp)
{
- u32 heads = nvkm_rd32(device, 0x022448);
+ u32 heads = fls(nvkm_rd32(device, 0x612004) & 0xf);
return nv50_disp_new_(func, device, index, heads, pdisp);
}
diff --git a/drm/nouveau/nvkm/engine/disp/headgf119.c b/drm/nouveau/nvkm/engine/disp/headgf119.c
index b3355275..8d44bdf6 100644
--- a/drm/nouveau/nvkm/engine/disp/headgf119.c
+++ b/drm/nouveau/nvkm/engine/disp/headgf119.c
@@ -92,5 +92,7 @@ gf119_head = {
i...
2017 Jul 03
0
[PATCH] disp/gf119-: avoid creating non-existent heads
...gf119.c
> @@ -168,7 +168,7 @@ int
> gf119_disp_new_(const struct nv50_disp_func *func, struct nvkm_device *device,
> int index, struct nvkm_disp **pdisp)
> {
> - u32 heads = nvkm_rd32(device, 0x022448);
> + u32 heads = fls(nvkm_rd32(device, 0x612004) & 0xf);
> return nv50_disp_new_(func, device, index, heads, pdisp);
I'd drop this change. I suspect 0x022448 is still the "maximum head
count" register, and that 0x612004 is just a disable mask.
> }
>
> diff --git a/drm/nouveau/nvkm/engine/disp/headgf119.c b/drm/nouveau/nvkm/engine/disp/headgf119.c
>...