On Tue, 21 Jan 2020, Lee Shawn C <[email protected]> wrote:
> According to chapter 5.1.1.2 in DP spec. When the Sink
> device capability is unknown, for example due to corruption
> of an EDID. The Source device may fall back to a set of
> fall-back video timing formats its choice. When none of
> the fall-back video timing formats is acceptable, the
> Source device must fall back to the fail safe mode,
> which is 640 x 480 at 60Hz.
>
> This change set source driver output fail-safe mode automatically
> if EDID corrupt. It may also benefit link layer compliance
> test case "4.2.2.6  EDID Corruption Detection".

Are you fixing a real user visible bug here, trying to pass compliance
tests, or just trying harder to comply with the spec?

I am wondering under what circumstances we could actually display a
640x480 image when everything else fails.

BR,
Jani.

>
> Cc: Manasi Navare <[email protected]>
> Cc: Ville Syrjälä <[email protected]>
> Cc: Jani Nikula <[email protected]>
> Cc: Cooper Chiou <[email protected]>
> Signed-off-by: Lee Shawn C <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index c27d3e7ac219..7e072db4a530 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -5659,9 +5659,18 @@ intel_dp_get_edid(struct intel_dp *intel_dp)
>                       return NULL;
>  
>               return drm_edid_duplicate(intel_connector->edid);
> -     } else
> -             return drm_get_edid(&intel_connector->base,
> +     } else {
> +             struct edid *edid;
> +
> +             edid = drm_get_edid(&intel_connector->base,
>                                   &intel_dp->aux.ddc);
> +
> +             if (intel_connector->base.edid_corrupt || !edid)
> +                     if (drm_add_modes_noedid(&intel_connector->base, 640, 
> 480))
> +                             drm_set_preferred_mode(&intel_connector->base, 
> 640, 480);
> +
> +             return edid;
> +     }
>  }
>  
>  static void

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to