• Ville Syrjälä's avatar
    drm/i915: Don't advertise modes that exceed the max plane size · 2d20411e
    Ville Syrjälä authored
    Modern platforms allow the transcoders hdisplay/vdisplay to exceed the
    planes' max resolution. This has the nasty implication that modes on the
    connectors' mode list may not be usable when the user asks for a
    fullscreen plane. Seeing as that is the most common use case it seems
    prudent to filter out modes that don't allow for fullscreen planes to
    be enabled.
    Let's do that in the connetor .mode_valid() hook so that normally
    such modes are kept hidden but the user is still able to forcibly
    specify such a mode if they know they don't need fullscreen planes.
    This is in line with ealier policies regarding certain clock limits.
    The idea is to prevent the casual user from encountering a mode that
    would fail under typical conditions, but allow the expert user to
    force things if they so wish.
    Maybe in the future we should consider automagically using two
    planes when one can't cover the entire screen? Wouldn't be a
    great match for the current uapi with explicit planes though,
    but I guess no worse than using two pipes (which we apparently
    have to in the future anyway). Either that or we'd have to
    teach userspace to do it for us.
    v2: Fix icl+ max plane heigth (Manasi)
    Cc: Manasi Navare <manasi.d.navare@intel.com>
    Cc: Leho Kraav <leho@kraav.com>
    Cc: Sean Paul <sean@poorly.run>
    Cc: José Roberto de Souza <jose.souza@intel.com>
    Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: default avatarManasi Navare <manasi.d.navare@intel.com>
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190918150707.32420-1-ville.syrjala@linux.intel.com