Message ID | 20190121142134.17434-3-jani.nikula@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/5] drm/i915/crt: split out intel_crt_present() to platform specific setup | expand |
On Mon, Jan 21, 2019 at 04:21:32PM +0200, Jani Nikula wrote: > Now that intel_lvds_init() is only called for platforms that might have > LVDS, move the remaining checks to intel_setup_outputs(), again similar > to other outputs, and remove the overlapping checks. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/i915/intel_display.c | 6 ++++-- > drivers/gpu/drm/i915/intel_lvds.c | 23 ----------------------- > 2 files changed, 4 insertions(+), 25 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 4b5704a87934..4207ee0b83ce 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -14464,7 +14464,8 @@ static void intel_setup_outputs(struct drm_i915_private *dev_priv) Had to read the earlier patch twice to make sure we're not leaving ibx/cpt/ppt or pnv behind. > } else if (IS_GEN_RANGE(dev_priv, 3, 4)) { > bool found = false; > > - intel_lvds_init(dev_priv); > + if (IS_MOBILE(dev_priv)) > + intel_lvds_init(dev_priv); > > if (dev_priv->vbt.int_crt_support) > intel_crt_init(dev_priv); > @@ -14501,7 +14502,8 @@ static void intel_setup_outputs(struct drm_i915_private *dev_priv) > if (IS_G4X(dev_priv) && (I915_READ(DP_D) & DP_DETECTED)) > intel_dp_init(dev_priv, DP_D, PORT_D); > } else if (IS_GEN(dev_priv, 2)) { > - intel_lvds_init(dev_priv); > + if (IS_MOBILE(dev_priv) && !IS_I830(dev_priv)) aka. IS_I85X() Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > + intel_lvds_init(dev_priv); > > if (dev_priv->vbt.int_crt_support) > intel_crt_init(dev_priv); > diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c > index 46a5dfd5cdf7..815ed463d9c5 100644 > --- a/drivers/gpu/drm/i915/intel_lvds.c > +++ b/drivers/gpu/drm/i915/intel_lvds.c > @@ -798,26 +798,6 @@ static bool compute_is_dual_link_lvds(struct intel_lvds_encoder *lvds_encoder) > return (val & LVDS_CLKB_POWER_MASK) == LVDS_CLKB_POWER_UP; > } > > -static bool intel_lvds_supported(struct drm_i915_private *dev_priv) > -{ > - /* > - * With the introduction of the PCH we gained a dedicated > - * LVDS presence pin, use it. > - */ > - if (HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)) > - return true; > - > - /* > - * Otherwise LVDS was only attached to mobile products, > - * except for the inglorious 830gm > - */ > - if (INTEL_GEN(dev_priv) <= 4 && > - IS_MOBILE(dev_priv) && !IS_I830(dev_priv)) > - return true; > - > - return false; > -} > - > /** > * intel_lvds_init - setup LVDS connectors on this device > * @dev_priv: i915 device > @@ -842,9 +822,6 @@ void intel_lvds_init(struct drm_i915_private *dev_priv) > u8 pin; > u32 allowed_scalers; > > - if (!intel_lvds_supported(dev_priv)) > - return; > - > /* Skip init on machines we know falsely report LVDS */ > if (dmi_check_system(intel_no_lvds)) { > WARN(!dev_priv->vbt.int_lvds_support, > -- > 2.20.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Mon, 21 Jan 2019, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote: > On Mon, Jan 21, 2019 at 04:21:32PM +0200, Jani Nikula wrote: >> Now that intel_lvds_init() is only called for platforms that might have >> LVDS, move the remaining checks to intel_setup_outputs(), again similar >> to other outputs, and remove the overlapping checks. >> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com> >> --- >> drivers/gpu/drm/i915/intel_display.c | 6 ++++-- >> drivers/gpu/drm/i915/intel_lvds.c | 23 ----------------------- >> 2 files changed, 4 insertions(+), 25 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c >> index 4b5704a87934..4207ee0b83ce 100644 >> --- a/drivers/gpu/drm/i915/intel_display.c >> +++ b/drivers/gpu/drm/i915/intel_display.c >> @@ -14464,7 +14464,8 @@ static void intel_setup_outputs(struct drm_i915_private *dev_priv) > > Had to read the earlier patch twice to make sure we're not leaving > ibx/cpt/ppt or pnv behind. > >> } else if (IS_GEN_RANGE(dev_priv, 3, 4)) { >> bool found = false; >> >> - intel_lvds_init(dev_priv); >> + if (IS_MOBILE(dev_priv)) >> + intel_lvds_init(dev_priv); >> >> if (dev_priv->vbt.int_crt_support) >> intel_crt_init(dev_priv); >> @@ -14501,7 +14502,8 @@ static void intel_setup_outputs(struct drm_i915_private *dev_priv) >> if (IS_G4X(dev_priv) && (I915_READ(DP_D) & DP_DETECTED)) >> intel_dp_init(dev_priv, DP_D, PORT_D); >> } else if (IS_GEN(dev_priv, 2)) { >> - intel_lvds_init(dev_priv); >> + if (IS_MOBILE(dev_priv) && !IS_I830(dev_priv)) > > aka. IS_I85X() Made the change in a separate patch. > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Thanks, Jani. > >> + intel_lvds_init(dev_priv); >> >> if (dev_priv->vbt.int_crt_support) >> intel_crt_init(dev_priv); >> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c >> index 46a5dfd5cdf7..815ed463d9c5 100644 >> --- a/drivers/gpu/drm/i915/intel_lvds.c >> +++ b/drivers/gpu/drm/i915/intel_lvds.c >> @@ -798,26 +798,6 @@ static bool compute_is_dual_link_lvds(struct intel_lvds_encoder *lvds_encoder) >> return (val & LVDS_CLKB_POWER_MASK) == LVDS_CLKB_POWER_UP; >> } >> >> -static bool intel_lvds_supported(struct drm_i915_private *dev_priv) >> -{ >> - /* >> - * With the introduction of the PCH we gained a dedicated >> - * LVDS presence pin, use it. >> - */ >> - if (HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)) >> - return true; >> - >> - /* >> - * Otherwise LVDS was only attached to mobile products, >> - * except for the inglorious 830gm >> - */ >> - if (INTEL_GEN(dev_priv) <= 4 && >> - IS_MOBILE(dev_priv) && !IS_I830(dev_priv)) >> - return true; >> - >> - return false; >> -} >> - >> /** >> * intel_lvds_init - setup LVDS connectors on this device >> * @dev_priv: i915 device >> @@ -842,9 +822,6 @@ void intel_lvds_init(struct drm_i915_private *dev_priv) >> u8 pin; >> u32 allowed_scalers; >> >> - if (!intel_lvds_supported(dev_priv)) >> - return; >> - >> /* Skip init on machines we know falsely report LVDS */ >> if (dmi_check_system(intel_no_lvds)) { >> WARN(!dev_priv->vbt.int_lvds_support, >> -- >> 2.20.1 >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 4b5704a87934..4207ee0b83ce 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -14464,7 +14464,8 @@ static void intel_setup_outputs(struct drm_i915_private *dev_priv) } else if (IS_GEN_RANGE(dev_priv, 3, 4)) { bool found = false; - intel_lvds_init(dev_priv); + if (IS_MOBILE(dev_priv)) + intel_lvds_init(dev_priv); if (dev_priv->vbt.int_crt_support) intel_crt_init(dev_priv); @@ -14501,7 +14502,8 @@ static void intel_setup_outputs(struct drm_i915_private *dev_priv) if (IS_G4X(dev_priv) && (I915_READ(DP_D) & DP_DETECTED)) intel_dp_init(dev_priv, DP_D, PORT_D); } else if (IS_GEN(dev_priv, 2)) { - intel_lvds_init(dev_priv); + if (IS_MOBILE(dev_priv) && !IS_I830(dev_priv)) + intel_lvds_init(dev_priv); if (dev_priv->vbt.int_crt_support) intel_crt_init(dev_priv); diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 46a5dfd5cdf7..815ed463d9c5 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c @@ -798,26 +798,6 @@ static bool compute_is_dual_link_lvds(struct intel_lvds_encoder *lvds_encoder) return (val & LVDS_CLKB_POWER_MASK) == LVDS_CLKB_POWER_UP; } -static bool intel_lvds_supported(struct drm_i915_private *dev_priv) -{ - /* - * With the introduction of the PCH we gained a dedicated - * LVDS presence pin, use it. - */ - if (HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)) - return true; - - /* - * Otherwise LVDS was only attached to mobile products, - * except for the inglorious 830gm - */ - if (INTEL_GEN(dev_priv) <= 4 && - IS_MOBILE(dev_priv) && !IS_I830(dev_priv)) - return true; - - return false; -} - /** * intel_lvds_init - setup LVDS connectors on this device * @dev_priv: i915 device @@ -842,9 +822,6 @@ void intel_lvds_init(struct drm_i915_private *dev_priv) u8 pin; u32 allowed_scalers; - if (!intel_lvds_supported(dev_priv)) - return; - /* Skip init on machines we know falsely report LVDS */ if (dmi_check_system(intel_no_lvds)) { WARN(!dev_priv->vbt.int_lvds_support,
Now that intel_lvds_init() is only called for platforms that might have LVDS, move the remaining checks to intel_setup_outputs(), again similar to other outputs, and remove the overlapping checks. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/intel_display.c | 6 ++++-- drivers/gpu/drm/i915/intel_lvds.c | 23 ----------------------- 2 files changed, 4 insertions(+), 25 deletions(-)