Lines Matching defs:mode

2  *  linux/drivers/video/modedb.c -- Standard video mode database management
34 * Standard video mode definitions (taken from XFree86)
536 * fb_try_mode - test a video mode
539 * @mode: frame buffer video mode structure
542 * Tries a video mode to test it's validity for device @info.
549 const struct fb_videomode *mode, unsigned int bpp)
553 DPRINTK("Trying mode %s %dx%d-%d@%d\n",
554 mode->name ? mode->name : "noname",
555 mode->xres, mode->yres, bpp, mode->refresh);
556 var->xres = mode->xres;
557 var->yres = mode->yres;
558 var->xres_virtual = mode->xres;
559 var->yres_virtual = mode->yres;
564 var->pixclock = mode->pixclock;
565 var->left_margin = mode->left_margin;
566 var->right_margin = mode->right_margin;
567 var->upper_margin = mode->upper_margin;
568 var->lower_margin = mode->lower_margin;
569 var->hsync_len = mode->hsync_len;
570 var->vsync_len = mode->vsync_len;
571 var->sync = mode->sync;
572 var->vmode = mode->vmode;
580 * fb_find_mode - finds a valid video mode
583 * @mode_option: string video mode to find
584 * @db: video mode database
586 * @default_mode: default video mode to fall back to
589 * Finds a suitable video mode, starting with the specified mode
591 * @default_mode fails, all modes in the video mode database will
594 * Valid mode specifiers for @mode_option::
609 * interlaced or progressive mode. If 'm' is present, add margins equal
620 * 3 if default mode is used, 4 if fall back to any valid mode.
644 /* Did the user specify a video mode? */
731 DPRINTK("CVT mode %dx%d@%dHz%s%s%s\n", xres, yres,
750 DPRINTK("modedb CVT: CVT mode ok\n");
754 DPRINTK("CVT mode invalid, getting mode from database\n");
757 DPRINTK("Trying specified video mode%s %ix%i\n",
763 * If the caller has provided a custom mode database and
764 * a valid monspecs structure, we look for the mode with
766 * it and try to find a mode with a refresh rate closest
837 DPRINTK("Trying default video mode\n");
846 DPRINTK("No valid mode found\n");
852 * @mode: pointer to struct fb_videomode
855 void fb_var_to_videomode(struct fb_videomode *mode,
860 mode->name = NULL;
861 mode->xres = var->xres;
862 mode->yres = var->yres;
863 mode->pixclock = var->pixclock;
864 mode->hsync_len = var->hsync_len;
865 mode->vsync_len = var->vsync_len;
866 mode->left_margin = var->left_margin;
867 mode->right_margin = var->right_margin;
868 mode->upper_margin = var->upper_margin;
869 mode->lower_margin = var->lower_margin;
870 mode->sync = var->sync;
871 mode->vmode = var->vmode & FB_VMODE_MASK;
872 mode->flag = FB_MODE_IS_FROM_VAR;
873 mode->refresh = 0;
894 mode->refresh = hfreq/vtotal;
900 * @mode: pointer to struct fb_videomode
903 const struct fb_videomode *mode)
905 var->xres = mode->xres;
906 var->yres = mode->yres;
907 var->xres_virtual = mode->xres;
908 var->yres_virtual = mode->yres;
911 var->pixclock = mode->pixclock;
912 var->left_margin = mode->left_margin;
913 var->right_margin = mode->right_margin;
914 var->upper_margin = mode->upper_margin;
915 var->lower_margin = mode->lower_margin;
916 var->hsync_len = mode->hsync_len;
917 var->vsync_len = mode->vsync_len;
918 var->sync = mode->sync;
919 var->vmode = mode->vmode & FB_VMODE_MASK;
967 struct fb_videomode *mode, *best = NULL;
972 mode = &modelist->mode;
974 if (mode->xres >= var->xres && mode->yres >= var->yres) {
975 d = (mode->xres - var->xres) +
976 (mode->yres - var->yres);
979 best = mode;
981 mode->refresh > best->refresh)
982 best = mode;
991 * @mode: pointer to struct fb_videomode
998 const struct fb_videomode *fb_find_nearest_mode(const struct fb_videomode *mode,
1007 cmode = &modelist->mode;
1009 d = abs(cmode->xres - mode->xres) +
1010 abs(cmode->yres - mode->yres);
1013 diff_refresh = abs(cmode->refresh - mode->refresh);
1016 d = abs(cmode->refresh - mode->refresh);
1039 struct fb_videomode *m, mode;
1041 fb_var_to_videomode(&mode, var);
1043 m = &modelist->mode;
1044 if (fb_mode_is_equal(m, &mode))
1052 * @mode: videomode to add
1056 * Will only add unmatched mode entries
1058 int fb_add_videomode(const struct fb_videomode *mode, struct list_head *head)
1065 m = &modelist->mode;
1066 if (fb_mode_is_equal(m, mode)) {
1076 modelist->mode = *mode;
1084 * @mode: videomode to remove
1088 * Will remove all matching mode entries
1090 void fb_delete_videomode(const struct fb_videomode *mode,
1099 m = &modelist->mode;
1100 if (fb_mode_is_equal(m, mode)) {
1123 * fb_videomode_to_modelist - convert mode array to mode list
1151 /* get the first detailed mode and the very first mode */
1153 m = &modelist->mode;
1172 /* find best mode based on display width and height */
1186 /* use first detailed mode */
1192 /* last resort, use the very first mode */