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
> pci_setup_intr() will only enable MSI/MSI-X for direct children. Add
> 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)
>> 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 = 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
vendor = 'Intel Corporation'
device = 'Mobile 945GM/GU Express Integrated Graphics Controller'
class = display
subclass = VGA
cap 05 = 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
vgapci0: child drm0 requested pci_disable_busmaster
info: [drm] MSI released
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