break; case PCI_CHIP_I815_DC100: ErrorF("Intel i815 DC100\n"); break; case PCI_CHIP_I815: ErrorF("Intel i815\n");
I810FbInit(){   /* Hook out screen init so that we can substitute our own StoreColors    */   vgaSetScreenInitHook(I810ScreenInit);   /* Print out some useful information about the system. */   if (xf86Verbose) {      ErrorF("%s %s: ",	     (vga256InfoRec.chipset ? XCONFIG_PROBED : XCONFIG_GIVEN),	     vga256InfoRec.name);      switch (I810Chipset) {      case PCI_CHIP_I810:	 ErrorF("Intel i810\n");	 break;      case PCI_CHIP_I810_DC100:	 ErrorF("Intel i810-dc100\n");	 break;      case PCI_CHIP_I810_E:	 ErrorF("Intel i810e\n");	 break;      }   }   /* Map IO registers to virtual address space. */   I810MMIOBase = xf86MapVidMem(vga256InfoRec.scrnIndex, MMIO_REGION,				(pointer)(I810MMIOAddr), 0x80000);   if (!I810MMIOBase)      FatalError("i810: Can't memory map IO registers\n");   if (xf86Verbose)      ErrorF("%s %s: %s: MMIO registers at 0x%08lX\n",	     (vga256InfoRec.IObase ? XCONFIG_GIVEN : XCONFIG_PROBED),	     vga256InfoRec.name,	     vga256InfoRec.chipset,	     I810MMIOAddr);   /* Use linear by default. */   I810.ChipLinearBase = I810LinearAddr;   I810.ChipUseLinearAddressing = TRUE;   I810.ChipLinearSize = 8 * 1024 * 1024;    if (xf86Verbose)      ErrorF("%s %s: %s: Linear framebuffer at 0x%08lX\n",	     (vga256InfoRec.MemBase ? XCONFIG_GIVEN : XCONFIG_PROBED),	     vga256InfoRec.name,	     vga256InfoRec.chipset,	     I810.ChipLinearBase);   /* Allocate the framebuffer.    */   if (!I810AllocLow( &I810FrameBuffer, 		      I810DisplayPtr,		      (vga256InfoRec.virtualY *		       vga256InfoRec.displayWidth *		       vgaBytesPerPixel) ))      FatalError("Failed to allocate space for framebuffer");      if (I810_DEBUG & DEBUG_VERBOSE_MEMORY)      fprintf(stderr, "framebuffer %x to %x\n", I810FrameBuffer.Start,	      I810FrameBuffer.End);   I810Mprotect = I810FrameBuffer;   if (!OFLG_ISSET(OPTION_SW_CURSOR, &vga256InfoRec.options))    {      if (!I810AllocHigh( &I810Cursor, &I810SysMem, 4096 )) {	 ErrorF("%s %s: %s: Warning: "		"Cannot allocate memory in framebuffer for cursor image\n",		(OFLG_ISSET(OPTION_HW_CURSOR, &vga256InfoRec.options) ?		 XCONFIG_GIVEN : XCONFIG_PROBED),		vga256InfoRec.name,		vga256InfoRec.chipset);      }      else {	 /* Translate to a physical system memory address - this is the	  * only thing for which the hardware will not use the GTT...  	  */	 I810CursorPhysical = I810LocalToPhysical( I810Cursor.Start ); 	 if (I810_DEBUG & DEBUG_VERBOSE_MEMORY)	    fprintf(stderr, "cursor local %x phys %x\n", 		    I810Cursor.Start, I810CursorPhysical);	 if (I810CursorPhysical) 	    I810CursorInit();       }   }   if (xf86Verbose)      ErrorF("%s %s: %s: Using %s cursor\n",	     (OFLG_ISSET(OPTION_HW_CURSOR, &vga256InfoRec.options) ?	      XCONFIG_GIVEN : XCONFIG_PROBED),	     vga256InfoRec.name,	     vga256InfoRec.chipset,	     (I810CursorPhysical ? "hardware" : "software"));   memset( &I810LpRing, 0, sizeof( I810LpRing ) );   /* Must be power of two for tail_mask to work.    */   if (!OFLG_ISSET(OPTION_NOACCEL, &vga256InfoRec.options)) {      if (I810AllocHigh( &I810LpRing.mem, &I810SysMem, 4096 )) {	 if (I810_DEBUG & DEBUG_VERBOSE_MEMORY)	    fprintf(stderr, "ring buffer at local %x\n", I810LpRing.mem.Start);	 I810LpRing.base_reg = LP_RING;	 I810LpRing.tail_mask = I810LpRing.mem.Size - 1;	 I810LpRing.virtual_start = 0;	 I810LpRing.head = 0;	 I810LpRing.tail = 0;      	 I810LpRing.space = 0;		 	 I810AccelInit();      } else { 	 ErrorF("%s %s: %s: Warning: "		"Cannot allocate memory in framebuffer for ring buffer\n",		(OFLG_ISSET(OPTION_HW_CURSOR, &vga256InfoRec.options) ?		 XCONFIG_GIVEN : XCONFIG_PROBED),		vga256InfoRec.name,		vga256InfoRec.chipset);      }   }   else if (xf86Verbose)      ErrorF("%s %s: %s: Acceleration disabled\n",	     (OFLG_ISSET(OPTION_NOACCEL, &vga256InfoRec.options) ?	      XCONFIG_GIVEN : XCONFIG_PROBED),	     vga256InfoRec.name,	     vga256InfoRec.chipset);}