• Home
  • Raw
  • Download

Lines Matching +full:ati +full:- +full:target

4  * Frame Buffer Device for ATI Imageon w100 (Wallaby)
6 * Copyright (C) 2002, ATI Corp.
7 * Copyright (C) 2004-2006 Richard Purdie
86 struct w100fb_par *par=info->par; in flip_show()
88 return sprintf(buf, "%d\n",par->flip); in flip_show()
95 struct w100fb_par *par=info->par; in flip_store()
100 par->flip = 1; in flip_store()
102 par->flip = 0; in flip_store()
145 struct w100fb_par *par=info->par; in fastpllclk_show()
147 return sprintf(buf, "%d\n",par->fastpll_mode); in fastpllclk_show()
153 struct w100fb_par *par=info->par; in fastpllclk_store()
156 par->fastpll_mode=1; in fastpllclk_store()
159 par->fastpll_mode=0; in fastpllclk_store()
178 struct w100fb_par *par=info->par; in w100fb_get_hsynclen()
181 if (par->blanked) in w100fb_get_hsynclen()
184 return par->hsync_len; in w100fb_get_hsynclen()
190 …memset_io(remapped_fbuf + (W100_FB_BASE-MEM_WINDOW_BASE), 0, (par->xres * par->yres * BITS_PER_PIX… in w100fb_clear_screen()
207 if (info->var.grayscale) in w100fb_setcolreg()
211 * 16-bit True Colour. We encode the RGB value in w100fb_setcolreg()
215 u32 *pal = info->pseudo_palette; in w100fb_setcolreg()
230 struct w100fb_par *par = info->par; in w100fb_blank()
231 struct w100_tg_info *tg = par->mach->tg; in w100fb_blank()
239 if (par->blanked == 0) { in w100fb_blank()
240 if(tg && tg->suspend) in w100fb_blank()
241 tg->suspend(par); in w100fb_blank()
242 par->blanked = 1; in w100fb_blank()
247 if (par->blanked != 0) { in w100fb_blank()
248 if(tg && tg->resume) in w100fb_blank()
249 tg->resume(par); in w100fb_blank()
250 par->blanked = 0; in w100fb_blank()
285 return -EBUSY; in w100fb_sync()
298 writel(par->xres, remapped_regs + mmDST_PITCH); in w100_init_graphic_engine()
300 writel(par->xres, remapped_regs + mmSRC_PITCH); in w100_init_graphic_engine()
304 writel((par->yres << 16) | par->xres, remapped_regs + mmSC_BOTTOM_RIGHT); in w100_init_graphic_engine()
356 if (info->state != FBINFO_STATE_RUNNING) in w100fb_fillrect()
358 if (info->flags & FBINFO_HWACCEL_DISABLED) { in w100fb_fillrect()
368 writel(rect->color, remapped_regs + mmDP_BRUSH_FRGD_CLR); in w100fb_fillrect()
371 writel((rect->dy << 16) | (rect->dx & 0xffff), remapped_regs + mmDST_Y_X); in w100fb_fillrect()
372 writel((rect->width << 16) | (rect->height & 0xffff), in w100fb_fillrect()
380 u32 dx = area->dx, dy = area->dy, sx = area->sx, sy = area->sy; in w100fb_copyarea()
381 u32 h = area->height, w = area->width; in w100fb_copyarea()
384 if (info->state != FBINFO_STATE_RUNNING) in w100fb_copyarea()
386 if (info->flags & FBINFO_HWACCEL_DISABLED) { in w100fb_copyarea()
409 struct w100_tg_info *tg = par->mach->tg; in w100fb_activate_var()
425 if (!par->blanked && tg && tg->change) in w100fb_activate_var()
426 tg->change(par); in w100fb_activate_var()
437 struct w100_mode *modelist = par->mach->modelist; in w100fb_get_mode()
441 for (i = 0 ; i < par->mach->num_modes ; i++) { in w100fb_get_mode()
467 * if it's too big, return -EINVAL.
471 struct w100fb_par *par=info->par; in w100fb_check_var()
473 if(!w100fb_get_mode(par, &var->xres, &var->yres, 1)) in w100fb_check_var()
474 return -EINVAL; in w100fb_check_var()
476 if (par->mach->mem && ((var->xres*var->yres*BITS_PER_PIXEL/8) > (par->mach->mem->size+1))) in w100fb_check_var()
477 return -EINVAL; in w100fb_check_var()
479 if (!par->mach->mem && ((var->xres*var->yres*BITS_PER_PIXEL/8) > (MEM_INT_SIZE+1))) in w100fb_check_var()
480 return -EINVAL; in w100fb_check_var()
482 var->xres_virtual = max(var->xres_virtual, var->xres); in w100fb_check_var()
483 var->yres_virtual = max(var->yres_virtual, var->yres); in w100fb_check_var()
485 if (var->bits_per_pixel > BITS_PER_PIXEL) in w100fb_check_var()
486 return -EINVAL; in w100fb_check_var()
488 var->bits_per_pixel = BITS_PER_PIXEL; in w100fb_check_var()
490 var->red.offset = 11; in w100fb_check_var()
491 var->red.length = 5; in w100fb_check_var()
492 var->green.offset = 5; in w100fb_check_var()
493 var->green.length = 6; in w100fb_check_var()
494 var->blue.offset = 0; in w100fb_check_var()
495 var->blue.length = 5; in w100fb_check_var()
496 var->transp.offset = var->transp.length = 0; in w100fb_check_var()
498 var->nonstd = 0; in w100fb_check_var()
499 var->height = -1; in w100fb_check_var()
500 var->width = -1; in w100fb_check_var()
501 var->vmode = FB_VMODE_NONINTERLACED; in w100fb_check_var()
502 var->sync = 0; in w100fb_check_var()
503 var->pixclock = 0x04; /* 171521; */ in w100fb_check_var()
516 struct w100fb_par *par=info->par; in w100fb_set_par()
518 if (par->xres != info->var.xres || par->yres != info->var.yres) { in w100fb_set_par()
519 par->xres = info->var.xres; in w100fb_set_par()
520 par->yres = info->var.yres; in w100fb_set_par()
521 par->mode = w100fb_get_mode(par, &par->xres, &par->yres, 0); in w100fb_set_par()
523 info->fix.visual = FB_VISUAL_TRUECOLOR; in w100fb_set_par()
524 info->fix.ypanstep = 0; in w100fb_set_par()
525 info->fix.ywrapstep = 0; in w100fb_set_par()
526 info->fix.line_length = par->xres * BITS_PER_PIXEL / 8; in w100fb_set_par()
528 mutex_lock(&info->mm_lock); in w100fb_set_par()
529 if ((par->xres*par->yres*BITS_PER_PIXEL/8) > (MEM_INT_SIZE+1)) { in w100fb_set_par()
530 par->extmem_active = 1; in w100fb_set_par()
531 info->fix.smem_len = par->mach->mem->size+1; in w100fb_set_par()
533 par->extmem_active = 0; in w100fb_set_par()
534 info->fix.smem_len = MEM_INT_SIZE+1; in w100fb_set_par()
536 mutex_unlock(&info->mm_lock); in w100fb_set_par()
564 if (par->extmem_active) { in w100fb_save_vidmem()
565 memsize=par->mach->mem->size; in w100fb_save_vidmem()
566 par->saved_extmem = vmalloc(memsize); in w100fb_save_vidmem()
567 if (par->saved_extmem) in w100fb_save_vidmem()
568 memcpy_fromio(par->saved_extmem, remapped_fbuf + (W100_FB_BASE-MEM_WINDOW_BASE), memsize); in w100fb_save_vidmem()
571 par->saved_intmem = vmalloc(memsize); in w100fb_save_vidmem()
572 if (par->saved_intmem && par->extmem_active) in w100fb_save_vidmem()
573 memcpy_fromio(par->saved_intmem, remapped_fbuf + (W100_FB_BASE-MEM_INT_BASE_VALUE), memsize); in w100fb_save_vidmem()
574 else if (par->saved_intmem) in w100fb_save_vidmem()
575 memcpy_fromio(par->saved_intmem, remapped_fbuf + (W100_FB_BASE-MEM_WINDOW_BASE), memsize); in w100fb_save_vidmem()
582 if (par->extmem_active && par->saved_extmem) { in w100fb_restore_vidmem()
583 memsize=par->mach->mem->size; in w100fb_restore_vidmem()
584 memcpy_toio(remapped_fbuf + (W100_FB_BASE-MEM_WINDOW_BASE), par->saved_extmem, memsize); in w100fb_restore_vidmem()
585 vfree(par->saved_extmem); in w100fb_restore_vidmem()
586 par->saved_extmem = NULL; in w100fb_restore_vidmem()
588 if (par->saved_intmem) { in w100fb_restore_vidmem()
590 if (par->extmem_active) in w100fb_restore_vidmem()
591 memcpy_toio(remapped_fbuf + (W100_FB_BASE-MEM_INT_BASE_VALUE), par->saved_intmem, memsize); in w100fb_restore_vidmem()
593 memcpy_toio(remapped_fbuf + (W100_FB_BASE-MEM_WINDOW_BASE), par->saved_intmem, memsize); in w100fb_restore_vidmem()
594 vfree(par->saved_intmem); in w100fb_restore_vidmem()
595 par->saved_intmem = NULL; in w100fb_restore_vidmem()
602 struct w100fb_par *par=info->par; in w100fb_suspend()
603 struct w100_tg_info *tg = par->mach->tg; in w100fb_suspend()
606 if(tg && tg->suspend) in w100fb_suspend()
607 tg->suspend(par); in w100fb_suspend()
609 par->blanked = 1; in w100fb_suspend()
617 struct w100fb_par *par=info->par; in w100fb_resume()
618 struct w100_tg_info *tg = par->mach->tg; in w100fb_resume()
623 if(tg && tg->resume) in w100fb_resume()
624 tg->resume(par); in w100fb_resume()
625 par->blanked = 0; in w100fb_resume()
637 int err = -EIO; in w100fb_probe()
645 return -EINVAL; in w100fb_probe()
648 remapped_base = ioremap_nocache(mem->start+W100_CFG_BASE, W100_CFG_LEN); in w100fb_probe()
653 remapped_regs = ioremap_nocache(mem->start+W100_REG_BASE, W100_REG_LEN); in w100fb_probe()
666 err = -ENODEV; in w100fb_probe()
669 printk(" at 0x%08lx.\n", (unsigned long) mem->start+W100_CFG_BASE); in w100fb_probe()
672 remapped_fbuf = ioremap_nocache(mem->start+MEM_WINDOW_BASE, MEM_WINDOW_SIZE); in w100fb_probe()
676 info=framebuffer_alloc(sizeof(struct w100fb_par), &pdev->dev); in w100fb_probe()
678 err = -ENOMEM; in w100fb_probe()
682 par = info->par; in w100fb_probe()
685 inf = dev_get_platdata(&pdev->dev); in w100fb_probe()
686 par->chip_id = chip_id; in w100fb_probe()
687 par->mach = inf; in w100fb_probe()
688 par->fastpll_mode = 0; in w100fb_probe()
689 par->blanked = 0; in w100fb_probe()
691 par->pll_table=w100_get_xtal_table(inf->xtal_freq); in w100fb_probe()
692 if (!par->pll_table) { in w100fb_probe()
694 err = -EINVAL; in w100fb_probe()
698 info->pseudo_palette = kmalloc_array(MAX_PALETTES, sizeof(u32), in w100fb_probe()
700 if (!info->pseudo_palette) { in w100fb_probe()
701 err = -ENOMEM; in w100fb_probe()
705 info->fbops = &w100fb_ops; in w100fb_probe()
706 info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_COPYAREA | in w100fb_probe()
708 info->node = -1; in w100fb_probe()
709 info->screen_base = remapped_fbuf + (W100_FB_BASE-MEM_WINDOW_BASE); in w100fb_probe()
710 info->screen_size = REMAPPED_FB_LEN; in w100fb_probe()
712 strcpy(info->fix.id, "w100fb"); in w100fb_probe()
713 info->fix.type = FB_TYPE_PACKED_PIXELS; in w100fb_probe()
714 info->fix.type_aux = 0; in w100fb_probe()
715 info->fix.accel = FB_ACCEL_NONE; in w100fb_probe()
716 info->fix.smem_start = mem->start+W100_FB_BASE; in w100fb_probe()
717 info->fix.mmio_start = mem->start+W100_REG_BASE; in w100fb_probe()
718 info->fix.mmio_len = W100_REG_LEN; in w100fb_probe()
720 if (fb_alloc_cmap(&info->cmap, 256, 0) < 0) { in w100fb_probe()
721 err = -ENOMEM; in w100fb_probe()
725 par->mode = &inf->modelist[0]; in w100fb_probe()
726 if(inf->init_mode & INIT_MODE_ROTATED) { in w100fb_probe()
727 info->var.xres = par->mode->yres; in w100fb_probe()
728 info->var.yres = par->mode->xres; in w100fb_probe()
731 info->var.xres = par->mode->xres; in w100fb_probe()
732 info->var.yres = par->mode->yres; in w100fb_probe()
735 if(inf->init_mode &= INIT_MODE_FLIPPED) in w100fb_probe()
736 par->flip = 1; in w100fb_probe()
738 par->flip = 0; in w100fb_probe()
740 info->var.xres_virtual = info->var.xres; in w100fb_probe()
741 info->var.yres_virtual = info->var.yres; in w100fb_probe()
742 info->var.pixclock = 0x04; /* 171521; */ in w100fb_probe()
743 info->var.sync = 0; in w100fb_probe()
744 info->var.grayscale = 0; in w100fb_probe()
745 info->var.xoffset = info->var.yoffset = 0; in w100fb_probe()
746 info->var.accel_flags = 0; in w100fb_probe()
747 info->var.activate = FB_ACTIVATE_NOW; in w100fb_probe()
751 if (w100fb_check_var(&info->var, info) < 0) { in w100fb_probe()
752 err = -EINVAL; in w100fb_probe()
757 err = -EINVAL; in w100fb_probe()
761 err = device_create_file(&pdev->dev, &dev_attr_fastpllclk); in w100fb_probe()
762 err |= device_create_file(&pdev->dev, &dev_attr_reg_read); in w100fb_probe()
763 err |= device_create_file(&pdev->dev, &dev_attr_reg_write); in w100fb_probe()
764 err |= device_create_file(&pdev->dev, &dev_attr_flip); in w100fb_probe()
769 fb_info(info, "%s frame buffer device\n", info->fix.id); in w100fb_probe()
773 fb_dealloc_cmap(&info->cmap); in w100fb_probe()
774 kfree(info->pseudo_palette); in w100fb_probe()
791 struct w100fb_par *par=info->par; in w100fb_remove()
793 device_remove_file(&pdev->dev, &dev_attr_fastpllclk); in w100fb_remove()
794 device_remove_file(&pdev->dev, &dev_attr_reg_read); in w100fb_remove()
795 device_remove_file(&pdev->dev, &dev_attr_reg_write); in w100fb_remove()
796 device_remove_file(&pdev->dev, &dev_attr_flip); in w100fb_remove()
800 vfree(par->saved_intmem); in w100fb_remove()
801 vfree(par->saved_extmem); in w100fb_remove()
802 kfree(info->pseudo_palette); in w100fb_remove()
803 fb_dealloc_cmap(&info->cmap); in w100fb_remove()
815 /* ------------------- chipset specific functions -------------------------- */
886 struct w100_gpio_regs *gpio = par->mach->gpio; in w100_hw_init()
959 writel(gpio->init_data1, remapped_regs + mmGPIO_DATA); in w100_hw_init()
960 writel(gpio->init_data2, remapped_regs + mmGPIO_DATA2); in w100_hw_init()
961 writel(gpio->gpio_dir1, remapped_regs + mmGPIO_CNTL1); in w100_hw_init()
962 writel(gpio->gpio_oe1, remapped_regs + mmGPIO_CNTL2); in w100_hw_init()
963 writel(gpio->gpio_dir2, remapped_regs + mmGPIO_CNTL3); in w100_hw_init()
964 writel(gpio->gpio_oe2, remapped_regs + mmGPIO_CNTL4); in w100_hw_init()
1031 if (freq == pll_entry->xtal_freq) in w100_get_xtal_table()
1032 return pll_entry->pll_table; in w100_get_xtal_table()
1034 } while (pll_entry->xtal_freq); in w100_get_xtal_table()
1078 w100_pwr_state.pll_cntl.f.pll_tcpoff = 0x1; /* Hi-Z */ in w100_pll_adjust()
1094 if (tf80 >= (pll->tfgoal)) { in w100_pll_adjust()
1100 if (tf20 <= (pll->tfgoal)) in w100_pll_adjust()
1145 /* set VCO input = Hi-Z, disable DAC */ in w100_pll_calibration()
1172 w100_pwr_state.pll_ref_fb_div.f.pll_ref_div = pll->M; in w100_pll_set_clk()
1173 w100_pwr_state.pll_ref_fb_div.f.pll_fb_div_int = pll->N_int; in w100_pll_set_clk()
1174 w100_pwr_state.pll_ref_fb_div.f.pll_fb_div_frac = pll->N_fac; in w100_pll_set_clk()
1175 w100_pwr_state.pll_ref_fb_div.f.pll_lock_time = pll->lock_time; in w100_pll_set_clk()
1192 /* freq = target frequency of the PLL */
1195 struct w100_pll_info *pll = par->pll_table; in w100_set_pll_freq()
1198 if (freq == pll->freq) { in w100_set_pll_freq()
1202 } while(pll->freq); in w100_set_pll_freq()
1214 w100_pwr_state.clk_pin_cntl.f.xtalin_dbl_en = par->mach->xtal_dbl ? 1 : 0; in w100_pwm_setup()
1263 w100_pwr_state.pll_cntl.f.pll_dactal = 0x0; /* Hi-Z */ in w100_pwm_setup()
1290 struct w100_mode *mode = par->mode; in w100_init_clocks()
1292 if (mode->pixclk_src == CLK_SRC_PLL || mode->sysclk_src == CLK_SRC_PLL) in w100_init_clocks()
1293 …w100_set_pll_freq(par, (par->fastpll_mode && mode->fast_pll_freq) ? mode->fast_pll_freq : mode->pl… in w100_init_clocks()
1295 w100_pwr_state.sclk_cntl.f.sclk_src_sel = mode->sysclk_src; in w100_init_clocks()
1296 w100_pwr_state.sclk_cntl.f.sclk_post_div_fast = mode->sysclk_divider; in w100_init_clocks()
1297 w100_pwr_state.sclk_cntl.f.sclk_post_div_slow = mode->sysclk_divider; in w100_init_clocks()
1304 struct w100_mode *mode = par->mode; in w100_init_lcd()
1305 struct w100_gen_regs *regs = par->mach->regs; in w100_init_lcd()
1315 active_h_disp.f.active_h_start=mode->left_margin; in w100_init_lcd()
1316 active_h_disp.f.active_h_end=mode->left_margin + mode->xres; in w100_init_lcd()
1320 active_v_disp.f.active_v_start=mode->upper_margin; in w100_init_lcd()
1321 active_v_disp.f.active_v_end=mode->upper_margin + mode->yres; in w100_init_lcd()
1325 graphic_h_disp.f.graphic_h_start=mode->left_margin; in w100_init_lcd()
1326 graphic_h_disp.f.graphic_h_end=mode->left_margin + mode->xres; in w100_init_lcd()
1330 graphic_v_disp.f.graphic_v_start=mode->upper_margin; in w100_init_lcd()
1331 graphic_v_disp.f.graphic_v_end=mode->upper_margin + mode->yres; in w100_init_lcd()
1335 crtc_total.f.crtc_h_total=mode->left_margin + mode->xres + mode->right_margin; in w100_init_lcd()
1336 crtc_total.f.crtc_v_total=mode->upper_margin + mode->yres + mode->lower_margin; in w100_init_lcd()
1339 writel(mode->crtc_ss, remapped_regs + mmCRTC_SS); in w100_init_lcd()
1340 writel(mode->crtc_ls, remapped_regs + mmCRTC_LS); in w100_init_lcd()
1341 writel(mode->crtc_gs, remapped_regs + mmCRTC_GS); in w100_init_lcd()
1342 writel(mode->crtc_vpos_gs, remapped_regs + mmCRTC_VPOS_GS); in w100_init_lcd()
1343 writel(mode->crtc_rev, remapped_regs + mmCRTC_REV); in w100_init_lcd()
1344 writel(mode->crtc_dclk, remapped_regs + mmCRTC_DCLK); in w100_init_lcd()
1345 writel(mode->crtc_gclk, remapped_regs + mmCRTC_GCLK); in w100_init_lcd()
1346 writel(mode->crtc_goe, remapped_regs + mmCRTC_GOE); in w100_init_lcd()
1347 writel(mode->crtc_ps1_active, remapped_regs + mmCRTC_PS1_ACTIVE); in w100_init_lcd()
1349 writel(regs->lcd_format, remapped_regs + mmLCD_FORMAT); in w100_init_lcd()
1350 writel(regs->lcdd_cntl1, remapped_regs + mmLCDD_CNTL1); in w100_init_lcd()
1351 writel(regs->lcdd_cntl2, remapped_regs + mmLCDD_CNTL2); in w100_init_lcd()
1352 writel(regs->genlcd_cntl1, remapped_regs + mmGENLCD_CNTL1); in w100_init_lcd()
1353 writel(regs->genlcd_cntl2, remapped_regs + mmGENLCD_CNTL2); in w100_init_lcd()
1354 writel(regs->genlcd_cntl3, remapped_regs + mmGENLCD_CNTL3); in w100_init_lcd()
1372 struct w100_mem_info *mem = par->mach->mem; in w100_setup_memory()
1373 struct w100_bm_mem_info *bm_mem = par->mach->bm_mem; in w100_setup_memory()
1375 if (!par->extmem_active) { in w100_setup_memory()
1383 /* Unmap External Memory - value is *probably* irrelevant but may have meaning in w100_setup_memory()
1386 extmem_location.f.mc_ext_mem_top = (MEM_EXT_BASE_VALUE-1) >> 8; in w100_setup_memory()
1396 extmem_location.f.mc_ext_mem_top = (W100_FB_BASE+par->mach->mem->size) >> 8; in w100_setup_memory()
1400 writel(mem->ext_cntl, remapped_regs + mmMEM_EXT_CNTL); in w100_setup_memory()
1405 writel(mem->sdram_mode_reg, remapped_regs + mmMEM_SDRAM_MODE_REG); in w100_setup_memory()
1407 writel(mem->ext_timing_cntl, remapped_regs + mmMEM_EXT_TIMING_CNTL); in w100_setup_memory()
1408 writel(mem->io_cntl, remapped_regs + mmMEM_IO_CNTL); in w100_setup_memory()
1410 writel(bm_mem->ext_mem_bw, remapped_regs + mmBM_EXT_MEM_BANDWIDTH); in w100_setup_memory()
1411 writel(bm_mem->offset, remapped_regs + mmBM_OFFSET); in w100_setup_memory()
1412 writel(bm_mem->ext_timing_ctl, remapped_regs + mmBM_MEM_EXT_TIMING_CNTL); in w100_setup_memory()
1413 writel(bm_mem->ext_cntl, remapped_regs + mmBM_MEM_EXT_CNTL); in w100_setup_memory()
1414 writel(bm_mem->mode_reg, remapped_regs + mmBM_MEM_MODE_REG); in w100_setup_memory()
1415 writel(bm_mem->io_cntl, remapped_regs + mmBM_MEM_IO_CNTL); in w100_setup_memory()
1416 writel(bm_mem->config, remapped_regs + mmBM_CONFIG); in w100_setup_memory()
1427 if (par->xres == par->mode->xres) { in w100_set_dispregs()
1428 if (par->flip) { in w100_set_dispregs()
1430 offset=(par->xres * par->yres) - 1; in w100_set_dispregs()
1432 divider = par->mode->pixclk_divider; in w100_set_dispregs()
1434 if (par->flip) { in w100_set_dispregs()
1436 offset=par->xres - 1; in w100_set_dispregs()
1439 offset=par->xres * (par->yres - 1); in w100_set_dispregs()
1441 divider = par->mode->pixclk_divider_rotated; in w100_set_dispregs()
1445 switch (par->chip_id) { in w100_set_dispregs()
1458 switch(par->xres) { in w100_set_dispregs()
1493 graphic_ctrl.f_w32xx.total_req_graphic=par->mode->xres >> 1; /* panel xres, not mode */ in w100_set_dispregs()
1499 w100_pwr_state.pclk_cntl.f.pclk_src_sel = par->mode->pixclk_src; in w100_set_dispregs()
1505 writel((par->xres*BITS_PER_PIXEL/8), remapped_regs + mmGRAPHIC_PITCH); in w100_set_dispregs()
1516 struct w100_mode *mode = par->mode; in calc_hsync()
1519 if (mode->pixclk_src == CLK_SRC_XTAL) in calc_hsync()
1520 hsync=par->mach->xtal_freq; in calc_hsync()
1522 hsync=((par->fastpll_mode && mode->fast_pll_freq) ? mode->fast_pll_freq : mode->pll_freq)*100000; in calc_hsync()
1528 par->hsync_len = hsync / (crtc_ss.f.ss_end-crtc_ss.f.ss_start); in calc_hsync()
1530 par->hsync_len = 0; in calc_hsync()
1553 /* CKE: Tri-State */ in w100_suspend()
1617 timeout--; in w100_vsync()
1639 MODULE_DESCRIPTION("ATI Imageon w100 framebuffer driver");