drm MSI support

Robert Noland rnoland at FreeBSD.org
Sat Oct 4 18:31:39 UTC 2008


On Sat, 2008-10-04 at 20:19 +0200, Paul B. Mahol wrote:
> 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).

I expect that you aren't getting interrupts, vmstat -ia will tell you.
Yours is one of the cards that Intel blacklisted though, so it's not
entirely unexpected.

robert.

> _______________________________________________
> freebsd-x11 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-x11
> To unsubscribe, send any mail to "freebsd-x11-unsubscribe at freebsd.org"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-x11/attachments/20081004/e9f040e6/attachment.pgp


More information about the freebsd-x11 mailing list