Lines Matching defs:par
141 #define readreg(par, reg) readl((par)->regs + (reg))
142 #define writereg(par, reg, val) writel((val), (par)->regs + (reg))
236 static int calc_pll(int period_ps, struct gxt4500_par *par)
254 intf = m * par->refclk_ps;
260 t = par->refclk_ps * m * postdiv / n;
263 par->pll_m = m;
264 par->pll_n = n;
265 par->pll_pd1 = pdiv1;
266 par->pll_pd2 = pdiv2;
277 static int calc_pixclock(struct gxt4500_par *par)
279 return par->refclk_ps * par->pll_m * par->pll_pd1 * par->pll_pd2
280 / par->pll_n;
284 struct gxt4500_par *par)
293 if (calc_pll(var->pixclock, par) < 0)
299 par->pixfmt = DFA_PIX_32BIT;
301 par->pixfmt = DFA_PIX_24BIT;
304 par->pixfmt = DFA_PIX_24BIT;
308 par->pixfmt = DFA_PIX_16BIT_1555;
310 par->pixfmt = DFA_PIX_16BIT_565;
313 par->pixfmt = DFA_PIX_8BIT;
363 struct gxt4500_par par;
366 par = *(struct gxt4500_par *)info->par;
367 err = gxt4500_var_to_par(var, &par);
369 var->pixclock = calc_pixclock(&par);
370 gxt4500_unpack_pixfmt(var, par.pixfmt);
377 struct gxt4500_par *par = info->par;
386 save_par = *par;
387 err = gxt4500_var_to_par(var, par);
389 *par = save_par;
394 ctrlreg = readreg(par, DTG_CONTROL);
396 writereg(par, DTG_CONTROL, ctrlreg);
399 tmp = readreg(par, PLL_C) & ~0x7f;
400 if (par->pll_n < 38)
402 if (par->pll_n < 69)
404 else if (par->pll_n < 100)
408 writereg(par, PLL_C, tmp);
409 writereg(par, PLL_M, mdivtab[par->pll_m - 1]);
410 writereg(par, PLL_N, ndivtab[par->pll_n - 2]);
411 tmp = ((8 - par->pll_pd2) << 3) | (8 - par->pll_pd1);
412 if (par->pll_pd1 == 8 || par->pll_pd2 == 8) {
414 writereg(par, PLL_POSTDIV, tmp | 0x9);
417 writereg(par, PLL_POSTDIV, tmp);
421 writereg(par, CURSOR_MODE, CURSOR_MODE_OFF);
424 writereg(par, CTRL_REG0, CR0_RASTER_RESET | (CR0_RASTER_RESET << 16));
426 writereg(par, CTRL_REG0, CR0_RASTER_RESET << 16);
431 writereg(par, DTG_HORIZ_EXTENT, htot - 1);
432 writereg(par, DTG_HORIZ_DISPLAY, var->xres - 1);
433 writereg(par, DTG_HSYNC_START, var->xres + var->right_margin - 1);
434 writereg(par, DTG_HSYNC_END,
436 writereg(par, DTG_HSYNC_END_COMP,
438 writereg(par, DTG_VERT_EXTENT,
441 writereg(par, DTG_VERT_DISPLAY, var->yres - 1);
442 writereg(par, DTG_VSYNC_START, var->yres + var->lower_margin - 1);
443 writereg(par, DTG_VSYNC_END,
448 writereg(par, DTG_VERT_SHORT, htot - prefetch_pix - 1);
450 writereg(par, DTG_CONTROL, ctrlreg);
468 writereg(par, FB_AB_CTRL, FB_CTRL_TYPE | (wid_tiles << 16) | 0);
469 writereg(par, REFRESH_AB_CTRL, FB_CTRL_TYPE | (wid_tiles << 16) | 0);
470 writereg(par, FB_CD_CTRL, FB_CTRL_TYPE | (wid_tiles << 16) | 0);
471 writereg(par, REFRESH_CD_CTRL, FB_CTRL_TYPE | (wid_tiles << 16) | 0);
472 writereg(par, REFRESH_START, (var->xoffset << 16) | var->yoffset);
473 writereg(par, REFRESH_SIZE, (var->xres << 16) | var->yres);
477 pixfmt = par->pixfmt;
479 writereg(par, DFA_FB_A, dfa_ctl);
487 writereg(par, WAT_FMT + (i << 4), watfmt[pixfmt]);
488 writereg(par, WAT_CMAP_OFFSET + (i << 4), 0);
489 writereg(par, WAT_CTRL + (i << 4), 0);
490 writereg(par, WAT_GAMMA_CTRL + (i << 4), WAT_GAMMA_DISABLE);
494 ctrlreg = readreg(par, SYNC_CTL) &
503 writereg(par, SYNC_CTL, ctrlreg);
517 struct gxt4500_par *par = info->par;
523 writereg(par, CMAP + reg * 4, cmap_entry);
525 if (reg < 16 && par->pixfmt != DFA_PIX_8BIT) {
528 switch (par->pixfmt) {
551 struct gxt4500_par *par = info->par;
559 writereg(par, REFRESH_START, (var->xoffset << 16) | var->yoffset);
565 struct gxt4500_par *par = info->par;
568 ctrl = readreg(par, SYNC_CTL);
570 dctl = readreg(par, DISP_CTL);
587 writereg(par, SYNC_CTL, ctrl);
588 writereg(par, DISP_CTL, dctl);
619 struct gxt4500_par *par;
649 par = info->par;
651 par->refclk_ps = cardinfo[cardtype].refclk_ps;
655 info->pseudo_palette = par->pseudo_palette;
658 par->regs = pci_ioremap_bar(pdev, 0);
659 if (!par->regs) {
674 par->wc_cookie = arch_phys_wc_add(info->fix.smem_start,
722 iounmap(par->regs);
736 struct gxt4500_par *par;
740 par = info->par;
742 arch_phys_wc_del(par->wc_cookie);
744 iounmap(par->regs);