/* * VESA DMT defines a tolerance of 0.5% on the pixel clock, while the * CVT spec reuses that tolerance in its examples, so it looks to be a * good default tolerance for the EDID-based modes. Define it to 5 per * mille to avoid floating point operations.
*/ #define SUN4I_RGB_DOTCLOCK_TOLERANCE_PER_MILLE 5
if ((mode->hdisplay < 1) || (mode->htotal < 1)) return MODE_H_ILLEGAL;
if ((mode->hdisplay > 0x7ff) || (mode->htotal > 0xfff)) return MODE_BAD_HVALUE;
DRM_DEBUG_DRIVER("Horizontal parameters OK\n");
if (vsync < 1) return MODE_VSYNC_NARROW;
if (vsync > 0x3ff) return MODE_VSYNC_WIDE;
if ((mode->vdisplay < 1) || (mode->vtotal < 1)) return MODE_V_ILLEGAL;
if ((mode->vdisplay > 0x7ff) || (mode->vtotal > 0xfff)) return MODE_BAD_VVALUE;
DRM_DEBUG_DRIVER("Vertical parameters OK\n");
/* * TODO: We should use the struct display_timing if available * and / or trying to stretch the timings within that * tolerancy to take care of panels that we wouldn't be able * to have a exact match for.
*/ if (rgb->panel) {
DRM_DEBUG_DRIVER("RGB panel used, skipping clock rate checks"); goto out;
}
/* * That shouldn't ever happen unless something is really wrong, but it * doesn't harm to check.
*/ if (!rgb->bridge) goto out;
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.19Bemerkung:
(vorverarbeitet am 2026-06-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.