mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 12:03:54 +02:00
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: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/20200605135803.19811-6-tzimmermann@suse.de
This commit is contained in:
parent
e7b9db6a14
commit
0956c329a4
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user