Message ID | 1461237606-16491-1-git-send-email-shashank.sharma@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Apr 21, 2016 at 04:48:32PM +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. > > 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 > V3: (Ville) > - keep the debug message for !live_status case > - fix indentation of comment > - remove "warning" from the debug message > > (Jani) > - Change format of fix details in the commit message > > Suggested-by: Ville Syrjala <ville.syrjala@linux.intel.com> > Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.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..2cdab73 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!"); > + if (!live_status) { > + DRM_DEBUG_KMS("HDMI live status down\n"); > + /* > + * Live status register is not reliable on all intel platforms. > + * So consider live_status only for certain platforms, for > + * others, read EDID to determine presence of sink. > + */ > + if (INTEL_INFO(dev_priv)->gen < 7 || IS_IVYBRIDGE(dev_priv)) > + live_status = true; > + } > > intel_hdmi_unset_edid(connector); > > -- > 1.9.1
On Thu, Apr 21, 2016 at 04:54:28PM -0000, Patchwork wrote: > == Series Details == > > Series: drm/i915: Fake HDMI live status (rev3) > URL : https://patchwork.freedesktop.org/series/6038/ > State : success > > == Summary == > > Series 6038v3 drm/i915: Fake HDMI live status > http://patchwork.freedesktop.org/api/1.0/series/6038/revisions/3/mbox/ > > Test gem_busy: > Subgroup basic-blt: > skip -> PASS (bsw-nuc-2) > Test gem_sync: > Subgroup basic-render: > pass -> INCOMPLETE (bdw-nuci7) UNSTABLE Hmm. Random machine death? Looking at the long term history this seems to be semi-frequent on this machine. > Test kms_pipe_crc_basic: > Subgroup hang-read-crc-pipe-c: > incomplete -> PASS (bdw-nuci7) > > bdw-nuci7 total:176 pass:164 dwarn:0 dfail:0 fail:0 skip:11 > bdw-ultra total:194 pass:170 dwarn:0 dfail:0 fail:1 skip:23 > bsw-nuc-2 total:193 pass:154 dwarn:0 dfail:0 fail:0 skip:39 > byt-nuc total:193 pass:155 dwarn:0 dfail:0 fail:0 skip:38 > hsw-brixbox total:194 pass:170 dwarn:0 dfail:0 fail:0 skip:24 > hsw-gt2 total:194 pass:175 dwarn:0 dfail:0 fail:0 skip:19 > ilk-hp8440p total:194 pass:137 dwarn:0 dfail:0 fail:0 skip:57 > ivb-t430s total:194 pass:166 dwarn:0 dfail:0 fail:0 skip:28 > skl-i7k-2 total:194 pass:168 dwarn:0 dfail:0 fail:1 skip:25 > skl-nuci5 total:194 pass:183 dwarn:0 dfail:0 fail:0 skip:11 > snb-dellxps total:193 pass:155 dwarn:0 dfail:0 fail:0 skip:38 > snb-x220t total:193 pass:155 dwarn:0 dfail:0 fail:1 skip:37 > > Results at /archive/results/CI_IGT_test/Patchwork_1977/ > > 9dabb0053b63bc32ab6ad5d13209d1e43395313f drm-intel-nightly: 2016y-04m-21d-09h-27m-12s UTC integration manifest > 4bd2e76 drm/i915: Fake HDMI live status > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Thu, Apr 21, 2016 at 04:48:32PM +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. > > 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 > V3: (Ville) > - keep the debug message for !live_status case > - fix indentation of comment > - remove "warning" from the debug message > > (Jani) > - Change format of fix details in the commit message > > Suggested-by: Ville Syrjala <ville.syrjala@linux.intel.com> > Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> Pushed to dinq. Thanks for the patch. > --- > 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..2cdab73 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!"); > + if (!live_status) { > + DRM_DEBUG_KMS("HDMI live status down\n"); > + /* > + * Live status register is not reliable on all intel platforms. > + * So consider live_status only for certain platforms, for > + * others, read EDID to determine presence of sink. > + */ > + if (INTEL_INFO(dev_priv)->gen < 7 || IS_IVYBRIDGE(dev_priv)) > + live_status = true; > + } > > intel_hdmi_unset_edid(connector); > > -- > 1.9.1
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index b199ede..2cdab73 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!"); + if (!live_status) { + DRM_DEBUG_KMS("HDMI live status down\n"); + /* + * Live status register is not reliable on all intel platforms. + * So consider live_status only for certain platforms, for + * others, read EDID to determine presence of sink. + */ + if (INTEL_INFO(dev_priv)->gen < 7 || IS_IVYBRIDGE(dev_priv)) + 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. 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 V3: (Ville) - keep the debug message for !live_status case - fix indentation of comment - remove "warning" from the debug message (Jani) - Change format of fix details in the commit message Suggested-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(-)