>  the v4l module in XF86Config. If I load v4l, the picture goes
>  away. I'm perfectly happy not to load v41, but I'm curious as to why
>  it causes the picture not to work. My guess is that my POS video card
>  (Rage 128) doesn't support something that's required. Is that correct?

No, it's a bug in the r128 driver.  It doesn't set memPhysBase
correctly.

  Gerd

---------------------------- cut here --------------------
--- xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c.phys       Thu Sep 13 
10:16:29 2001
+++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c    Thu Sep 13 10:19:59 
+2001
@@ -817,6 +817,7 @@
 
     from             = X_PROBED;
     info->LinearAddr = info->PciInfo->memBase[0] & 0xfc000000;
+    pScrn->memPhysBase = info->LinearAddr;
     if (dev->MemBase) {
        xf86DrvMsg(pScrn->scrnIndex, X_INFO,
                   "Linear address override, using 0x%08x instead of 0x%08x\n",
--- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c.phys     Thu Sep 13 
10:20:35 2001
+++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c  Thu Sep 13 10:21:35 
+2001
@@ -1213,6 +1213,7 @@
 
     from             = X_PROBED;
     info->LinearAddr = info->PciInfo->memBase[0] & 0xfc000000;
+    pScrn->memPhysBase = info->LinearAddr;
     if (dev->MemBase) {
        xf86DrvMsg(pScrn->scrnIndex, X_INFO,
                   "Linear address override, using 0x%08x instead of 0x%08x\n",
--- xc/programs/Xserver/hw/xfree86/drivers/v4l/v4l.c.phys       Thu Sep 13 11:00:48 
2001
+++ xc/programs/Xserver/hw/xfree86/drivers/v4l/v4l.c    Thu Sep 13 11:01:04 2001
@@ -207,6 +207,8 @@
 
 static int V4lOpenDevice(PortPrivPtr pPPriv, ScrnInfoPtr pScrn)
 {
+    static int first = 1;
+
     if (-1 == V4L_FD) {
        V4L_FD = open(V4L_NAME, O_RDWR, 0);
 
@@ -215,7 +217,12 @@
        pPPriv->rgb_fbuf.depth        = pScrn->bitsPerPixel;
        pPPriv->rgb_fbuf.bytesperline = pScrn->displayWidth * ((pScrn->bitsPerPixel + 
7)/8);
        pPPriv->rgb_fbuf.base         = (pointer)(pScrn->memPhysBase + 
pScrn->fbOffset);
-       
+       if (first) {
+           first = 0;
+           xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2,
+                        "v4l: memPhysBase=%p\n", pScrn->memPhysBase);
+       }
+
        switch (pScrn->bitsPerPixel) {
        case 16:
            if (pScrn->weight.green == 5) {



_______________________________________________
Video4linux-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/video4linux-list

Reply via email to