--- i810switch.c.orig   Wed Sep 17 00:21:59 2003
+++ i810switch.c        Mon Nov 10 18:17:23 2003
@@ -276,8 +276,15 @@
                                printf("Disabling CRT display...\n");
                                i830_adpa = (i830_adpa & ~0x80000000) | 0xc00;
                        } else {
+                               /* Ideally, we'd work out what pipe display 
+                                * plane A is using, and set the analog display 
+                                * to use the same.  For our purposes, choosing
+                                * between pipe = 1 (for pipe B) and pipe = 0 
+                                * (for pipe A) works for now.
+                                */ 
+                               int pipe = 1;
                                printf("Enabling CRT display...\n");
-                               i830_adpa = (i830_adpa | 0x80000000) & ~0xc00;
+                               i830_adpa = (i830_adpa | 0x80000000 | (pipe<<30)) & ~0xc00;
                        }
                        i810_writel(par.mmio, I830_ADPA, i830_adpa);
                }
