Lines Matching refs:par

140 #define readreg(par, reg)	readl((par)->regs + (reg))  argument
141 #define writereg(par, reg, val) writel((val), (par)->regs + (reg)) argument
235 static int calc_pll(int period_ps, struct gxt4500_par *par) in calc_pll() argument
253 intf = m * par->refclk_ps; in calc_pll()
259 t = par->refclk_ps * m * postdiv / n; in calc_pll()
262 par->pll_m = m; in calc_pll()
263 par->pll_n = n; in calc_pll()
264 par->pll_pd1 = pdiv1; in calc_pll()
265 par->pll_pd2 = pdiv2; in calc_pll()
276 static int calc_pixclock(struct gxt4500_par *par) in calc_pixclock() argument
278 return par->refclk_ps * par->pll_m * par->pll_pd1 * par->pll_pd2 in calc_pixclock()
279 / par->pll_n; in calc_pixclock()
283 struct gxt4500_par *par) in gxt4500_var_to_par() argument
292 if (calc_pll(var->pixclock, par) < 0) in gxt4500_var_to_par()
298 par->pixfmt = DFA_PIX_32BIT; in gxt4500_var_to_par()
300 par->pixfmt = DFA_PIX_24BIT; in gxt4500_var_to_par()
303 par->pixfmt = DFA_PIX_24BIT; in gxt4500_var_to_par()
307 par->pixfmt = DFA_PIX_16BIT_1555; in gxt4500_var_to_par()
309 par->pixfmt = DFA_PIX_16BIT_565; in gxt4500_var_to_par()
312 par->pixfmt = DFA_PIX_8BIT; in gxt4500_var_to_par()
361 struct gxt4500_par par; in gxt4500_check_var() local
364 par = *(struct gxt4500_par *)info->par; in gxt4500_check_var()
365 err = gxt4500_var_to_par(var, &par); in gxt4500_check_var()
367 var->pixclock = calc_pixclock(&par); in gxt4500_check_var()
368 gxt4500_unpack_pixfmt(var, par.pixfmt); in gxt4500_check_var()
375 struct gxt4500_par *par = info->par; in gxt4500_set_par() local
384 save_par = *par; in gxt4500_set_par()
385 err = gxt4500_var_to_par(var, par); in gxt4500_set_par()
387 *par = save_par; in gxt4500_set_par()
392 ctrlreg = readreg(par, DTG_CONTROL); in gxt4500_set_par()
394 writereg(par, DTG_CONTROL, ctrlreg); in gxt4500_set_par()
397 tmp = readreg(par, PLL_C) & ~0x7f; in gxt4500_set_par()
398 if (par->pll_n < 38) in gxt4500_set_par()
400 if (par->pll_n < 69) in gxt4500_set_par()
402 else if (par->pll_n < 100) in gxt4500_set_par()
406 writereg(par, PLL_C, tmp); in gxt4500_set_par()
407 writereg(par, PLL_M, mdivtab[par->pll_m - 1]); in gxt4500_set_par()
408 writereg(par, PLL_N, ndivtab[par->pll_n - 2]); in gxt4500_set_par()
409 tmp = ((8 - par->pll_pd2) << 3) | (8 - par->pll_pd1); in gxt4500_set_par()
410 if (par->pll_pd1 == 8 || par->pll_pd2 == 8) { in gxt4500_set_par()
412 writereg(par, PLL_POSTDIV, tmp | 0x9); in gxt4500_set_par()
415 writereg(par, PLL_POSTDIV, tmp); in gxt4500_set_par()
419 writereg(par, CURSOR_MODE, CURSOR_MODE_OFF); in gxt4500_set_par()
422 writereg(par, CTRL_REG0, CR0_RASTER_RESET | (CR0_RASTER_RESET << 16)); in gxt4500_set_par()
424 writereg(par, CTRL_REG0, CR0_RASTER_RESET << 16); in gxt4500_set_par()
429 writereg(par, DTG_HORIZ_EXTENT, htot - 1); in gxt4500_set_par()
430 writereg(par, DTG_HORIZ_DISPLAY, var->xres - 1); in gxt4500_set_par()
431 writereg(par, DTG_HSYNC_START, var->xres + var->right_margin - 1); in gxt4500_set_par()
432 writereg(par, DTG_HSYNC_END, in gxt4500_set_par()
434 writereg(par, DTG_HSYNC_END_COMP, in gxt4500_set_par()
436 writereg(par, DTG_VERT_EXTENT, in gxt4500_set_par()
439 writereg(par, DTG_VERT_DISPLAY, var->yres - 1); in gxt4500_set_par()
440 writereg(par, DTG_VSYNC_START, var->yres + var->lower_margin - 1); in gxt4500_set_par()
441 writereg(par, DTG_VSYNC_END, in gxt4500_set_par()
446 writereg(par, DTG_VERT_SHORT, htot - prefetch_pix - 1); in gxt4500_set_par()
448 writereg(par, DTG_CONTROL, ctrlreg); in gxt4500_set_par()
466 writereg(par, FB_AB_CTRL, FB_CTRL_TYPE | (wid_tiles << 16) | 0); in gxt4500_set_par()
467 writereg(par, REFRESH_AB_CTRL, FB_CTRL_TYPE | (wid_tiles << 16) | 0); in gxt4500_set_par()
468 writereg(par, FB_CD_CTRL, FB_CTRL_TYPE | (wid_tiles << 16) | 0); in gxt4500_set_par()
469 writereg(par, REFRESH_CD_CTRL, FB_CTRL_TYPE | (wid_tiles << 16) | 0); in gxt4500_set_par()
470 writereg(par, REFRESH_START, (var->xoffset << 16) | var->yoffset); in gxt4500_set_par()
471 writereg(par, REFRESH_SIZE, (var->xres << 16) | var->yres); in gxt4500_set_par()
475 pixfmt = par->pixfmt; in gxt4500_set_par()
477 writereg(par, DFA_FB_A, dfa_ctl); in gxt4500_set_par()
485 writereg(par, WAT_FMT + (i << 4), watfmt[pixfmt]); in gxt4500_set_par()
486 writereg(par, WAT_CMAP_OFFSET + (i << 4), 0); in gxt4500_set_par()
487 writereg(par, WAT_CTRL + (i << 4), 0); in gxt4500_set_par()
488 writereg(par, WAT_GAMMA_CTRL + (i << 4), WAT_GAMMA_DISABLE); in gxt4500_set_par()
492 ctrlreg = readreg(par, SYNC_CTL) & in gxt4500_set_par()
501 writereg(par, SYNC_CTL, ctrlreg); in gxt4500_set_par()
515 struct gxt4500_par *par = info->par; in gxt4500_setcolreg() local
521 writereg(par, CMAP + reg * 4, cmap_entry); in gxt4500_setcolreg()
523 if (reg < 16 && par->pixfmt != DFA_PIX_8BIT) { in gxt4500_setcolreg()
526 switch (par->pixfmt) { in gxt4500_setcolreg()
549 struct gxt4500_par *par = info->par; in gxt4500_pan_display() local
557 writereg(par, REFRESH_START, (var->xoffset << 16) | var->yoffset); in gxt4500_pan_display()
563 struct gxt4500_par *par = info->par; in gxt4500_blank() local
566 ctrl = readreg(par, SYNC_CTL); in gxt4500_blank()
568 dctl = readreg(par, DISP_CTL); in gxt4500_blank()
585 writereg(par, SYNC_CTL, ctrl); in gxt4500_blank()
586 writereg(par, DISP_CTL, dctl); in gxt4500_blank()
617 struct gxt4500_par *par; in gxt4500_probe() local
648 par = info->par; in gxt4500_probe()
650 par->refclk_ps = cardinfo[cardtype].refclk_ps; in gxt4500_probe()
654 info->pseudo_palette = par->pseudo_palette; in gxt4500_probe()
657 par->regs = pci_ioremap_bar(pdev, 0); in gxt4500_probe()
658 if (!par->regs) { in gxt4500_probe()
710 iounmap(par->regs); in gxt4500_probe()
724 struct gxt4500_par *par; in gxt4500_remove() local
728 par = info->par; in gxt4500_remove()
731 iounmap(par->regs); in gxt4500_remove()