drm/nvc0/fb: ignore readback page alloc failure to support userspace
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
c5bd028baa
commit
fffeba2a21
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue