Comment 46 for bug 1038055

Revision history for this message
Stefan Bader (smb) wrote :

Still not exactly sure how this races, though some things are a bit odd here. Generally the approach to replace the EFI FB console looks like what i915 would do, too. Using remove_conflicting_framebuffers() the EFI FB gets removed. Then in cirrus_driver_load() it first request the resources for mmio, and then the memory region for the VRAM. This fails sometimes.
But also there is a mismatch of sizes. The pci config defines the region as 32M, the virt-manager config and the TTM message declare 9M of VRAM, but the driver requests 4M.

Even if the driver succeeds on the initial loading, the setup of a MTRR range for the video memory seems missing. If it is there it covers the 32M from the pci config space.

After an initial failure, I was able to rmmod/insmod the cirrus module and that would successfully get the VRAM resource and set up the MTRR to cover the 32M region. There was some corruption to the display but switching to VT0 and back to VT7 fixed those.