Lines Matching refs:p
116 static int read_valkyrie_sense(struct fb_info_valkyrie *p);
121 static int valkyrie_init_info(struct fb_info *info, struct fb_info_valkyrie *p);
123 static void valkyrie_init_fix(struct fb_fix_screeninfo *fix, struct fb_info_valkyrie *p);
139 struct fb_info_valkyrie *p = in valkyriefb_set_par() local
141 volatile struct valkyrie_regs __iomem *valkyrie_regs = p->valkyrie_regs; in valkyriefb_set_par()
198 struct fb_info_valkyrie *p = in valkyriefb_blank() local
208 out_8(&p->valkyrie_regs->mode.r, init->mode); in valkyriefb_blank()
219 out_8(&p->valkyrie_regs->mode.r, init->mode | 0x40); in valkyriefb_blank()
222 out_8(&p->valkyrie_regs->mode.r, 0x66); in valkyriefb_blank()
231 struct fb_info_valkyrie *p = in valkyriefb_setcolreg() local
233 volatile struct cmap_regs __iomem *cmap_regs = p->cmap_regs; in valkyriefb_setcolreg()
243 out_8(&p->cmap_regs->addr, regno); in valkyriefb_setcolreg()
282 static void __init valkyrie_choose_mode(struct fb_info_valkyrie *p) in valkyrie_choose_mode() argument
284 p->sense = read_valkyrie_sense(p); in valkyrie_choose_mode()
285 printk(KERN_INFO "Monitor sense value = 0x%x\n", p->sense); in valkyrie_choose_mode()
298 default_vmode = mac_map_monitor_sense(p->sense); in valkyrie_choose_mode()
311 || valkyrie_vram_reqd(default_vmode, default_cmode) > p->total_vram) in valkyrie_choose_mode()
320 struct fb_info_valkyrie *p; in valkyriefb_init() local
361 p = kzalloc(sizeof(*p), GFP_ATOMIC); in valkyriefb_init()
362 if (p == 0) in valkyriefb_init()
367 kfree(p); in valkyriefb_init()
370 p->total_vram = 0x100000; in valkyriefb_init()
371 p->frame_buffer_phys = frame_buffer_phys; in valkyriefb_init()
372 p->frame_buffer = __ioremap(frame_buffer_phys, p->total_vram, flags); in valkyriefb_init()
373 p->cmap_regs_phys = cmap_regs_phys; in valkyriefb_init()
374 p->cmap_regs = ioremap(p->cmap_regs_phys, 0x1000); in valkyriefb_init()
375 p->valkyrie_regs_phys = cmap_regs_phys+0x6000; in valkyriefb_init()
376 p->valkyrie_regs = ioremap(p->valkyrie_regs_phys, 0x1000); in valkyriefb_init()
378 if (p->frame_buffer == NULL || p->cmap_regs == NULL in valkyriefb_init()
379 || p->valkyrie_regs == NULL) { in valkyriefb_init()
384 valkyrie_choose_mode(p); in valkyriefb_init()
385 mac_vmode_to_var(default_vmode, default_cmode, &p->info.var); in valkyriefb_init()
386 err = valkyrie_init_info(&p->info, p); in valkyriefb_init()
389 valkyrie_init_fix(&p->info.fix, p); in valkyriefb_init()
390 if (valkyriefb_set_par(&p->info)) in valkyriefb_init()
394 if ((err = register_framebuffer(&p->info)) != 0) in valkyriefb_init()
397 fb_info(&p->info, "valkyrie frame buffer device\n"); in valkyriefb_init()
401 fb_dealloc_cmap(&p->info.cmap); in valkyriefb_init()
403 if (p->frame_buffer) in valkyriefb_init()
404 iounmap(p->frame_buffer); in valkyriefb_init()
405 if (p->cmap_regs) in valkyriefb_init()
406 iounmap(p->cmap_regs); in valkyriefb_init()
407 if (p->valkyrie_regs) in valkyriefb_init()
408 iounmap(p->valkyrie_regs); in valkyriefb_init()
409 kfree(p); in valkyriefb_init()
416 static int read_valkyrie_sense(struct fb_info_valkyrie *p) in read_valkyrie_sense() argument
420 out_8(&p->valkyrie_regs->msense.r, 0); /* release all lines */ in read_valkyrie_sense()
422 sense = ((in = in_8(&p->valkyrie_regs->msense.r)) & 0x70) << 4; in read_valkyrie_sense()
424 out_8(&p->valkyrie_regs->msense.r, 4); /* drive A low */ in read_valkyrie_sense()
426 sense |= ((in = in_8(&p->valkyrie_regs->msense.r)) & 0x30); in read_valkyrie_sense()
427 out_8(&p->valkyrie_regs->msense.r, 2); /* drive B low */ in read_valkyrie_sense()
429 sense |= ((in = in_8(&p->valkyrie_regs->msense.r)) & 0x40) >> 3; in read_valkyrie_sense()
431 out_8(&p->valkyrie_regs->msense.r, 1); /* drive C low */ in read_valkyrie_sense()
433 sense |= ((in = in_8(&p->valkyrie_regs->msense.r)) & 0x60) >> 5; in read_valkyrie_sense()
435 out_8(&p->valkyrie_regs->msense.r, 7); in read_valkyrie_sense()
471 struct fb_info_valkyrie *p = in valkyrie_var_to_par() local
503 if (valkyrie_vram_reqd(vmode, cmode) > p->total_vram) { in valkyrie_var_to_par()
520 static void valkyrie_init_fix(struct fb_fix_screeninfo *fix, struct fb_info_valkyrie *p) in valkyrie_init_fix() argument
524 fix->mmio_start = p->valkyrie_regs_phys; in valkyrie_init_fix()
527 fix->smem_start = p->frame_buffer_phys + 0x1000; in valkyrie_init_fix()
528 fix->smem_len = p->total_vram; in valkyrie_init_fix()
549 struct fb_info_valkyrie *p) in valkyrie_init_info() argument
552 info->screen_base = p->frame_buffer + 0x1000; in valkyrie_init_info()
554 info->pseudo_palette = p->pseudo_palette; in valkyrie_init_info()
555 info->par = &p->par; in valkyrie_init_info()