Loading drivers/gpu/drm/nouveau/nvc0_instmem.c +7 −4 Original line number Diff line number Diff line Loading @@ -142,14 +142,16 @@ int nvc0_instmem_suspend(struct drm_device *dev) { struct drm_nouveau_private *dev_priv = dev->dev_private; u32 *buf; int i; dev_priv->susres.ramin_copy = vmalloc(65536); if (!dev_priv->susres.ramin_copy) return -ENOMEM; buf = dev_priv->susres.ramin_copy; for (i = 0x700000; i < 0x710000; i += 4) dev_priv->susres.ramin_copy[i/4] = nv_rd32(dev, i); for (i = 0; i < 65536; i += 4) buf[i/4] = nv_rd32(dev, NV04_PRAMIN + i); return 0; } Loading @@ -157,14 +159,15 @@ void nvc0_instmem_resume(struct drm_device *dev) { struct drm_nouveau_private *dev_priv = dev->dev_private; u32 *buf = dev_priv->susres.ramin_copy; u64 chan; int i; chan = dev_priv->vram_size - dev_priv->ramin_rsvd_vram; nv_wr32(dev, 0x001700, chan >> 16); for (i = 0x700000; i < 0x710000; i += 4) nv_wr32(dev, i, dev_priv->susres.ramin_copy[i/4]); for (i = 0; i < 65536; i += 4) nv_wr32(dev, NV04_PRAMIN + i, buf[i/4]); vfree(dev_priv->susres.ramin_copy); dev_priv->susres.ramin_copy = NULL; Loading Loading
drivers/gpu/drm/nouveau/nvc0_instmem.c +7 −4 Original line number Diff line number Diff line Loading @@ -142,14 +142,16 @@ int nvc0_instmem_suspend(struct drm_device *dev) { struct drm_nouveau_private *dev_priv = dev->dev_private; u32 *buf; int i; dev_priv->susres.ramin_copy = vmalloc(65536); if (!dev_priv->susres.ramin_copy) return -ENOMEM; buf = dev_priv->susres.ramin_copy; for (i = 0x700000; i < 0x710000; i += 4) dev_priv->susres.ramin_copy[i/4] = nv_rd32(dev, i); for (i = 0; i < 65536; i += 4) buf[i/4] = nv_rd32(dev, NV04_PRAMIN + i); return 0; } Loading @@ -157,14 +159,15 @@ void nvc0_instmem_resume(struct drm_device *dev) { struct drm_nouveau_private *dev_priv = dev->dev_private; u32 *buf = dev_priv->susres.ramin_copy; u64 chan; int i; chan = dev_priv->vram_size - dev_priv->ramin_rsvd_vram; nv_wr32(dev, 0x001700, chan >> 16); for (i = 0x700000; i < 0x710000; i += 4) nv_wr32(dev, i, dev_priv->susres.ramin_copy[i/4]); for (i = 0; i < 65536; i += 4) nv_wr32(dev, NV04_PRAMIN + i, buf[i/4]); vfree(dev_priv->susres.ramin_copy); dev_priv->susres.ramin_copy = NULL; Loading