aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_bios.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
index 7369b5e73649..66035283546a 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bios.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
@@ -2083,9 +2083,10 @@ peek_fb(struct drm_device *dev, struct io_mapping *fb,
2083 uint32_t val = 0; 2083 uint32_t val = 0;
2084 2084
2085 if (off < pci_resource_len(dev->pdev, 1)) { 2085 if (off < pci_resource_len(dev->pdev, 1)) {
2086 uint32_t __iomem *p = io_mapping_map_atomic_wc(fb, off, KM_USER0); 2086 uint32_t __iomem *p =
2087 io_mapping_map_atomic_wc(fb, off & PAGE_MASK, KM_USER0);
2087 2088
2088 val = ioread32(p); 2089 val = ioread32(p + (off & ~PAGE_MASK));
2089 2090
2090 io_mapping_unmap_atomic(p, KM_USER0); 2091 io_mapping_unmap_atomic(p, KM_USER0);
2091 } 2092 }
@@ -2098,9 +2099,10 @@ poke_fb(struct drm_device *dev, struct io_mapping *fb,
2098 uint32_t off, uint32_t val) 2099 uint32_t off, uint32_t val)
2099{ 2100{
2100 if (off < pci_resource_len(dev->pdev, 1)) { 2101 if (off < pci_resource_len(dev->pdev, 1)) {
2101 uint32_t __iomem *p = io_mapping_map_atomic_wc(fb, off, KM_USER0); 2102 uint32_t __iomem *p =
2103 io_mapping_map_atomic_wc(fb, off & PAGE_MASK, KM_USER0);
2102 2104
2103 iowrite32(val, p); 2105 iowrite32(val, p + (off & ~PAGE_MASK));
2104 wmb(); 2106 wmb();
2105 2107
2106 io_mapping_unmap_atomic(p, KM_USER0); 2108 io_mapping_unmap_atomic(p, KM_USER0);