[PATCH] radeon: Test for PCI root bus before assuming bus->self

Alex Williamson alex.williamson at redhat.com
Wed Aug 27 19:09:48 PDT 2014


On Thu, 2014-08-28 at 11:32 +1000, Dave Airlie wrote:
> > On Wed, Aug 27, 2014 at 3:01 PM, Alex Williamson
> > <alex.williamson at redhat.com> wrote:
> >> If we assign a Radeon device to a virtual machine, we can no longer
> >> assume a fixed hardware topology, like the GPU having a parent device.
> >> This patch simply adds a few pci_is_root_bus() tests to avoid passing
> >> a NULL pointer to PCI access functions, allowing the radeon driver to
> >> work in a QEMU 440FX machine with an assigned HD8570 on the emulated
> >> PCI root bus.
> >>
> >> Signed-off-by: Alex Williamson <alex.williamson at redhat.com>
> >
> 
> Does this mean inside a VM we can't enable pcie 2 speeds?

Shouldn't the device already be set to something reasonable before it's
assigned?

> This could lead to a quite disappointing speed decrease for DMA transfers.

We couldn't do it before anyway, there's no decrease.  Even with a Q35
QEMU chipset the best we were doing was tweaking dummy registers on the
upstream port.  Should VFIO be doing bus tuning prior to exposing the
device?  I suppose our other option would be to let the link control
bits of the emulated downstream port pass through to the host.  In any
case, I don't see that this patch limits performance any more than it
already is for a VM.  Thanks,

Alex



More information about the dri-devel mailing list