On Sun, Apr 21, 2019 at 8:46 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > > Hi, > > On 16-04-19 13:46, Patrik Jakobsson wrote: > > Some machines have an lvds child device in vbt even though a panel is > > not attached. To make detection more reliable we now also check the lvds > > config bits available in the vbt. > > > > Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1665766 > > Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> > > Cc: Hans de Goede <hdegoede@xxxxxxxxxx> > > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > The reporter of https://bugzilla.redhat.com/show_bug.cgi?id=1665766 > just got back to me and he confirms that this patch fixes the > false-positive LVDS panel detection on his NAS, without needing > a DMI blacklist. > > So it looks like this patch indeed is a better fix then my initial > DMI blacklist approach and from my pov this patch is ready to > go upstream. Thanks Hans, can I add your review tag? > > Regards, > > Hans > > > > --- > > drivers/gpu/drm/gma500/cdv_intel_lvds.c | 3 +++ > > drivers/gpu/drm/gma500/intel_bios.c | 3 +++ > > drivers/gpu/drm/gma500/psb_drv.h | 1 + > > 3 files changed, 7 insertions(+) > > > > diff --git a/drivers/gpu/drm/gma500/cdv_intel_lvds.c b/drivers/gpu/drm/gma500/cdv_intel_lvds.c > > index de9531caaca0..9c8446184b17 100644 > > --- a/drivers/gpu/drm/gma500/cdv_intel_lvds.c > > +++ b/drivers/gpu/drm/gma500/cdv_intel_lvds.c > > @@ -594,6 +594,9 @@ void cdv_intel_lvds_init(struct drm_device *dev, > > int pipe; > > u8 pin; > > > > + if (!dev_priv->lvds_enabled_in_vbt) > > + return; > > + > > pin = GMBUS_PORT_PANEL; > > if (!lvds_is_present_in_vbt(dev, &pin)) { > > DRM_DEBUG_KMS("LVDS is not present in VBT\n"); > > diff --git a/drivers/gpu/drm/gma500/intel_bios.c b/drivers/gpu/drm/gma500/intel_bios.c > > index 63bde4e86c6a..e019ea271ffc 100644 > > --- a/drivers/gpu/drm/gma500/intel_bios.c > > +++ b/drivers/gpu/drm/gma500/intel_bios.c > > @@ -436,6 +436,9 @@ parse_driver_features(struct drm_psb_private *dev_priv, > > if (driver->lvds_config == BDB_DRIVER_FEATURE_EDP) > > dev_priv->edp.support = 1; > > > > + dev_priv->lvds_enabled_in_vbt = driver->lvds_config != 0; > > + DRM_DEBUG_KMS("LVDS VBT config bits: 0x%x\n", driver->lvds_config); > > + > > /* This bit means to use 96Mhz for DPLL_A or not */ > > if (driver->primary_lfp_id) > > dev_priv->dplla_96mhz = true; > > diff --git a/drivers/gpu/drm/gma500/psb_drv.h b/drivers/gpu/drm/gma500/psb_drv.h > > index 941b238bdcc9..bc608ddc3bd1 100644 > > --- a/drivers/gpu/drm/gma500/psb_drv.h > > +++ b/drivers/gpu/drm/gma500/psb_drv.h > > @@ -537,6 +537,7 @@ struct drm_psb_private { > > int lvds_ssc_freq; > > bool is_lvds_on; > > bool is_mipi_on; > > + bool lvds_enabled_in_vbt; > > u32 mipi_ctrl_display; > > > > unsigned int core_freq; > > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel