- Update to 3.4-rc6.
[linux-flexiantxendom0-3.2.10.git] / drivers / gpu / drm / radeon / radeon_device.c
index 5992502..07ff3bd 100644 (file)
@@ -448,6 +448,18 @@ int radeon_dummy_page_init(struct radeon_device *rdev)
        rdev->dummy_page.page = alloc_page(GFP_DMA32 | GFP_KERNEL | __GFP_ZERO);
        if (rdev->dummy_page.page == NULL)
                return -ENOMEM;
+#ifdef CONFIG_XEN
+       {
+               int ret = xen_limit_pages_to_max_mfn(rdev->dummy_page.page,
+                                                    0, 32);
+
+               if (!ret)
+                       clear_page(page_address(rdev->dummy_page.page));
+               else
+                       dev_warn(rdev->dev,
+                                "Error restricting dummy page: %d\n", ret);
+       }
+#endif
        rdev->dummy_page.addr = pci_map_page(rdev->pdev, rdev->dummy_page.page,
                                        0, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
        if (pci_dma_mapping_error(rdev->pdev, rdev->dummy_page.addr)) {