Lines Matching +full:0 +full:x3c8

103 module_param(default_font, charp, 0);
118 cyber2000fb_writew((reg & 255) | val << 8, 0x3d4, cfb); in cyber2000_crtcw()
124 cyber2000fb_writew((reg & 255) | val << 8, 0x3ce, cfb); in cyber2000_grphw()
130 cyber2000fb_writeb(reg, 0x3ce, cfb); in cyber2000_grphr()
131 return cyber2000fb_readb(0x3cf, cfb); in cyber2000_grphr()
137 cyber2000fb_readb(0x3da, cfb); in cyber2000_attrw()
138 cyber2000fb_writeb(reg, 0x3c0, cfb); in cyber2000_attrw()
139 cyber2000fb_readb(0x3c1, cfb); in cyber2000_attrw()
140 cyber2000fb_writeb(val, 0x3c0, cfb); in cyber2000_attrw()
146 cyber2000fb_writew((reg & 255) | val << 8, 0x3c4, cfb); in cyber2000_seqw()
165 cyber2000fb_writeb(0, CO_REG_CONTROL, cfb); in cyber2000fb_fillrect()
198 cyber2000fb_writeb(0, CO_REG_CONTROL, cfb); in cyber2000fb_copyarea()
236 return 0; in cyber2000fb_sync()
241 cyber2000fb_writeb(0, CO_REG_CONTROL, cfb); in cyber2000fb_sync()
246 return 0; in cyber2000fb_sync()
261 * Set a single color register. Return != 0 for invalid regno.
297 cyber2000fb_writeb(regno, 0x3c8, cfb); in cyber2000fb_setcolreg()
298 cyber2000fb_writeb(red, 0x3c9, cfb); in cyber2000fb_setcolreg()
299 cyber2000fb_writeb(green, 0x3c9, cfb); in cyber2000fb_setcolreg()
300 cyber2000fb_writeb(blue, 0x3c9, cfb); in cyber2000fb_setcolreg()
301 return 0; in cyber2000fb_setcolreg()
325 cyber2000fb_writeb(regno << 2, 0x3c8, cfb); in cyber2000fb_setcolreg()
327 0x3c9, cfb); in cyber2000fb_setcolreg()
328 cyber2000fb_writeb(green, 0x3c9, cfb); in cyber2000fb_setcolreg()
330 0x3c9, cfb); in cyber2000fb_setcolreg()
334 ret = 0; in cyber2000fb_setcolreg()
346 cyber2000fb_writeb(regno << 3, 0x3c8, cfb); in cyber2000fb_setcolreg()
347 cyber2000fb_writeb(red, 0x3c9, cfb); in cyber2000fb_setcolreg()
348 cyber2000fb_writeb(green, 0x3c9, cfb); in cyber2000fb_setcolreg()
349 cyber2000fb_writeb(blue, 0x3c9, cfb); in cyber2000fb_setcolreg()
350 ret = 0; in cyber2000fb_setcolreg()
362 cyber2000fb_writeb(regno << 4, 0x3c8, cfb); in cyber2000fb_setcolreg()
363 cyber2000fb_writeb(red, 0x3c9, cfb); in cyber2000fb_setcolreg()
364 cyber2000fb_writeb(green, 0x3c9, cfb); in cyber2000fb_setcolreg()
365 cyber2000fb_writeb(blue, 0x3c9, cfb); in cyber2000fb_setcolreg()
366 ret = 0; in cyber2000fb_setcolreg()
389 pseudo_val = convert_bitfield(transp ^ 0xffff, &var->transp); in cyber2000fb_setcolreg()
393 ret = 0; in cyber2000fb_setcolreg()
427 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
428 0x08, 0x09,
429 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18
437 cyber2000fb_writeb(0x56, 0x3ce, cfb); in cyber2000fb_write_ramdac_ctrl()
438 i = cyber2000fb_readb(0x3cf, cfb); in cyber2000fb_write_ramdac_ctrl()
439 cyber2000fb_writeb(i | 4, 0x3cf, cfb); in cyber2000fb_write_ramdac_ctrl()
440 cyber2000fb_writeb(val, 0x3c6, cfb); in cyber2000fb_write_ramdac_ctrl()
441 cyber2000fb_writeb(i, 0x3cf, cfb); in cyber2000fb_write_ramdac_ctrl()
443 cyber2000fb_readb(0x3cf, cfb); in cyber2000fb_write_ramdac_ctrl()
453 for (i = 0; i < NR_PALETTE; i++) { in cyber2000fb_set_timing()
454 cyber2000fb_writeb(i, 0x3c8, cfb); in cyber2000fb_set_timing()
455 cyber2000fb_writeb(0, 0x3c9, cfb); in cyber2000fb_set_timing()
456 cyber2000fb_writeb(0, 0x3c9, cfb); in cyber2000fb_set_timing()
457 cyber2000fb_writeb(0, 0x3c9, cfb); in cyber2000fb_set_timing()
460 cyber2000fb_writeb(0xef, 0x3c2, cfb); in cyber2000fb_set_timing()
461 cyber2000_crtcw(0x11, 0x0b, cfb); in cyber2000fb_set_timing()
462 cyber2000_attrw(0x11, 0x00, cfb); in cyber2000fb_set_timing()
464 cyber2000_seqw(0x00, 0x01, cfb); in cyber2000fb_set_timing()
465 cyber2000_seqw(0x01, 0x01, cfb); in cyber2000fb_set_timing()
466 cyber2000_seqw(0x02, 0x0f, cfb); in cyber2000fb_set_timing()
467 cyber2000_seqw(0x03, 0x00, cfb); in cyber2000fb_set_timing()
468 cyber2000_seqw(0x04, 0x0e, cfb); in cyber2000fb_set_timing()
469 cyber2000_seqw(0x00, 0x03, cfb); in cyber2000fb_set_timing()
471 for (i = 0; i < sizeof(crtc_idx); i++) in cyber2000fb_set_timing()
474 for (i = 0x0a; i < 0x10; i++) in cyber2000fb_set_timing()
475 cyber2000_crtcw(i, 0, cfb); in cyber2000fb_set_timing()
478 cyber2000_grphw(0x00, 0x00, cfb); in cyber2000fb_set_timing()
479 cyber2000_grphw(0x01, 0x00, cfb); in cyber2000fb_set_timing()
480 cyber2000_grphw(0x02, 0x00, cfb); in cyber2000fb_set_timing()
481 cyber2000_grphw(0x03, 0x00, cfb); in cyber2000fb_set_timing()
482 cyber2000_grphw(0x04, 0x00, cfb); in cyber2000fb_set_timing()
483 cyber2000_grphw(0x05, 0x60, cfb); in cyber2000fb_set_timing()
484 cyber2000_grphw(0x06, 0x05, cfb); in cyber2000fb_set_timing()
485 cyber2000_grphw(0x07, 0x0f, cfb); in cyber2000fb_set_timing()
486 cyber2000_grphw(0x08, 0xff, cfb); in cyber2000fb_set_timing()
489 for (i = 0; i < 16; i++) in cyber2000fb_set_timing()
492 cyber2000_attrw(0x10, 0x01, cfb); in cyber2000fb_set_timing()
493 cyber2000_attrw(0x11, 0x00, cfb); in cyber2000fb_set_timing()
494 cyber2000_attrw(0x12, 0x0f, cfb); in cyber2000fb_set_timing()
495 cyber2000_attrw(0x13, 0x00, cfb); in cyber2000fb_set_timing()
496 cyber2000_attrw(0x14, 0x00, cfb); in cyber2000fb_set_timing()
504 cyber2000_grphw(0x90, 0x01, cfb); in cyber2000fb_set_timing()
505 cyber2000_grphw(0xb9, 0x80, cfb); in cyber2000fb_set_timing()
506 cyber2000_grphw(0xb9, 0x00, cfb); in cyber2000fb_set_timing()
512 cyber2000fb_writeb(0x20, 0x3c0, cfb); in cyber2000fb_set_timing()
513 cyber2000fb_writeb(0xff, 0x3c6, cfb); in cyber2000fb_set_timing()
515 cyber2000_grphw(0x14, hw->fetch, cfb); in cyber2000fb_set_timing()
516 cyber2000_grphw(0x15, ((hw->fetch >> 8) & 0x03) | in cyber2000fb_set_timing()
517 ((hw->pitch >> 4) & 0x30), cfb); in cyber2000fb_set_timing()
544 cyber2000_grphw(0x10, base >> 16 | 0x10, cfb); in cyber2000fb_update_start()
545 cyber2000_crtcw(0x0c, base >> 8, cfb); in cyber2000fb_update_start()
546 cyber2000_crtcw(0x0d, base, cfb); in cyber2000fb_update_start()
548 return 0; in cyber2000fb_update_start()
560 hw->crtc[17] = 0xe3; in cyber2000fb_decode_crtc()
561 hw->crtc[14] = 0; in cyber2000fb_decode_crtc()
562 hw->crtc[8] = 0; in cyber2000fb_decode_crtc()
570 hw->crtc[0] = (Htotal >> 3) - 5; in cyber2000fb_decode_crtc()
577 hw->crtc[3] = ENCODE_BIT(Hblankend, 0, 0x1f, 0) | in cyber2000fb_decode_crtc()
578 ENCODE_BIT(1, 0, 0x01, 7); in cyber2000fb_decode_crtc()
582 hw->crtc[5] = ENCODE_BIT(Hsyncend, 0, 0x1f, 0) | in cyber2000fb_decode_crtc()
583 ENCODE_BIT(Hblankend, 5, 0x01, 7); in cyber2000fb_decode_crtc()
598 hw->crtc[7] = ENCODE_BIT(Vtotal, 8, 0x01, 0) | in cyber2000fb_decode_crtc()
599 ENCODE_BIT(Vdispend, 8, 0x01, 1) | in cyber2000fb_decode_crtc()
600 ENCODE_BIT(Vsyncstart, 8, 0x01, 2) | in cyber2000fb_decode_crtc()
601 ENCODE_BIT(Vblankstart, 8, 0x01, 3) | in cyber2000fb_decode_crtc()
602 ENCODE_BIT(1, 0, 0x01, 4) | in cyber2000fb_decode_crtc()
603 ENCODE_BIT(Vtotal, 9, 0x01, 5) | in cyber2000fb_decode_crtc()
604 ENCODE_BIT(Vdispend, 9, 0x01, 6) | in cyber2000fb_decode_crtc()
605 ENCODE_BIT(Vsyncstart, 9, 0x01, 7); in cyber2000fb_decode_crtc()
606 hw->crtc[9] = ENCODE_BIT(0, 0, 0x1f, 0) | in cyber2000fb_decode_crtc()
607 ENCODE_BIT(Vblankstart, 9, 0x01, 5) | in cyber2000fb_decode_crtc()
608 ENCODE_BIT(1, 0, 0x01, 6); in cyber2000fb_decode_crtc()
610 hw->crtc[11] = ENCODE_BIT(Vsyncend, 0, 0x0f, 0) | in cyber2000fb_decode_crtc()
611 ENCODE_BIT(1, 0, 0x01, 7); in cyber2000fb_decode_crtc()
615 hw->crtc[18] = 0xff; in cyber2000fb_decode_crtc()
618 * overflow - graphics reg 0x11 in cyber2000fb_decode_crtc()
619 * 0=VTOTAL:10 1=VDEND:10 2=VRSTART:10 3=VBSTART:10 in cyber2000fb_decode_crtc()
623 ENCODE_BIT(Vtotal, 10, 0x01, 0) | in cyber2000fb_decode_crtc()
624 ENCODE_BIT(Vdispend, 10, 0x01, 1) | in cyber2000fb_decode_crtc()
625 ENCODE_BIT(Vsyncstart, 10, 0x01, 2) | in cyber2000fb_decode_crtc()
626 ENCODE_BIT(Vblankstart, 10, 0x01, 3) | in cyber2000fb_decode_crtc()
634 return 0; in cyber2000fb_decode_crtc()
646 * mult = reg0xb0.7:0
647 * div1 = (reg0xb1.5:0 + 1)
665 * and 0 <= div2 < 4 in cyber2000fb_decode_clock()
667 for (div2 = 0; div2 < 4; div2++) { in cyber2000fb_decode_clock()
687 best_diff = 0x7fffffff; in cyber2000fb_decode_clock()
712 if (diff < 0) in cyber2000fb_decode_clock()
724 if (diff == 0) in cyber2000fb_decode_clock()
740 return 0; in cyber2000fb_decode_clock()
754 var->transp.msb_right = 0; in cyber2000fb_check_var()
755 var->red.msb_right = 0; in cyber2000fb_check_var()
756 var->green.msb_right = 0; in cyber2000fb_check_var()
757 var->blue.msb_right = 0; in cyber2000fb_check_var()
758 var->transp.offset = 0; in cyber2000fb_check_var()
759 var->transp.length = 0; in cyber2000fb_check_var()
763 var->red.offset = 0; in cyber2000fb_check_var()
765 var->green.offset = 0; in cyber2000fb_check_var()
767 var->blue.offset = 0; in cyber2000fb_check_var()
778 var->blue.offset = 0; in cyber2000fb_check_var()
788 var->blue.offset = 0; in cyber2000fb_check_var()
799 var->blue.offset = 0; in cyber2000fb_check_var()
810 var->blue.offset = 0; in cyber2000fb_check_var()
821 var->blue.offset = 0; in cyber2000fb_check_var()
847 return 0; in cyber2000fb_check_var()
916 BUG_ON(cyber2000fb_decode_clock(&hw, cfb, var) != 0); in cyber2000fb_set_par()
917 BUG_ON(cyber2000fb_decode_crtc(&hw, cfb, var) != 0); in cyber2000fb_set_par()
953 return 0; in cyber2000fb_set_par()
976 return 0; in cyber2000fb_pan_display()
982 * Blank the screen if blank_mode != 0, else unblank. If
984 * (Color Look Up Table) to all black. Return 0 if blanking
985 * succeeded, != 0 if un-/blanking failed due to e.g. a
999 unsigned int sync = 0; in cyber2000fb_blank()
1030 for (i = 0; i < NR_PALETTE; i++) { in cyber2000fb_blank()
1031 cyber2000fb_writeb(i, 0x3c8, cfb); in cyber2000fb_blank()
1032 cyber2000fb_writeb(0, 0x3c9, cfb); in cyber2000fb_blank()
1033 cyber2000fb_writeb(0, 0x3c9, cfb); in cyber2000fb_blank()
1034 cyber2000fb_writeb(0, 0x3c9, cfb); in cyber2000fb_blank()
1037 for (i = 0; i < NR_PALETTE; i++) { in cyber2000fb_blank()
1038 cyber2000fb_writeb(i, 0x3c8, cfb); in cyber2000fb_blank()
1039 cyber2000fb_writeb(cfb->palette[i].red, 0x3c9, cfb); in cyber2000fb_blank()
1040 cyber2000fb_writeb(cfb->palette[i].green, 0x3c9, cfb); in cyber2000fb_blank()
1041 cyber2000fb_writeb(cfb->palette[i].blue, 0x3c9, cfb); in cyber2000fb_blank()
1052 return 0; in cyber2000fb_blank()
1107 if (cfb->func_use_count == 0) in cyber2000fb_disable_extregs()
1108 printk(KERN_ERR "disable_extregs: count = 0\n"); in cyber2000fb_disable_extregs()
1150 #define DDC_REG 0xb0
1151 #define DDC_SCL_OUT (1 << 0)
1160 cyber2000fb_writew(0x1bf, 0x3ce, cfb); in cyber2000fb_enable_ddc()
1166 cyber2000fb_writew(0x0bf, 0x3ce, cfb); in cyber2000fb_disable_ddc()
1322 #define cyber2000fb_i2c_register(cfb) (0)
1323 #define cyber2000fb_i2c_unregister(cfb) do { } while (0)
1346 EXT_CRT_IRQ, 0,
1347 EXT_CRT_TEST, 0,
1348 EXT_SYNC_CTL, 0,
1349 EXT_SEG_WRITE_PTR, 0,
1350 EXT_SEG_READ_PTR, 0,
1354 EXT_FUNC_CTL, 0,
1355 CURS_H_START, 0,
1356 CURS_H_START + 1, 0,
1357 CURS_H_PRESET, 0,
1358 CURS_V_START, 0,
1359 CURS_V_START + 1, 0,
1360 CURS_V_PRESET, 0,
1361 CURS_CTL, 0,
1363 EXT_OVERSCAN_RED, 0,
1364 EXT_OVERSCAN_GREEN, 0,
1365 EXT_OVERSCAN_BLUE, 0,
1371 EXT_HIDDEN_CTL1, 0x30,
1372 EXT_FIFO_CTL, 0x0b,
1373 EXT_FIFO_CTL + 1, 0x17,
1374 0x76, 0x00,
1375 EXT_HIDDEN_CTL4, 0xc8
1387 for (i = 0; i < sizeof(igs_regs); i += 2) in cyberpro_init_hw()
1392 cyber2000fb_writeb(0xba, 0x3ce, cfb); in cyberpro_init_hw()
1393 val = cyber2000fb_readb(0x3cf, cfb) & 0x80; in cyberpro_init_hw()
1394 cyber2000fb_writeb(val, 0x3cf, cfb); in cyberpro_init_hw()
1414 cfb->divisors[0] = 1; in cyberpro_alloc_fb_info()
1426 cfb->fb.fix.type_aux = 0; in cyberpro_alloc_fb_info()
1427 cfb->fb.fix.xpanstep = 0; in cyberpro_alloc_fb_info()
1429 cfb->fb.fix.ywrapstep = 0; in cyberpro_alloc_fb_info()
1433 cfb->fb.fix.accel = 0; in cyberpro_alloc_fb_info()
1449 cfb->fb.var.nonstd = 0; in cyberpro_alloc_fb_info()
1461 fb_alloc_cmap(&cfb->fb.cmap, NR_PALETTE, 0); in cyberpro_alloc_fb_info()
1472 fb_alloc_cmap(&cfb->fb.cmap, 0, 0); in cyberpro_free_fb_info()
1488 return 0; in cyber2000fb_setup()
1494 if (strncmp(opt, "font:", 5) == 0) { in cyber2000fb_setup()
1505 return 0; in cyber2000fb_setup()
1538 smem_size = 0x00400000; in cyberpro_common_probe()
1541 smem_size = 0x00200000; in cyberpro_common_probe()
1544 smem_size = 0x00100000; in cyberpro_common_probe()
1547 smem_size = 0x00100000; in cyberpro_common_probe()
1556 if (cyber2000fb_setup_ddc_bus(cfb) == 0) in cyberpro_common_probe()
1561 if (!fb_find_mode(&cfb->fb.var, &cfb->fb, NULL, NULL, 0, in cyberpro_common_probe()
1655 * physical address 0x3000000 in cyberpro_pci_enable_mmio()
1659 iop = ioremap(0x3000000, 0x5000); in cyberpro_pci_enable_mmio()
1665 writeb(0x18, iop + 0x46e8); in cyberpro_pci_enable_mmio()
1666 writeb(0x01, iop + 0x102); in cyberpro_pci_enable_mmio()
1667 writeb(0x08, iop + 0x46e8); in cyberpro_pci_enable_mmio()
1668 writeb(EXT_BIU_MISC, iop + 0x3ce); in cyberpro_pci_enable_mmio()
1669 writeb(EXT_BIU_MISC_LIN_ENABLE, iop + 0x3cf); in cyberpro_pci_enable_mmio()
1677 outb(0x18, 0x46e8); in cyberpro_pci_enable_mmio()
1678 outb(0x01, 0x102); in cyberpro_pci_enable_mmio()
1679 outb(0x08, 0x46e8); in cyberpro_pci_enable_mmio()
1680 outb(EXT_BIU_MISC, 0x3ce); in cyberpro_pci_enable_mmio()
1681 outb(EXT_BIU_MISC_LIN_ENABLE, 0x3cf); in cyberpro_pci_enable_mmio()
1705 return 0; in cyberpro_pci_enable_mmio()
1735 cfb->region = pci_ioremap_bar(dev, 0); in cyberpro_pci_probe()
1743 cfb->fb.fix.mmio_start = pci_resource_start(dev, 0) + MMIO_OFFSET; in cyberpro_pci_probe()
1744 cfb->fb.fix.smem_start = pci_resource_start(dev, 0); in cyberpro_pci_probe()
1767 cfb->mclk_mult = 0xdb; in cyberpro_pci_probe()
1768 cfb->mclk_div = 0x54; in cyberpro_pci_probe()
1783 return 0; in cyberpro_pci_probe()
1815 return 0; in cyberpro_pci_suspend()
1830 return 0; in cyberpro_pci_resume()
1836 * PCI_ANY_ID, PCI_ANY_ID, 0, 0, ID_IGA_1682 },
1839 PCI_ANY_ID, PCI_ANY_ID, 0, 0, ID_CYBERPRO_2000 },
1841 PCI_ANY_ID, PCI_ANY_ID, 0, 0, ID_CYBERPRO_2010 },
1843 PCI_ANY_ID, PCI_ANY_ID, 0, 0, ID_CYBERPRO_5000 },
1844 { 0, }
1887 ret = 0; in cyber2000fb_init()
1889 return ret ? err : 0; in cyber2000fb_init()