On Thu, 2018-11-15 at 11:42 +0100, Thomas Zimmermann wrote: > If vesafb attaches to the AST device, it configures the framebuffer memory > for uncached access by default. When ast.ko later tries to attach itself to > the device, it wants to use write-combining on the framebuffer memory, but > vesefb's existing configuration for uncached access takes precedence. This > results in reduced performance. > > Removing the framebuffer's configuration before loding the AST driver fixes > the problem. Other DRM drivers already contain equivalent code. > > Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1112963 > Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> > Tested-by: Y.C. Chen <yc_chen@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/ast/ast_drv.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/drivers/gpu/drm/ast/ast_drv.c b/drivers/gpu/drm/ast/ast_drv.c > index 69dab82a3771..bf589c53b908 100644 > --- a/drivers/gpu/drm/ast/ast_drv.c > +++ b/drivers/gpu/drm/ast/ast_drv.c > @@ -60,8 +60,29 @@ static const struct pci_device_id pciidlist[] = { > > MODULE_DEVICE_TABLE(pci, pciidlist); > > +static void ast_kick_out_firmware_fb(struct pci_dev *pdev) > +{ > + struct apertures_struct *ap; > + bool primary = false; > + > + ap = alloc_apertures(1); > + if (!ap) > + return; > + > + ap->ranges[0].base = pci_resource_start(pdev, 0); > + ap->ranges[0].size = pci_resource_len(pdev, 0); > + > +#ifdef CONFIG_X86 > + primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; > +#endif > + drm_fb_helper_remove_conflicting_framebuffers(ap, "astdrmfb", primary); > + kfree(ap); > +} > + > static int ast_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > { > + ast_kick_out_firmware_fb(pdev); > + > return drm_get_pci_dev(pdev, ent, &driver); > } > Thank you very much Thomas. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Tested-by: Jean Delvare <jdelvare@xxxxxxx> -- Jean Delvare SUSE L3 Support _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel