• Home
  • Raw
  • Download

Lines Matching refs:timing

40 	struct gbe_timing_info timing;  member
423 static void gbefb_setup_flatpanel(struct gbe_timing_info *timing) in gbefb_setup_flatpanel() argument
429 (timing->flags & FB_SYNC_HOR_HIGH_ACT) ? 0 : 1); in gbefb_setup_flatpanel()
431 (timing->flags & FB_SYNC_VERT_HIGH_ACT) ? 0 : 1); in gbefb_setup_flatpanel()
439 timing->pll_m = 4; in gbefb_setup_flatpanel()
440 timing->pll_n = 1; in gbefb_setup_flatpanel()
441 timing->pll_p = 0; in gbefb_setup_flatpanel()
468 struct gbe_timing_info *timing) in compute_gbe_timing() argument
516 if (timing) { in compute_gbe_timing()
517 timing->width = var->xres; in compute_gbe_timing()
518 timing->height = var->yres; in compute_gbe_timing()
519 timing->pll_m = best_m; in compute_gbe_timing()
520 timing->pll_n = best_n; in compute_gbe_timing()
521 timing->pll_p = best_p; in compute_gbe_timing()
522 timing->cfreq = gbe_pll->clock_rate * 1000 * timing->pll_m / in compute_gbe_timing()
523 (timing->pll_n << timing->pll_p); in compute_gbe_timing()
524 timing->htotal = var->left_margin + var->xres + in compute_gbe_timing()
526 timing->vtotal = var->upper_margin + var->yres + in compute_gbe_timing()
528 timing->fields_sec = 1000 * timing->cfreq / timing->htotal * in compute_gbe_timing()
529 1000 / timing->vtotal; in compute_gbe_timing()
530 timing->hblank_start = var->xres; in compute_gbe_timing()
531 timing->vblank_start = var->yres; in compute_gbe_timing()
532 timing->hblank_end = timing->htotal; in compute_gbe_timing()
533 timing->hsync_start = var->xres + var->right_margin + 1; in compute_gbe_timing()
534 timing->hsync_end = timing->hsync_start + var->hsync_len; in compute_gbe_timing()
535 timing->vblank_end = timing->vtotal; in compute_gbe_timing()
536 timing->vsync_start = var->yres + var->lower_margin + 1; in compute_gbe_timing()
537 timing->vsync_end = timing->vsync_start + var->vsync_len; in compute_gbe_timing()
543 static void gbe_set_timing_info(struct gbe_timing_info *timing) in gbe_set_timing_info() argument
550 SET_GBE_FIELD(DOTCLK, M, val, timing->pll_m - 1); in gbe_set_timing_info()
551 SET_GBE_FIELD(DOTCLK, N, val, timing->pll_n - 1); in gbe_set_timing_info()
552 SET_GBE_FIELD(DOTCLK, P, val, timing->pll_p); in gbe_set_timing_info()
559 SET_GBE_FIELD(VT_XYMAX, MAXX, val, timing->htotal); in gbe_set_timing_info()
560 SET_GBE_FIELD(VT_XYMAX, MAXY, val, timing->vtotal); in gbe_set_timing_info()
565 SET_GBE_FIELD(VT_VSYNC, VSYNC_ON, val, timing->vsync_start); in gbe_set_timing_info()
566 SET_GBE_FIELD(VT_VSYNC, VSYNC_OFF, val, timing->vsync_end); in gbe_set_timing_info()
569 SET_GBE_FIELD(VT_HSYNC, HSYNC_ON, val, timing->hsync_start); in gbe_set_timing_info()
570 SET_GBE_FIELD(VT_HSYNC, HSYNC_OFF, val, timing->hsync_end); in gbe_set_timing_info()
573 SET_GBE_FIELD(VT_VBLANK, VBLANK_ON, val, timing->vblank_start); in gbe_set_timing_info()
574 SET_GBE_FIELD(VT_VBLANK, VBLANK_OFF, val, timing->vblank_end); in gbe_set_timing_info()
578 timing->hblank_start - 5); in gbe_set_timing_info()
580 timing->hblank_end - 3); in gbe_set_timing_info()
585 SET_GBE_FIELD(VT_VCMAP, VCMAP_ON, val, timing->vblank_start); in gbe_set_timing_info()
586 SET_GBE_FIELD(VT_VCMAP, VCMAP_OFF, val, timing->vblank_end); in gbe_set_timing_info()
589 SET_GBE_FIELD(VT_HCMAP, HCMAP_ON, val, timing->hblank_start); in gbe_set_timing_info()
590 SET_GBE_FIELD(VT_HCMAP, HCMAP_OFF, val, timing->hblank_end); in gbe_set_timing_info()
594 temp = timing->vblank_start - timing->vblank_end - 1; in gbe_set_timing_info()
599 gbefb_setup_flatpanel(timing); in gbe_set_timing_info()
602 if (timing->hblank_end >= 20) in gbe_set_timing_info()
604 timing->hblank_end - 20); in gbe_set_timing_info()
607 timing->htotal - (20 - timing->hblank_end)); in gbe_set_timing_info()
612 if (timing->hblank_end >= GBE_CRS_MAGIC) in gbe_set_timing_info()
614 timing->hblank_end - GBE_CRS_MAGIC); in gbe_set_timing_info()
617 timing->htotal - (GBE_CRS_MAGIC - in gbe_set_timing_info()
618 timing->hblank_end)); in gbe_set_timing_info()
623 SET_GBE_FIELD(VC_START_XY, VC_STARTX, val, timing->hblank_end - 4); in gbe_set_timing_info()
627 temp = timing->hblank_end - GBE_PIXEN_MAGIC_ON; in gbe_set_timing_info()
629 temp += timing->htotal; /* allow blank to wrap around */ in gbe_set_timing_info()
633 ((temp + timing->width - in gbe_set_timing_info()
634 GBE_PIXEN_MAGIC_OFF) % timing->htotal)); in gbe_set_timing_info()
638 SET_GBE_FIELD(VT_VPIXEN, VPIXEN_ON, val, timing->vblank_end); in gbe_set_timing_info()
639 SET_GBE_FIELD(VT_VPIXEN, VPIXEN_OFF, val, timing->vblank_start); in gbe_set_timing_info()
662 compute_gbe_timing(&info->var, &par->timing); in gbefb_set_par()
666 xpmax = par->timing.width; in gbefb_set_par()
667 ypmax = par->timing.height; in gbefb_set_par()
673 gbe_set_timing_info(&par->timing); in gbefb_set_par()
915 struct gbe_timing_info timing; in gbefb_check_var() local
935 ret = compute_gbe_timing(var, &timing); in gbefb_check_var()
997 var->left_margin = timing.htotal - timing.hsync_end; in gbefb_check_var()
998 var->right_margin = timing.hsync_start - timing.width; in gbefb_check_var()
999 var->upper_margin = timing.vtotal - timing.vsync_end; in gbefb_check_var()
1000 var->lower_margin = timing.vsync_start - timing.height; in gbefb_check_var()
1001 var->hsync_len = timing.hsync_end - timing.hsync_start; in gbefb_check_var()
1002 var->vsync_len = timing.vsync_end - timing.vsync_start; in gbefb_check_var()