Lines Matching refs:mode
537 mode_is_rb(const struct drm_display_mode *mode) in mode_is_rb() argument
539 return (mode->htotal - mode->hdisplay == 160) && in mode_is_rb()
540 (mode->hsync_end - mode->hdisplay == 80) && in mode_is_rb()
541 (mode->hsync_end - mode->hsync_start == 32) && in mode_is_rb()
542 (mode->vsync_start - mode->vdisplay == 3); in mode_is_rb()
746 struct drm_display_mode *m, *mode = NULL; in drm_mode_std() local
796 mode = drm_cvt_mode(dev, 1366, 768, vrefresh_rate, 0, 0, in drm_mode_std()
798 mode->hdisplay = 1366; in drm_mode_std()
799 mode->hsync_start = mode->hsync_start - 1; in drm_mode_std()
800 mode->hsync_end = mode->hsync_end - 1; in drm_mode_std()
801 return mode; in drm_mode_std()
806 mode = drm_mode_find_dmt(dev, hsize, vsize, vrefresh_rate, in drm_mode_std()
808 if (mode) in drm_mode_std()
809 return mode; in drm_mode_std()
811 mode = drm_mode_find_dmt(dev, hsize, vsize, vrefresh_rate, false); in drm_mode_std()
812 if (mode) in drm_mode_std()
813 return mode; in drm_mode_std()
820 mode = drm_gtf_mode(dev, hsize, vsize, vrefresh_rate, 0, 0); in drm_mode_std()
828 mode = drm_gtf_mode(dev, hsize, vsize, vrefresh_rate, 0, 0); in drm_mode_std()
829 if (!mode) in drm_mode_std()
831 if (drm_mode_hsync(mode) > drm_gtf2_hbreak(edid)) { in drm_mode_std()
832 drm_mode_destroy(dev, mode); in drm_mode_std()
833 mode = drm_gtf_mode_complex(dev, hsize, vsize, in drm_mode_std()
842 mode = drm_cvt_mode(dev, hsize, vsize, vrefresh_rate, 0, 0, in drm_mode_std()
846 return mode; in drm_mode_std()
858 drm_mode_do_interlace_quirk(struct drm_display_mode *mode, in drm_mode_do_interlace_quirk() argument
878 if ((mode->hdisplay == cea_interlaced[i].w) && in drm_mode_do_interlace_quirk()
879 (mode->vdisplay == cea_interlaced[i].h / 2)) { in drm_mode_do_interlace_quirk()
880 mode->vdisplay *= 2; in drm_mode_do_interlace_quirk()
881 mode->vsync_start *= 2; in drm_mode_do_interlace_quirk()
882 mode->vsync_end *= 2; in drm_mode_do_interlace_quirk()
883 mode->vtotal *= 2; in drm_mode_do_interlace_quirk()
884 mode->vtotal |= 1; in drm_mode_do_interlace_quirk()
888 mode->flags |= DRM_MODE_FLAG_INTERLACE; in drm_mode_do_interlace_quirk()
906 struct drm_display_mode *mode; in drm_mode_detailed() local
937 mode = drm_cvt_mode(dev, hactive, vactive, 60, true, false, false); in drm_mode_detailed()
938 if (!mode) in drm_mode_detailed()
944 mode = drm_mode_create(dev); in drm_mode_detailed()
945 if (!mode) in drm_mode_detailed()
951 mode->clock = le16_to_cpu(timing->pixel_clock) * 10; in drm_mode_detailed()
953 mode->hdisplay = hactive; in drm_mode_detailed()
954 mode->hsync_start = mode->hdisplay + hsync_offset; in drm_mode_detailed()
955 mode->hsync_end = mode->hsync_start + hsync_pulse_width; in drm_mode_detailed()
956 mode->htotal = mode->hdisplay + hblank; in drm_mode_detailed()
958 mode->vdisplay = vactive; in drm_mode_detailed()
959 mode->vsync_start = mode->vdisplay + vsync_offset; in drm_mode_detailed()
960 mode->vsync_end = mode->vsync_start + vsync_pulse_width; in drm_mode_detailed()
961 mode->vtotal = mode->vdisplay + vblank; in drm_mode_detailed()
964 if (mode->hsync_end > mode->htotal) in drm_mode_detailed()
965 mode->htotal = mode->hsync_end + 1; in drm_mode_detailed()
966 if (mode->vsync_end > mode->vtotal) in drm_mode_detailed()
967 mode->vtotal = mode->vsync_end + 1; in drm_mode_detailed()
969 drm_mode_do_interlace_quirk(mode, pt); in drm_mode_detailed()
975 mode->flags |= (pt->misc & DRM_EDID_PT_HSYNC_POSITIVE) ? in drm_mode_detailed()
977 mode->flags |= (pt->misc & DRM_EDID_PT_VSYNC_POSITIVE) ? in drm_mode_detailed()
981 mode->width_mm = pt->width_mm_lo | (pt->width_height_mm_hi & 0xf0) << 4; in drm_mode_detailed()
982 mode->height_mm = pt->height_mm_lo | (pt->width_height_mm_hi & 0xf) << 8; in drm_mode_detailed()
985 mode->width_mm *= 10; in drm_mode_detailed()
986 mode->height_mm *= 10; in drm_mode_detailed()
990 mode->width_mm = edid->width_cm * 10; in drm_mode_detailed()
991 mode->height_mm = edid->height_cm * 10; in drm_mode_detailed()
994 mode->type = DRM_MODE_TYPE_DRIVER; in drm_mode_detailed()
995 mode->vrefresh = drm_mode_vrefresh(mode); in drm_mode_detailed()
996 drm_mode_set_name(mode); in drm_mode_detailed()
998 return mode; in drm_mode_detailed()
1002 mode_in_hsync_range(const struct drm_display_mode *mode, in mode_in_hsync_range() argument
1013 hsync = drm_mode_hsync(mode); in mode_in_hsync_range()
1019 mode_in_vsync_range(const struct drm_display_mode *mode, in mode_in_vsync_range() argument
1030 vsync = drm_mode_vrefresh(mode); in mode_in_vsync_range()
1051 mode_in_range(const struct drm_display_mode *mode, struct edid *edid, in mode_in_range() argument
1057 if (!mode_in_hsync_range(mode, edid, t)) in mode_in_range()
1060 if (!mode_in_vsync_range(mode, edid, t)) in mode_in_range()
1064 if (mode->clock > max_clock) in mode_in_range()
1069 if (t[13] && mode->hdisplay > 8 * (t[13] + (256 * (t[12]&0x3)))) in mode_in_range()
1072 if (mode_is_rb(mode) && !drm_monitor_supports_rb(edid)) in mode_in_range()
1079 const struct drm_display_mode *mode) in valid_inferred_mode() argument
1085 if (mode->hdisplay == m->hdisplay && in valid_inferred_mode()
1086 mode->vdisplay == m->vdisplay && in valid_inferred_mode()
1087 drm_mode_vrefresh(mode) == drm_mode_vrefresh(m)) in valid_inferred_mode()
1089 if (mode->hdisplay <= m->hdisplay && in valid_inferred_mode()
1090 mode->vdisplay <= m->vdisplay) in valid_inferred_mode()
1121 static void fixup_mode_1366x768(struct drm_display_mode *mode) in fixup_mode_1366x768() argument
1123 if (mode->hdisplay == 1368 && mode->vdisplay == 768) { in fixup_mode_1366x768()
1124 mode->hdisplay = 1366; in fixup_mode_1366x768()
1125 mode->hsync_start--; in fixup_mode_1366x768()
1126 mode->hsync_end--; in fixup_mode_1366x768()
1127 drm_mode_set_name(mode); in fixup_mode_1366x768()
1244 struct drm_display_mode *mode; in drm_est3_modes() local
1253 mode = drm_mode_find_dmt(connector->dev, in drm_est3_modes()
1258 if (mode) { in drm_est3_modes()
1259 drm_mode_probed_add(connector, mode); in drm_est3_modes()
1542 u8 mode; in drm_match_cea_mode() local
1544 for (mode = 0; mode < drm_num_cea_modes; mode++) { in drm_match_cea_mode()
1545 cea_mode = (const struct drm_display_mode *)&edid_cea_modes[mode]; in drm_match_cea_mode()
1548 return mode + 1; in drm_match_cea_mode()
1559 u8 * mode, cea_mode; in do_cea_modes() local
1562 for (mode = db; mode < db + len; mode++) { in do_cea_modes()
1563 cea_mode = (*mode & 127) - 1; /* CEA modes are numbered 1..127 */ in do_cea_modes()
1791 struct drm_display_mode *mode) in drm_av_sync_delay() argument
1793 int i = !!(mode->flags & DRM_MODE_FLAG_INTERLACE); in drm_av_sync_delay()
1832 struct drm_display_mode *mode) in drm_select_eld() argument
2070 struct drm_display_mode *mode; in drm_add_modes_noedid() local
2093 mode = drm_mode_duplicate(dev, ptr); in drm_add_modes_noedid()
2094 if (mode) { in drm_add_modes_noedid()
2095 drm_mode_probed_add(connector, mode); in drm_add_modes_noedid()
2110 uint8_t drm_mode_cea_vic(const struct drm_display_mode *mode) in drm_mode_cea_vic() argument
2115 if (drm_mode_equal(mode, &edid_cea_modes[i])) in drm_mode_cea_vic()