Lines Matching refs:par
174 #define pci_inb(par, reg) readb(par->io_base+(reg)) argument
175 #define pci_outb(par, val, reg) writeb(val, par->io_base+(reg)) argument
177 static inline unsigned int iga_inb(struct iga_par *par, unsigned int reg, in iga_inb() argument
180 pci_outb(par, idx, reg); in iga_inb()
181 return pci_inb(par, reg + 1); in iga_inb()
184 static inline void iga_outb(struct iga_par *par, unsigned char val, in iga_outb() argument
187 pci_outb(par, idx, reg); in iga_outb()
188 pci_outb(par, val, reg+1); in iga_outb()
197 static void iga_blank_border(struct iga_par *par) in iga_blank_border() argument
205 (void) pci_inb(par, 0x3DA); /* required for every access */ in iga_blank_border()
206 pci_outb(par, IGA_IDX_VGA_OVERSCAN, IGA_ATTR_CTL); in iga_blank_border()
207 (void) pci_inb(par, IGA_ATTR_CTL+1); in iga_blank_border()
208 pci_outb(par, 0x38, IGA_ATTR_CTL); in iga_blank_border()
209 pci_outb(par, 0x20, IGA_ATTR_CTL); /* re-enable visual */ in iga_blank_border()
217 iga_outb(par, 0, IGA_EXT_CNTRL, IGA_IDX_OVERSCAN_COLOR + i); in iga_blank_border()
224 struct iga_par *par = (struct iga_par *)info->par; in igafb_mmap() local
229 if (!par->mmap_map) in igafb_mmap()
237 for (i = 0; par->mmap_map[i].size; i++) { in igafb_mmap()
238 unsigned long start = par->mmap_map[i].voff; in igafb_mmap()
239 unsigned long end = start + par->mmap_map[i].size; in igafb_mmap()
247 map_size = par->mmap_map[i].size - (offset - start); in igafb_mmap()
248 map_offset = par->mmap_map[i].poff + (offset - start); in igafb_mmap()
258 pgprot_val(vma->vm_page_prot) &= ~(par->mmap_map[i].prot_mask); in igafb_mmap()
259 pgprot_val(vma->vm_page_prot) |= par->mmap_map[i].prot_flag; in igafb_mmap()
286 struct iga_par *par = (struct iga_par *)info->par; in igafb_setcolreg() local
291 pci_outb(par, regno, DAC_W_INDEX); in igafb_setcolreg()
292 pci_outb(par, red, DAC_DATA); in igafb_setcolreg()
293 pci_outb(par, green, DAC_DATA); in igafb_setcolreg()
294 pci_outb(par, blue, DAC_DATA); in igafb_setcolreg()
331 static int __init iga_init(struct fb_info *info, struct iga_par *par) in iga_init() argument
333 char vramsz = iga_inb(par, IGA_EXT_CNTRL, IGA_IDX_EXT_BUS_CNTL) in iga_init()
364 info->fix.id, par->frame_buffer_phys, info->fix.smem_len >> 20); in iga_init()
366 iga_blank_border(par); in iga_init()
374 struct iga_par *par; in igafb_init() local
406 par = info->par; in igafb_init()
422 par->frame_buffer_phys = addr & PCI_BASE_ADDRESS_MEM_MASK; in igafb_init()
445 igafb_fix.mmio_start = par->frame_buffer_phys | 0x00800000; in igafb_init()
449 if ((par->io_base = (int) ioremap(igafb_fix.mmio_start, igafb_fix.smem_len)) == 0) { in igafb_init()
465 par->mmap_map = kzalloc(4 * sizeof(*par->mmap_map), GFP_ATOMIC); in igafb_init()
466 if (!par->mmap_map) { in igafb_init()
468 iounmap((void *)par->io_base); in igafb_init()
526 info->pseudo_palette = (void *)(par + 1); in igafb_init()
528 if (!iga_init(info, par)) { in igafb_init()
529 iounmap((void *)par->io_base); in igafb_init()
531 kfree(par->mmap_map); in igafb_init()
542 par->mmap_map[0].voff = 0x0; in igafb_init()
543 par->mmap_map[0].poff = par->frame_buffer_phys & PAGE_MASK; in igafb_init()
544 par->mmap_map[0].size = info->fix.smem_len & PAGE_MASK; in igafb_init()
545 par->mmap_map[0].prot_mask = SRMMU_CACHE; in igafb_init()
546 par->mmap_map[0].prot_flag = SRMMU_WRITE; in igafb_init()
549 par->mmap_map[1].voff = par->frame_buffer_phys & PAGE_MASK; in igafb_init()
550 par->mmap_map[1].poff = info->fix.smem_start & PAGE_MASK; in igafb_init()
551 par->mmap_map[1].size = PAGE_SIZE * 2; /* X wants 2 pages */ in igafb_init()
552 par->mmap_map[1].prot_mask = SRMMU_CACHE; in igafb_init()
553 par->mmap_map[1].prot_flag = SRMMU_WRITE; in igafb_init()