drm/hyperv: Remove firmware framebuffers with aperture helper
Replace use of screen_info state with the correct interface from the aperture helpers. The state is only for architecture and firmware code. It is not guaranteed to contain valid data. Drivers are thus not allowed to use it. For removing conflicting firmware framebuffers, there are aperture helpers. Hence replace screen_info with the correct function that will remove conflicting framebuffers for the hyperv-drm driver. Also move the call to the correct place within the driver. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
7452b319bd
commit
778e73d241
@ -7,7 +7,6 @@
|
||||
#include <linux/hyperv.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/screen_info.h>
|
||||
|
||||
#include <drm/drm_aperture.h>
|
||||
#include <drm/drm_atomic_helper.h>
|
||||
@ -73,11 +72,6 @@ static int hyperv_setup_vram(struct hyperv_drm_device *hv,
|
||||
struct drm_device *dev = &hv->dev;
|
||||
int ret;
|
||||
|
||||
if (IS_ENABLED(CONFIG_SYSFB))
|
||||
drm_aperture_remove_conflicting_framebuffers(screen_info.lfb_base,
|
||||
screen_info.lfb_size,
|
||||
&hyperv_driver);
|
||||
|
||||
hv->fb_size = (unsigned long)hv->mmio_megabytes * 1024 * 1024;
|
||||
|
||||
ret = vmbus_allocate_mmio(&hv->mem, hdev, 0, -1, hv->fb_size, 0x100000,
|
||||
@ -130,6 +124,8 @@ static int hyperv_vmbus_probe(struct hv_device *hdev,
|
||||
goto err_hv_set_drv_data;
|
||||
}
|
||||
|
||||
drm_aperture_remove_framebuffers(&hyperv_driver);
|
||||
|
||||
ret = hyperv_setup_vram(hv, hdev);
|
||||
if (ret)
|
||||
goto err_vmbus_close;
|
||||
|
Loading…
x
Reference in New Issue
Block a user