I haven't checked xorg cvs, but this patch may be needed there as well.

---------- Forwarded message ----------
From: Lafriks <[EMAIL PROTECTED]>
Date: Thu, 26 Aug 2004 11:54:50 +0300
Subject: drm patch
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]

Hi,

   Wanted to report that without this patch my ATI Radeon IGP 345M
didn't have direct rendering support with yesterday mesa-cvs and
dri-cvs. After applying patch I have dri support :) Hope this patch will
be included in cvs soon... it's great ;)

Lafriks
p.s. patch by Jon Smirl:
===== linux/drm_drv.h 1.8 vs edited =====
--- 1.8/linux/drm_drv.h Tue Aug 17 11:38:31 2004
+++ edited/linux/drm_drv.h      Fri Aug 20 16:37:08 2004
@@ -635,7 +635,7 @@
  static int __init drm_init( void )
  {
        struct pci_dev *pdev = NULL;
-       struct pci_driver *pdriver = NULL;
+       struct pci_device_id *pid;
        int i;

        DRM_DEBUG( "\n" );
@@ -647,21 +647,26 @@
        DRM(mem_init)();

        for (i=0; DRM(pciidlist)[i].vendor != 0; i++) {
-               pdev = pci_get_subsys(DRM(pciidlist[i]).vendor,
DRM(pciidlist[i]).device, DRM(pciidlist[i]).subvendor,
DRM(pciidlist[i]).subdevice, NULL);
-               if (pdev)
-               {
-                       pdriver = pci_dev_driver(pdev);
-                       if (pdriver)
-                       {
-                               DRM(fb_loaded)=1;
+               pid = &DRM(pciidlist[i]);
+
+               /* pass back in pdev to account for multiple identical cards */
+               while ((pdev = pci_get_subsys(pid->vendor, pid->device,
pid->subvendor, pid->subdevice, pdev))) {
+                       /* is there already a driver loaded, or (short
circuit saves work) */
+                       /* does something like VesaFB have control of
the memory region? */
+                       if (pci_dev_driver(pdev) ||
pci_request_regions(pdev, "DRM scan")) {
+                               /* go into stealth mode */
+                               DRM(fb_loaded) = 1;
                                drm_probe(pdev, &DRM(pciidlist[i]));
+                               /* keep looping to get all devices */
+                               continue;
                        }
-                       else
-                               pci_dev_put(pdev);
+                       /* no fbdev or vesadev, put things back and
wait for normal probe */
+                       pci_release_regions(pdev);
+                       pci_dev_put(pdev);
                }
        }

-       if (DRM(fb_loaded)==0)
+       if (DRM(fb_loaded) == 0)
                pci_register_driver(&drm_driver);
        else
                DRM_INFO("Used old pci detect: framebuffer loaded\n");


-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to