Lines Matching refs:mode
49 void drm_mode_debug_printmodeline(const struct drm_display_mode *mode) in drm_mode_debug_printmodeline() argument
53 mode->base.id, mode->name, mode->vrefresh, mode->clock, in drm_mode_debug_printmodeline()
54 mode->hdisplay, mode->hsync_start, in drm_mode_debug_printmodeline()
55 mode->hsync_end, mode->htotal, in drm_mode_debug_printmodeline()
56 mode->vdisplay, mode->vsync_start, in drm_mode_debug_printmodeline()
57 mode->vsync_end, mode->vtotal, mode->type, mode->flags); in drm_mode_debug_printmodeline()
516 void drm_mode_set_name(struct drm_display_mode *mode) in drm_mode_set_name() argument
518 bool interlaced = !!(mode->flags & DRM_MODE_FLAG_INTERLACE); in drm_mode_set_name()
520 snprintf(mode->name, DRM_DISPLAY_MODE_LEN, "%dx%d%s", in drm_mode_set_name()
521 mode->hdisplay, mode->vdisplay, in drm_mode_set_name()
561 int drm_mode_width(const struct drm_display_mode *mode) in drm_mode_width() argument
563 return mode->hdisplay; in drm_mode_width()
582 int drm_mode_height(const struct drm_display_mode *mode) in drm_mode_height() argument
584 return mode->vdisplay; in drm_mode_height()
596 int drm_mode_hsync(const struct drm_display_mode *mode) in drm_mode_hsync() argument
600 if (mode->hsync) in drm_mode_hsync()
601 return mode->hsync; in drm_mode_hsync()
603 if (mode->htotal < 0) in drm_mode_hsync()
606 calc_val = (mode->clock * 1000) / mode->htotal; /* hsync in Hz */ in drm_mode_hsync()
630 int drm_mode_vrefresh(const struct drm_display_mode *mode) in drm_mode_vrefresh() argument
635 if (mode->vrefresh > 0) in drm_mode_vrefresh()
636 refresh = mode->vrefresh; in drm_mode_vrefresh()
637 else if (mode->htotal > 0 && mode->vtotal > 0) { in drm_mode_vrefresh()
639 vtotal = mode->vtotal; in drm_mode_vrefresh()
641 calc_val = (mode->clock * 1000); in drm_mode_vrefresh()
642 calc_val /= mode->htotal; in drm_mode_vrefresh()
645 if (mode->flags & DRM_MODE_FLAG_INTERLACE) in drm_mode_vrefresh()
647 if (mode->flags & DRM_MODE_FLAG_DBLSCAN) in drm_mode_vrefresh()
649 if (mode->vscan > 1) in drm_mode_vrefresh()
650 refresh /= mode->vscan; in drm_mode_vrefresh()
744 const struct drm_display_mode *mode) in drm_mode_duplicate() argument
752 drm_mode_copy(nmode, mode); in drm_mode_duplicate()
817 struct drm_display_mode *mode; in drm_mode_validate_size() local
819 list_for_each_entry(mode, mode_list, head) { in drm_mode_validate_size()
820 if (maxPitch > 0 && mode->hdisplay > maxPitch) in drm_mode_validate_size()
821 mode->status = MODE_BAD_WIDTH; in drm_mode_validate_size()
823 if (maxX > 0 && mode->hdisplay > maxX) in drm_mode_validate_size()
824 mode->status = MODE_VIRTUAL_X; in drm_mode_validate_size()
826 if (maxY > 0 && mode->vdisplay > maxY) in drm_mode_validate_size()
827 mode->status = MODE_VIRTUAL_Y; in drm_mode_validate_size()
852 struct drm_display_mode *mode; in drm_mode_validate_clocks() local
855 list_for_each_entry(mode, mode_list, head) { in drm_mode_validate_clocks()
858 if (mode->clock >= min[i] && mode->clock <= max[i]) { in drm_mode_validate_clocks()
864 mode->status = MODE_CLOCK_RANGE; in drm_mode_validate_clocks()
885 struct drm_display_mode *mode, *t; in drm_mode_prune_invalid() local
887 list_for_each_entry_safe(mode, t, mode_list, head) { in drm_mode_prune_invalid()
888 if (mode->status != MODE_OK) { in drm_mode_prune_invalid()
889 list_del(&mode->head); in drm_mode_prune_invalid()
891 drm_mode_debug_printmodeline(mode); in drm_mode_prune_invalid()
893 mode->name, mode->status); in drm_mode_prune_invalid()
895 drm_mode_destroy(dev, mode); in drm_mode_prune_invalid()
968 struct drm_display_mode *mode; in drm_mode_connector_list_update() local
976 list_for_each_entry(mode, &connector->modes, head) { in drm_mode_connector_list_update()
977 if (drm_mode_equal(pmode, mode)) { in drm_mode_connector_list_update()
980 mode->status = pmode->status; in drm_mode_connector_list_update()
982 mode->type |= pmode->type; in drm_mode_connector_list_update()
1011 struct drm_cmdline_mode *mode) in drm_mode_parse_command_line_for_connector() argument
1028 mode->specified = false; in drm_mode_parse_command_line_for_connector()
1130 mode->specified = false; in drm_mode_parse_command_line_for_connector()
1135 mode->specified = true; in drm_mode_parse_command_line_for_connector()
1136 mode->xres = xres; in drm_mode_parse_command_line_for_connector()
1137 mode->yres = yres; in drm_mode_parse_command_line_for_connector()
1141 mode->refresh_specified = true; in drm_mode_parse_command_line_for_connector()
1142 mode->refresh = refresh; in drm_mode_parse_command_line_for_connector()
1146 mode->bpp_specified = true; in drm_mode_parse_command_line_for_connector()
1147 mode->bpp = bpp; in drm_mode_parse_command_line_for_connector()
1149 mode->rb = rb; in drm_mode_parse_command_line_for_connector()
1150 mode->cvt = cvt; in drm_mode_parse_command_line_for_connector()
1151 mode->interlace = interlace; in drm_mode_parse_command_line_for_connector()
1152 mode->margins = margins; in drm_mode_parse_command_line_for_connector()
1153 mode->force = force; in drm_mode_parse_command_line_for_connector()
1163 struct drm_display_mode *mode; in drm_mode_create_from_cmdline_mode() local
1166 mode = drm_cvt_mode(dev, in drm_mode_create_from_cmdline_mode()
1172 mode = drm_gtf_mode(dev, in drm_mode_create_from_cmdline_mode()
1177 if (!mode) in drm_mode_create_from_cmdline_mode()
1180 drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V); in drm_mode_create_from_cmdline_mode()
1181 return mode; in drm_mode_create_from_cmdline_mode()