Message ID | 1461214319-11775-1-git-send-email-shashank.sharma@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Apr 21, 2016 at 10:21:59AM +0530, Shashank Sharma wrote: > This patch does the following: > - Fakes live status of HDMI as connected (even if that's not). > While testing certain (monitor + cable) combinations with > various intel platforms, it seems that live status register > doesn't work reliably on some older devices. So limit the > live_status check for HDMI detection, only for platforms > from gen7 onwards. > > This fixes regression added by patch: > 'commit 237ed86c693d ("drm/i915: Check live status before reading edid")' > > V2: restrict faking live_status to certain platforms > > Based on suggestion by: Ville Syrjala<ville.syrjala@linux.intel.com> > Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> Did we have any bugs open for this? Those should be listed here. > --- > drivers/gpu/drm/i915/intel_hdmi.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index b199ede..c2150db 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -1412,8 +1412,16 @@ intel_hdmi_detect(struct drm_connector *connector, bool force) > hdmi_to_dig_port(intel_hdmi)); > } > > - if (!live_status) > - DRM_DEBUG_KMS("Live status not up!"); I think we should keep this debug for the other platforms. > + /* > + * Live status reg is not reliable for all older platforms > + * So for certain platforms, dont block EDID read even if > + * live_status is down, give EDID a shot. > + */ Comment is misindented. > + if ((INTEL_INFO(dev_priv)->gen < 7 || IS_IVYBRIDGE(dev_priv)) > + && !live_status) { Indent fail here too. > + DRM_DEBUG_KMS("Warning: live status not up, faking it\n"); The "Warning: " prefix seems a bit pointless. The rest looks good to me. > + live_status = true; > + } > > intel_hdmi_unset_edid(connector); > > -- > 1.9.1
On Thu, 21 Apr 2016, Shashank Sharma <shashank.sharma@intel.com> wrote: > This patch does the following: > - Fakes live status of HDMI as connected (even if that's not). > While testing certain (monitor + cable) combinations with > various intel platforms, it seems that live status register > doesn't work reliably on some older devices. So limit the > live_status check for HDMI detection, only for platforms > from gen7 onwards. > > This fixes regression added by patch: > 'commit 237ed86c693d ("drm/i915: Check live status before reading edid")' Fixes: 237ed86c693d ("drm/i915: Check live status before reading edid") Cc: stable@vger.kernel.org # v4.4 > > V2: restrict faking live_status to certain platforms > > Based on suggestion by: Ville Syrjala<ville.syrjala@linux.intel.com> > Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> > --- > drivers/gpu/drm/i915/intel_hdmi.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index b199ede..c2150db 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -1412,8 +1412,16 @@ intel_hdmi_detect(struct drm_connector *connector, bool force) > hdmi_to_dig_port(intel_hdmi)); > } > > - if (!live_status) > - DRM_DEBUG_KMS("Live status not up!"); > + /* > + * Live status reg is not reliable for all older platforms > + * So for certain platforms, dont block EDID read even if > + * live_status is down, give EDID a shot. > + */ > + if ((INTEL_INFO(dev_priv)->gen < 7 || IS_IVYBRIDGE(dev_priv)) > + && !live_status) { > + DRM_DEBUG_KMS("Warning: live status not up, faking it\n"); > + live_status = true; > + } > > intel_hdmi_unset_edid(connector);
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index b199ede..c2150db 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -1412,8 +1412,16 @@ intel_hdmi_detect(struct drm_connector *connector, bool force) hdmi_to_dig_port(intel_hdmi)); } - if (!live_status) - DRM_DEBUG_KMS("Live status not up!"); + /* + * Live status reg is not reliable for all older platforms + * So for certain platforms, dont block EDID read even if + * live_status is down, give EDID a shot. + */ + if ((INTEL_INFO(dev_priv)->gen < 7 || IS_IVYBRIDGE(dev_priv)) + && !live_status) { + DRM_DEBUG_KMS("Warning: live status not up, faking it\n"); + live_status = true; + } intel_hdmi_unset_edid(connector);
This patch does the following: - Fakes live status of HDMI as connected (even if that's not). While testing certain (monitor + cable) combinations with various intel platforms, it seems that live status register doesn't work reliably on some older devices. So limit the live_status check for HDMI detection, only for platforms from gen7 onwards. This fixes regression added by patch: 'commit 237ed86c693d ("drm/i915: Check live status before reading edid")' V2: restrict faking live_status to certain platforms Based on suggestion by: Ville Syrjala<ville.syrjala@linux.intel.com> Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> --- drivers/gpu/drm/i915/intel_hdmi.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)