Commit 494ab824f179ddeb2022cbb1d25aee41ab46ee9b
1 parent
2eb92c8007
Exists in
master
and in
4 other branches
drm/nv50: fix instmem init on IGPs if stolen mem crosses 4GiB mark
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Showing 1 changed file with 4 additions and 3 deletions Side-by-side Diff
drivers/gpu/drm/nouveau/nv50_instmem.c
... | ... | @@ -63,9 +63,10 @@ |
63 | 63 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
64 | 64 | struct nouveau_channel *chan; |
65 | 65 | uint32_t c_offset, c_size, c_ramfc, c_vmpd, c_base, pt_size; |
66 | + uint32_t save_nv001700; | |
67 | + uint64_t v; | |
66 | 68 | struct nv50_instmem_priv *priv; |
67 | 69 | int ret, i; |
68 | - uint32_t v, save_nv001700; | |
69 | 70 | |
70 | 71 | priv = kzalloc(sizeof(*priv), GFP_KERNEL); |
71 | 72 | if (!priv) |
... | ... | @@ -184,8 +185,8 @@ |
184 | 185 | |
185 | 186 | i = 0; |
186 | 187 | while (v < dev_priv->vram_sys_base + c_offset + c_size) { |
187 | - BAR0_WI32(priv->pramin_pt->gpuobj, i + 0, v); | |
188 | - BAR0_WI32(priv->pramin_pt->gpuobj, i + 4, 0x00000000); | |
188 | + BAR0_WI32(priv->pramin_pt->gpuobj, i + 0, lower_32_bits(v)); | |
189 | + BAR0_WI32(priv->pramin_pt->gpuobj, i + 4, upper_32_bits(v)); | |
189 | 190 | v += 0x1000; |
190 | 191 | i += 8; |
191 | 192 | } |