diff mbox series

[05/14] drm/mgag200: Lookup VRAM PCI BAR start and length only once

Message ID 20200605135803.19811-6-tzimmermann@suse.de (mailing list archive)
State New, archived
Headers show
Series drm/mgag200: Use managed interfaces for auto-cleanup | expand

Commit Message

Thomas Zimmermann June 5, 2020, 1:57 p.m. UTC
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: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/mgag200/mgag200_mm.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)
diff mbox series

Patch

diff --git a/drivers/gpu/drm/mgag200/mgag200_mm.c b/drivers/gpu/drm/mgag200/mgag200_mm.c
index a683642fe4682..73e30901e0631 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mm.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mm.c
@@ -33,16 +33,18 @@ 
 int mgag200_mm_init(struct mga_device *mdev)
 {
 	struct drm_device *dev = mdev->dev;
+	resource_size_t start, len;
 	int ret;
 
-	arch_io_reserve_memtype_wc(pci_resource_start(dev->pdev, 0),
-				   pci_resource_len(dev->pdev, 0));
+	/* BAR 0 is VRAM */
+	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),
-					 pci_resource_len(dev->pdev, 0));
+	arch_io_reserve_memtype_wc(start, len);
 
-	mdev->vram = ioremap(pci_resource_start(dev->pdev, 0),
-			     pci_resource_len(dev->pdev, 0));
+	mdev->fb_mtrr = arch_phys_wc_add(start, len);
+
+	mdev->vram = ioremap(start, len);
 	if (!mdev->vram) {
 		ret = -ENOMEM;
 		goto err_arch_phys_wc_del;
@@ -54,8 +56,7 @@  int mgag200_mm_init(struct mga_device *mdev)
 
 err_arch_phys_wc_del:
 	arch_phys_wc_del(mdev->fb_mtrr);
-	arch_io_free_memtype_wc(pci_resource_start(dev->pdev, 0),
-				pci_resource_len(dev->pdev, 0));
+	arch_io_free_memtype_wc(start, len);
 	return ret;
 }