summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/core/subdev/fb
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2012-07-14 09:09:17 (GMT)
committerBen Skeggs <bskeggs@redhat.com>2012-10-03 03:12:52 (GMT)
commit3863c9bc887e9638a9d905d55f6038641ece78d6 (patch)
tree923decce50fc9f0ed28e04d5ad83d6518162bad0 /drivers/gpu/drm/nouveau/core/subdev/fb
parent8a9b889e668a5bc2f4031015fe4893005c43403d (diff)
downloadlinux-fsl-qoriq-3863c9bc887e9638a9d905d55f6038641ece78d6.tar.xz
drm/nouveau/instmem: completely new implementation, as a subdev module
v2 (Ben Skeggs): - some fixes for 64KiB PAGE_SIZE - fix porting issues in (currently unused) nv41/nv44 pciegart code Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/core/subdev/fb')
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/fb/nv40.c46
1 files changed, 3 insertions, 43 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv40.c b/drivers/gpu/drm/nouveau/core/subdev/fb/nv40.c
index 84aa71c..347a496 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/fb/nv40.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/fb/nv40.c
@@ -50,54 +50,14 @@ nv40_fb_tile_prog(struct nouveau_fb *pfb, int i, struct nouveau_fb_tile *tile)
static void
nv40_fb_init_gart(struct nv40_fb_priv *priv)
{
-#if 0
- struct nouveau_gpuobj *gart = ndev->gart_info.sg_ctxdma;
-
- if (ndev->gart_info.type != NOUVEAU_GART_HW) {
-#endif
- nv_wr32(priv, 0x100800, 0x00000001);
-#if 0
- return;
- }
-
- nv_wr32(ndev, 0x100800, gart->pinst | 0x00000002);
- nv_mask(ndev, 0x10008c, 0x00000100, 0x00000100);
- nv_wr32(ndev, 0x100820, 0x00000000);
-#endif
+ nv_wr32(priv, 0x100800, 0x00000001);
}
static void
nv44_fb_init_gart(struct nv40_fb_priv *priv)
{
-#if 0
- struct nouveau_gpuobj *gart = ndev->gart_info.sg_ctxdma;
- u32 vinst;
-
- if (ndev->gart_info.type != NOUVEAU_GART_HW) {
-#endif
- nv_wr32(priv, 0x100850, 0x80000000);
- nv_wr32(priv, 0x100800, 0x00000001);
-#if 0
- return;
- }
-
- /* calculate vram address of this PRAMIN block, object
- * must be allocated on 512KiB alignment, and not exceed
- * a total size of 512KiB for this to work correctly
- */
- vinst = nv_rd32(ndev, 0x10020c);
- vinst -= ((gart->pinst >> 19) + 1) << 19;
-
- nv_wr32(ndev, 0x100850, 0x80000000);
- nv_wr32(ndev, 0x100818, ndev->gart_info.dummy.addr);
-
- nv_wr32(ndev, 0x100804, ndev->gart_info.aper_size);
- nv_wr32(ndev, 0x100850, 0x00008000);
- nv_mask(ndev, 0x10008c, 0x00000200, 0x00000200);
- nv_wr32(ndev, 0x100820, 0x00000000);
- nv_wr32(ndev, 0x10082c, 0x00000001);
- nv_wr32(ndev, 0x100800, vinst | 0x00000010);
-#endif
+ nv_wr32(priv, 0x100850, 0x80000000);
+ nv_wr32(priv, 0x100800, 0x00000001);
}
static int