Hi Zack Am 17.01.22 um 19:03 schrieb Zack Rusin:
From: Zack Rusin <zackr@xxxxxxxxxx> When sysfb_simple is enabled loading vmwgfx fails because the regions are held by the platform. In that case remove_conflicting*_framebuffers only removes the simplefb but not the regions held by sysfb.
I don't understand this sentence. There's only one memory resource claimed by the sysfb code. What else would block vmwgfx?
I appears to me as if simplefb should release the region (or the simple-framebuffer device).
simpledrm does a hot-unplug of the simple-framebuffer, so the region should be released afterwards.
Best regard Thomas
Like the other drm drivers we need to stop requesting all the pci regions to let the driver load with platform code enabled. This allows vmwgfx to load correctly on systems with sysfb_simple enabled. Signed-off-by: Zack Rusin <zackr@xxxxxxxxxx> Fixes: 523375c943e5 ("drm/vmwgfx: Port vmwgfx to arm64") Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> Reviewed-by: Martin Krastev <krastevm@xxxxxxxxxx> --- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c index fe36efdb7ff5..27feb19f3324 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c @@ -724,10 +724,6 @@ static int vmw_setup_pci_resources(struct vmw_private *dev,pci_set_master(pdev); - ret = pci_request_regions(pdev, "vmwgfx probe");- if (ret) - return ret; - dev->pci_id = pci_id; if (pci_id == VMWGFX_PCI_ID_SVGA3) { rmmio_start = pci_resource_start(pdev, 0);
-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature