[vfio-users] radeon vfio bus information issue?

globalgorrilla at fastmail.fm globalgorrilla at fastmail.fm
Mon Oct 24 18:10:10 UTC 2016


And done.

I just changed the machine type to the Q35 most recent available for me: 
pc-q35-2.8

The default PCIE layout worked. Up and running with Wayland on the R9 
290.

Thank you Alex! I hope someone else gets to enjoy a similar setup too!

On 24 Oct 2016, at 10:43, Alex Williamson wrote:

> On Mon, 24 Oct 2016 10:38:08 -0700
> globalgorrilla at fastmail.fm wrote:
>
>> On 24 Oct 2016, at 10:23, Alex Williamson wrote:
>>
>>> On Mon, 24 Oct 2016 10:20:08 -0700
>>> globalgorrilla at fastmail.fm wrote:
>>>
>>>> Hi,
>>>>
>>>> Pass-through works fine with the the same linux 4.8 VM and nouveau
>>>> and a
>>>> Quadro K2200.
>>>>
>>>> Passing-through both a R7 260X and and a R9 290 I get the same 
>>>> kernel
>>>> oops:
>>>>
>>>> IP: [<ffffffffc029efd9>] drm_pcie_get_speed_cap_mask+0x39/0xf0 
>>>> [drm]
>>>>
>>>> More here:
>>>> http://pastebin.com/Waysyk2e
>>>>
>>>> Both the AMD cards work fine if I pass them through to a Windows 
>>>> VM.
>>>>
>>>> I'm supposing this might likely be then an issue with Radeon.
>>>>
>>>> However the oops makes me think perhaps it's breaking on unexpected
>>>> PCIE
>>>> information?
>>>>
>>>> Is it possible there some missing information in that radeon is
>>>> looking
>>>> for that's missing? What PCIE information is passed through by vfio
>>>> (lspci from both host and vm also in the pastebin)?
>>>>
>>>> Anybody using radeon with passthrough AMD cards and seen this?
>>>
>>> Radeon with a Linux guest is actually one of the few cases where you
>>> need to be running a Q35 machine with the GPU placed behind a PCIe
>>> downstream/root port.  The code blindly assumes that an upstream 
>>> PCIe
>>> bridge is present and tries to poke registers on it.
>>
>> Bingo.
>>
>> I'll have to clone and try with that.
>>
>> Alex, do you know if is enough to just simply passthrough the device 
>> but
>> with Q35? Or is a custom topology needed?
>
> I would recommend a PCIe root port with the Radeon on the bus created
> by that.  The Linux driver assumes this sort of topology.




More information about the vfio-users mailing list