Commit 0956c329 authored by Thomas Zimmermann's avatar Thomas Zimmermann

drm/mgag200: Lookup VRAM PCI BAR start and length only once

The MM setup code on mgag200 reads PCI BAR 0's start and length
several times. Reusing these values makes the code more readable.
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200605135803.19811-6-tzimmermann@suse.de
parent e7b9db6a
...@@ -33,16 +33,18 @@ ...@@ -33,16 +33,18 @@
int mgag200_mm_init(struct mga_device *mdev) int mgag200_mm_init(struct mga_device *mdev)
{ {
struct drm_device *dev = mdev->dev; struct drm_device *dev = mdev->dev;
resource_size_t start, len;
int ret; int ret;
arch_io_reserve_memtype_wc(pci_resource_start(dev->pdev, 0), /* BAR 0 is VRAM */
pci_resource_len(dev->pdev, 0)); start = pci_resource_start(dev->pdev, 0);
len = pci_resource_len(dev->pdev, 0);
mdev->fb_mtrr = arch_phys_wc_add(pci_resource_start(dev->pdev, 0), arch_io_reserve_memtype_wc(start, len);
pci_resource_len(dev->pdev, 0));
mdev->vram = ioremap(pci_resource_start(dev->pdev, 0), mdev->fb_mtrr = arch_phys_wc_add(start, len);
pci_resource_len(dev->pdev, 0));
mdev->vram = ioremap(start, len);
if (!mdev->vram) { if (!mdev->vram) {
ret = -ENOMEM; ret = -ENOMEM;
goto err_arch_phys_wc_del; goto err_arch_phys_wc_del;
...@@ -54,8 +56,7 @@ int mgag200_mm_init(struct mga_device *mdev) ...@@ -54,8 +56,7 @@ int mgag200_mm_init(struct mga_device *mdev)
err_arch_phys_wc_del: err_arch_phys_wc_del:
arch_phys_wc_del(mdev->fb_mtrr); arch_phys_wc_del(mdev->fb_mtrr);
arch_io_free_memtype_wc(pci_resource_start(dev->pdev, 0), arch_io_free_memtype_wc(start, len);
pci_resource_len(dev->pdev, 0));
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment