Lines Matching defs:tv_mode

315 struct tv_mode {
386 static const struct tv_mode tv_modes[] = {
952 static const struct tv_mode *intel_tv_mode_find(const struct drm_connector_state *conn_state)
964 const struct tv_mode *tv_mode = intel_tv_mode_find(connector->state);
976 if (abs(tv_mode->refresh - drm_mode_vrefresh(mode) * 1000) >= 1000)
983 intel_tv_mode_vdisplay(const struct tv_mode *tv_mode)
985 if (tv_mode->progressive)
986 return tv_mode->nbr_end + 1;
988 return 2 * (tv_mode->nbr_end + 1);
993 const struct tv_mode *tv_mode,
996 mode->clock = clock / (tv_mode->oversample >> !tv_mode->progressive);
999 * tv_mode horizontal timings:
1010 tv_mode->hblank_start - tv_mode->hblank_end;
1012 tv_mode->htotal - tv_mode->hblank_start;
1014 tv_mode->hsync_end;
1015 mode->htotal = tv_mode->htotal + 1;
1018 * tv_mode vertical timings:
1028 mode->vdisplay = intel_tv_mode_vdisplay(tv_mode);
1029 if (tv_mode->progressive) {
1031 tv_mode->vsync_start_f1 + 1;
1033 tv_mode->vsync_len;
1035 tv_mode->vi_end_f1 + 1;
1038 tv_mode->vsync_start_f1 + 1 +
1039 tv_mode->vsync_start_f2 + 1;
1041 2 * tv_mode->vsync_len;
1043 tv_mode->vi_end_f1 + 1 +
1044 tv_mode->vi_end_f2 + 1;
1053 tv_mode->progressive ? 'p' : 'i',
1054 tv_mode->name);
1100 struct tv_mode tv_mode = {};
1113 tv_mode.htotal = (hctl1 & TV_HTOTAL_MASK) >> TV_HTOTAL_SHIFT;
1114 tv_mode.hsync_end = (hctl1 & TV_HSYNC_END_MASK) >> TV_HSYNC_END_SHIFT;
1116 tv_mode.hblank_start = (hctl3 & TV_HBLANK_START_MASK) >> TV_HBLANK_START_SHIFT;
1117 tv_mode.hblank_end = (hctl3 & TV_HSYNC_END_MASK) >> TV_HBLANK_END_SHIFT;
1119 tv_mode.nbr_end = (vctl1 & TV_NBR_END_MASK) >> TV_NBR_END_SHIFT;
1120 tv_mode.vi_end_f1 = (vctl1 & TV_VI_END_F1_MASK) >> TV_VI_END_F1_SHIFT;
1121 tv_mode.vi_end_f2 = (vctl1 & TV_VI_END_F2_MASK) >> TV_VI_END_F2_SHIFT;
1123 tv_mode.vsync_len = (vctl2 & TV_VSYNC_LEN_MASK) >> TV_VSYNC_LEN_SHIFT;
1124 tv_mode.vsync_start_f1 = (vctl2 & TV_VSYNC_START_F1_MASK) >> TV_VSYNC_START_F1_SHIFT;
1125 tv_mode.vsync_start_f2 = (vctl2 & TV_VSYNC_START_F2_MASK) >> TV_VSYNC_START_F2_SHIFT;
1127 tv_mode.clock = pipe_config->port_clock;
1129 tv_mode.progressive = tv_ctl & TV_PROGRESSIVE;
1133 tv_mode.oversample = 8;
1136 tv_mode.oversample = 4;
1139 tv_mode.oversample = 2;
1142 tv_mode.oversample = 1;
1154 intel_tv_mode_to_mode(&mode, &tv_mode, pipe_config->port_clock);
1180 static bool intel_tv_vert_scaling(const struct drm_display_mode *tv_mode,
1184 return tv_mode->crtc_vdisplay -
1201 const struct tv_mode *tv_mode = intel_tv_mode_find(conn_state);
1208 if (!tv_mode)
1220 pipe_config->port_clock = tv_mode->clock;
1228 intel_tv_mode_to_mode(adjusted_mode, tv_mode, pipe_config->port_clock);
1260 if (!tv_mode->progressive) {
1330 * num = cdclk * (tv_mode->oversample >> !tv_mode->progressive);
1331 * den = tv_mode->clock;
1333 * num = tv_mode->oversample >> !tv_mode->progressive;
1359 const struct tv_mode *tv_mode,
1365 hctl1 = (tv_mode->hsync_end << TV_HSYNC_END_SHIFT) |
1366 (tv_mode->htotal << TV_HTOTAL_SHIFT);
1368 hctl2 = (tv_mode->hburst_start << 16) |
1369 (tv_mode->hburst_len << TV_HBURST_LEN_SHIFT);
1374 hctl3 = (tv_mode->hblank_start << TV_HBLANK_START_SHIFT) |
1375 (tv_mode->hblank_end << TV_HBLANK_END_SHIFT);
1377 vctl1 = (tv_mode->nbr_end << TV_NBR_END_SHIFT) |
1378 (tv_mode->vi_end_f1 << TV_VI_END_F1_SHIFT) |
1379 (tv_mode->vi_end_f2 << TV_VI_END_F2_SHIFT);
1381 vctl2 = (tv_mode->vsync_len << TV_VSYNC_LEN_SHIFT) |
1382 (tv_mode->vsync_start_f1 << TV_VSYNC_START_F1_SHIFT) |
1383 (tv_mode->vsync_start_f2 << TV_VSYNC_START_F2_SHIFT);
1385 vctl3 = (tv_mode->veq_len << TV_VEQ_LEN_SHIFT) |
1386 (tv_mode->veq_start_f1 << TV_VEQ_START_F1_SHIFT) |
1387 (tv_mode->veq_start_f2 << TV_VEQ_START_F2_SHIFT);
1389 if (tv_mode->veq_ena)
1392 vctl4 = (tv_mode->vburst_start_f1 << TV_VBURST_START_F1_SHIFT) |
1393 (tv_mode->vburst_end_f1 << TV_VBURST_END_F1_SHIFT);
1395 vctl5 = (tv_mode->vburst_start_f2 << TV_VBURST_START_F2_SHIFT) |
1396 (tv_mode->vburst_end_f2 << TV_VBURST_END_F2_SHIFT);
1398 vctl6 = (tv_mode->vburst_start_f3 << TV_VBURST_START_F3_SHIFT) |
1399 (tv_mode->vburst_end_f3 << TV_VBURST_END_F3_SHIFT);
1401 vctl7 = (tv_mode->vburst_start_f4 << TV_VBURST_START_F4_SHIFT) |
1402 (tv_mode->vburst_end_f4 << TV_VBURST_END_F4_SHIFT);
1443 const struct tv_mode *tv_mode = intel_tv_mode_find(conn_state);
1461 video_levels = tv_mode->composite_levels;
1462 color_conversion = tv_mode->composite_color;
1463 burst_ena = tv_mode->burst_ena;
1468 if (tv_mode->burst_ena)
1476 video_levels = tv_mode->svideo_levels;
1477 color_conversion = tv_mode->svideo_color;
1478 burst_ena = tv_mode->burst_ena;
1484 switch (tv_mode->oversample) {
1499 if (tv_mode->progressive)
1501 if (tv_mode->trilevel_sync)
1503 if (tv_mode->pal_burst)
1507 if (tv_mode->dda1_inc)
1509 if (tv_mode->dda2_inc)
1511 if (tv_mode->dda3_inc)
1513 scctl1 |= tv_mode->sc_reset;
1516 scctl1 |= tv_mode->dda1_inc << TV_SCDDA1_INC_SHIFT;
1518 scctl2 = tv_mode->dda2_size << TV_SCDDA2_SIZE_SHIFT |
1519 tv_mode->dda2_inc << TV_SCDDA2_INC_SHIFT;
1521 scctl3 = tv_mode->dda3_size << TV_SCDDA3_SIZE_SHIFT |
1522 tv_mode->dda3_inc << TV_SCDDA3_INC_SHIFT;
1528 set_tv_mode_timings(dev_priv, tv_mode, burst_ena);
1553 xsize = tv_mode->hblank_start - tv_mode->hblank_end;
1554 ysize = intel_tv_mode_vdisplay(tv_mode);
1568 tv_mode->filter_table[j++]);
1571 tv_mode->filter_table[j++]);
1574 tv_mode->filter_table[j++]);
1577 tv_mode->filter_table[j++]);
1688 const struct tv_mode *tv_mode = intel_tv_mode_find(connector->state);
1696 if (!tv_mode->component_only)
1700 tv_mode = &tv_modes[i];
1702 if (!tv_mode->component_only)
1770 const struct tv_mode *tv_mode)
1772 int vdisplay = intel_tv_mode_vdisplay(tv_mode);
1783 const struct tv_mode *tv_mode)
1787 if (intel_tv_is_preferred_mode(mode, tv_mode))
1795 const struct tv_mode *tv_mode = intel_tv_mode_find(connector->state);
1803 !tv_mode->progressive &&
1804 !tv_mode->component_only)
1809 input->h > intel_tv_mode_vdisplay(tv_mode))
1823 intel_tv_mode_to_mode(mode, tv_mode, tv_mode->clock);
1830 intel_tv_set_mode_type(mode, tv_mode);