drm MSI support

Paul B. Mahol onemda at gmail.com
Sat Oct 4 18:19:25 UTC 2008


On 10/4/08, Robert Noland <rnoland at 2hip.net> wrote:
> On Sat, 2008-10-04 at 11:39 -0400, Robert Noland wrote:
>> I would like to get some initial feedback on this patch.  It enables MSI
>> on capable cards.  (I'm using it on my i965gm)  The guys at Intel have
>> done this in the Linux driver.  I have implemented it in our
>> infrastructure code which means that we will enable it on any hardware
>> that reports capable.  The Intel guys have explicitly blacklisted a
>> couple of 945 class devices, stating that they report capable but don't
>> appear to work.  While I would like to get verification that these chips
>> don't work, don't be surprised if it doesn't work if you have chips 2772
>> or 27a2.  I have not implemented the blacklist bits yet.
>>
>> The Linux crew has never enabled MSI on radeon hardware, though several
>> devices appear to report capable.  When I inquired as to why they hadn't
>> done so, they just stated that they hadn't gotten around to it.  I'm
>> particularly interested to see how this works on radeons.
>>
>> In order to use this patch, you need to be running CURRENT as I had to
>> make a few other changes to vgapci to get this working. You can see if
>> you hardware is capable by running pciconf -lvc.  You will see something
>> like this:
>
> CURRENT needs to be at least:
> r183194 | rnoland | 2008-09-19 15:11:35 -0400 (Fri, 19 Sep 2008) | 6
> lines
>
> pci_setup_intr() will only enable MSI/MSI-X for direct children.  Add
> methods
> to vga_pci.c to request on behalf of it's children.  This causes vgapci
> to show
> up as the interrupt owner in vmstat -i, rather than the child device.
>
> Approved by:    jhb(mentor)
>
> robert.
>
>> vgapci0 at pci0:0:2:0:     class=0x030000 card=0x01f91028 chip=0x2a028086
>> rev=0x0c hdr=0x00
>>     vendor     = 'Intel Corporation'
>>     device     = 'Mobile 965 Express Integrated Graphics Controller'
>>     class      = display
>>     subclass   = VGA
>>     cap 05[90] = MSI supports 1 message
>>     cap 01[d0] = powerspec 3  supports D0 D3  current D0
>>
>> When drm loads it will also report that it has enabled MSI.
>>
>> Please send me reports of what chips do/don't work.

vgapci0 at pci0:0:2:0:     class=0x030000 card=0x30a2103c chip=0x27a28086
rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Mobile 945GM/GU Express Integrated Graphics Controller'
    class      = display
    subclass   = VGA
    cap 05[90] = MSI supports 1 message
    cap 01[d0] = powerspec 2  supports D0 D3  current D0


drm0: <Intel i945GM> on vgapci0
info: [drm] MSI enabled 1 message(s)
vgapci0: child drm0 requested pci_enable_busmaster
info: [drm] AGP at 0xe0000000 256MB
info: [drm] Initialized i915 1.6.0 20080730
drm0: [ITHREAD]
vgapci0: child drm0 requested pci_disable_busmaster
info: [drm] MSI released
drm0: detached

It decrease framerate of glxgears 10x.
stellarium performance is even worse (worse than using software
rendering when DRI is disabled).


More information about the freebsd-x11 mailing list