From 3ca78ce4cdd4d17ab136e8b9504aafe4ea9314d7 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Wed, 16 Jan 2013 10:05:31 +1000 Subject: [PATCH] --- yaml --- r: 371571 b: refs/heads/master c: fffeba2a21a8ad6276066898108c94fe84e3a842 h: refs/heads/master i: 371569: 88a0c20b876e91785077fa21da293e29285ddaac 371567: cdefab566ab8747b8eaf260cc97dc9717f8d12b7 v: v3 --- [refs] | 2 +- .../gpu/drm/nouveau/core/subdev/fb/nvc0.c | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 4fbaa52849d6..ea59e317bd4a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c5bd028baae4b738075f16d00f9f857eb439cd93 +refs/heads/master: fffeba2a21a8ad6276066898108c94fe84e3a842 diff --git a/trunk/drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.c b/trunk/drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.c index 7606ed15b6fa..3b2ddc65bd48 100644 --- a/trunk/drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.c +++ b/trunk/drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.c @@ -178,7 +178,8 @@ nvc0_fb_init(struct nouveau_object *object) if (ret) return ret; - nv_wr32(priv, 0x100c10, priv->r100c10 >> 8); + if (priv->r100c10_page) + nv_wr32(priv, 0x100c10, priv->r100c10 >> 8); return 0; } @@ -217,13 +218,13 @@ nvc0_fb_ctor(struct nouveau_object *parent, struct nouveau_object *engine, priv->base.ram.put = nv50_fb_vram_del; priv->r100c10_page = alloc_page(GFP_KERNEL | __GFP_ZERO); - if (!priv->r100c10_page) - return -ENOMEM; - - priv->r100c10 = pci_map_page(device->pdev, priv->r100c10_page, 0, - PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); - if (pci_dma_mapping_error(device->pdev, priv->r100c10)) - return -EFAULT; + if (priv->r100c10_page) { + priv->r100c10 = pci_map_page(device->pdev, priv->r100c10_page, + 0, PAGE_SIZE, + PCI_DMA_BIDIRECTIONAL); + if (pci_dma_mapping_error(device->pdev, priv->r100c10)) + return -EFAULT; + } return nouveau_fb_preinit(&priv->base); }