Message ID | 1441994679-32766-2-git-send-email-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, 11 Sep 2015, ville.syrjala@linux.intel.com wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Ignore DEVICE_TYPE_NOT_HDMI_OUTPUT and DEVICE_TYPE_DIGITAL_OUTPUT when > trying to determine the presence of eDP based on the VBT child device > type. Apparently a significant portion of VLV systems have these bits > set incorrectly, and so we currently fail to detect eDP on said systems. > > This is based on an earlier patch [1] from Andreas Lampersperger. > Instead of ignoring the bits just on VLV as was done in the orignal > patch, we now ignore them for all platforms. We should still have > enough bits in there to avoid false positives (unless the VBT is totally > bonkers). > > Quoting the orignal patch: >> When the i915.ko identify an eDP output on a valleyview >> board, it should be more slackly. The reason for that is, >> that BIOS DATA TABLES generated with intel BMP (Binary >> Modification Program) do not set bits for NOT_HDMI or >> DIGITAL_OUTPUT on the device type. Due to Adolfo >> Sanchez from Intel EMGD, this is not possible. >> To solve this problem and enable i915.ko on embedded >> vlv boards with eDP, we ignore this two bits. > > [1] http://lists.freedesktop.org/archives/intel-gfx/2015-June/069416.html > > Cc: Andreas Lampersperger <lampersperger.andreas@heidenhain.de> > Cc: "Sanchez, AdolfoX" <adolfox.sanchez@intel.com> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Only testing will tell for sure. Acked-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/i915/intel_bios.h | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_bios.h b/drivers/gpu/drm/i915/intel_bios.h > index 1b7417e..7ec8c9a 100644 > --- a/drivers/gpu/drm/i915/intel_bios.h > +++ b/drivers/gpu/drm/i915/intel_bios.h > @@ -741,7 +741,6 @@ int intel_parse_bios(struct drm_device *dev); > */ > #define DEVICE_TYPE_eDP_BITS \ > (DEVICE_TYPE_INTERNAL_CONNECTOR | \ > - DEVICE_TYPE_NOT_HDMI_OUTPUT | \ > DEVICE_TYPE_MIPI_OUTPUT | \ > DEVICE_TYPE_COMPOSITE_OUTPUT | \ > DEVICE_TYPE_DUAL_CHANNEL | \ > @@ -749,7 +748,6 @@ int intel_parse_bios(struct drm_device *dev); > DEVICE_TYPE_TMDS_DVI_SIGNALING | \ > DEVICE_TYPE_VIDEO_SIGNALING | \ > DEVICE_TYPE_DISPLAYPORT_OUTPUT | \ > - DEVICE_TYPE_DIGITAL_OUTPUT | \ > DEVICE_TYPE_ANALOG_OUTPUT) > > /* define the DVO port for HDMI output type */ > -- > 2.4.6 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Wed, Sep 23, 2015 at 05:08:15PM +0300, Jani Nikula wrote: > On Fri, 11 Sep 2015, ville.syrjala@linux.intel.com wrote: > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > Ignore DEVICE_TYPE_NOT_HDMI_OUTPUT and DEVICE_TYPE_DIGITAL_OUTPUT when > > trying to determine the presence of eDP based on the VBT child device > > type. Apparently a significant portion of VLV systems have these bits > > set incorrectly, and so we currently fail to detect eDP on said systems. > > > > This is based on an earlier patch [1] from Andreas Lampersperger. > > Instead of ignoring the bits just on VLV as was done in the orignal > > patch, we now ignore them for all platforms. We should still have > > enough bits in there to avoid false positives (unless the VBT is totally > > bonkers). > > > > Quoting the orignal patch: > >> When the i915.ko identify an eDP output on a valleyview > >> board, it should be more slackly. The reason for that is, > >> that BIOS DATA TABLES generated with intel BMP (Binary > >> Modification Program) do not set bits for NOT_HDMI or > >> DIGITAL_OUTPUT on the device type. Due to Adolfo > >> Sanchez from Intel EMGD, this is not possible. > >> To solve this problem and enable i915.ko on embedded > >> vlv boards with eDP, we ignore this two bits. > > > > [1] http://lists.freedesktop.org/archives/intel-gfx/2015-June/069416.html > > > > Cc: Andreas Lampersperger <lampersperger.andreas@heidenhain.de> > > Cc: "Sanchez, AdolfoX" <adolfox.sanchez@intel.com> > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Only testing will tell for sure. > > Acked-by: Jani Nikula <jani.nikula@intel.com> Both applied to dinq, thanks. -Daniel > > > > --- > > drivers/gpu/drm/i915/intel_bios.h | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_bios.h b/drivers/gpu/drm/i915/intel_bios.h > > index 1b7417e..7ec8c9a 100644 > > --- a/drivers/gpu/drm/i915/intel_bios.h > > +++ b/drivers/gpu/drm/i915/intel_bios.h > > @@ -741,7 +741,6 @@ int intel_parse_bios(struct drm_device *dev); > > */ > > #define DEVICE_TYPE_eDP_BITS \ > > (DEVICE_TYPE_INTERNAL_CONNECTOR | \ > > - DEVICE_TYPE_NOT_HDMI_OUTPUT | \ > > DEVICE_TYPE_MIPI_OUTPUT | \ > > DEVICE_TYPE_COMPOSITE_OUTPUT | \ > > DEVICE_TYPE_DUAL_CHANNEL | \ > > @@ -749,7 +748,6 @@ int intel_parse_bios(struct drm_device *dev); > > DEVICE_TYPE_TMDS_DVI_SIGNALING | \ > > DEVICE_TYPE_VIDEO_SIGNALING | \ > > DEVICE_TYPE_DISPLAYPORT_OUTPUT | \ > > - DEVICE_TYPE_DIGITAL_OUTPUT | \ > > DEVICE_TYPE_ANALOG_OUTPUT) > > > > /* define the DVO port for HDMI output type */ > > -- > > 2.4.6 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Jani Nikula, Intel Open Source Technology Center > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_bios.h b/drivers/gpu/drm/i915/intel_bios.h index 1b7417e..7ec8c9a 100644 --- a/drivers/gpu/drm/i915/intel_bios.h +++ b/drivers/gpu/drm/i915/intel_bios.h @@ -741,7 +741,6 @@ int intel_parse_bios(struct drm_device *dev); */ #define DEVICE_TYPE_eDP_BITS \ (DEVICE_TYPE_INTERNAL_CONNECTOR | \ - DEVICE_TYPE_NOT_HDMI_OUTPUT | \ DEVICE_TYPE_MIPI_OUTPUT | \ DEVICE_TYPE_COMPOSITE_OUTPUT | \ DEVICE_TYPE_DUAL_CHANNEL | \ @@ -749,7 +748,6 @@ int intel_parse_bios(struct drm_device *dev); DEVICE_TYPE_TMDS_DVI_SIGNALING | \ DEVICE_TYPE_VIDEO_SIGNALING | \ DEVICE_TYPE_DISPLAYPORT_OUTPUT | \ - DEVICE_TYPE_DIGITAL_OUTPUT | \ DEVICE_TYPE_ANALOG_OUTPUT) /* define the DVO port for HDMI output type */