Commit f5b6fd4e authored by Thomas Zimmermann's avatar Thomas Zimmermann

drm/mgag200: Fix caching setup for remapped video memory

I/O video memory for the framebuffer supports write-combine caching
mode. Simplify the driver's code that sets up the caching mode.

 * Map video memory with ioremap_wc(), which automatically sets up
the PAT entry with write-combine caching.

 * Remove the now obsolete call to devm_arch_io_reserve_memtype_wc().
It is only required to mmap the video memory to user space, which the
driver doesn't do.

 * According to the PAT documentation, arch_phys_wc_add() is best
called after remapping I/O memory, so move it after ioremap.
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarJocelyn Falempe <jfalempe@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240105082714.21881-1-tzimmermann@suse.de
parent 26a4591b
...@@ -146,14 +146,13 @@ int mgag200_device_preinit(struct mga_device *mdev) ...@@ -146,14 +146,13 @@ int mgag200_device_preinit(struct mga_device *mdev)
} }
mdev->vram_res = res; mdev->vram_res = res;
/* Don't fail on errors, but performance might be reduced. */ mdev->vram = devm_ioremap_wc(dev->dev, res->start, resource_size(res));
devm_arch_io_reserve_memtype_wc(dev->dev, res->start, resource_size(res));
devm_arch_phys_wc_add(dev->dev, res->start, resource_size(res));
mdev->vram = devm_ioremap(dev->dev, res->start, resource_size(res));
if (!mdev->vram) if (!mdev->vram)
return -ENOMEM; return -ENOMEM;
/* Don't fail on errors, but performance might be reduced. */
devm_arch_phys_wc_add(dev->dev, res->start, resource_size(res));
return 0; return 0;
} }
......
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