diff mbox

[14/15] drm/i915: Get the iboost setting based on the port type

Message ID 1449597590-6971-15-git-send-email-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ville Syrjälä Dec. 8, 2015, 5:59 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Program the 'iboost_bit' based on what the VBT says it should be for
the specific port type, rather than assume it's alwasy the same
for DP and HDMI.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_ddi.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Daniel Vetter Dec. 10, 2015, 1:55 p.m. UTC | #1
On Tue, Dec 08, 2015 at 07:59:49PM +0200, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Program the 'iboost_bit' based on what the VBT says it should be for
> the specific port type, rather than assume it's alwasy the same
> for DP and HDMI.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

I guess we don't have any indication that vbt would set this differently
depending upon port?

Anyway makes sense, and if it breaks something we'll know.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/i915/intel_ddi.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index 8d8f346a9615..f4f5c52a116c 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -421,8 +421,7 @@ void intel_prepare_dp_ddi_buffers(struct intel_encoder *encoder)
>  		ddi_translations_edp =
>  				skl_get_buf_trans_edp(dev_priv, &n_edp_entries);
>  		/* If we're boosting the current, set bit 31 of trans1 */
> -		if (dev_priv->vbt.ddi_port_info[port].hdmi_boost_level ||
> -		    dev_priv->vbt.ddi_port_info[port].dp_boost_level)
> +		if (dev_priv->vbt.ddi_port_info[port].dp_boost_level)
>  			iboost_bit = 1<<31;
>  
>  		if (WARN_ON(port != PORT_A &&
> @@ -508,8 +507,7 @@ static void intel_prepare_hdmi_ddi_buffers(struct intel_encoder *encoder)
>  		ddi_translations_hdmi = skl_get_buf_trans_hdmi(dev_priv, &n_hdmi_entries);
>  		hdmi_default_entry = 8;
>  		/* If we're boosting the current, set bit 31 of trans1 */
> -		if (dev_priv->vbt.ddi_port_info[port].hdmi_boost_level ||
> -		    dev_priv->vbt.ddi_port_info[port].dp_boost_level)
> +		if (dev_priv->vbt.ddi_port_info[port].hdmi_boost_level)
>  			iboost_bit = 1<<31;
>  	} else if (IS_BROADWELL(dev_priv)) {
>  		ddi_translations_hdmi = bdw_ddi_translations_hdmi;
> -- 
> 2.4.10
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Ville Syrjälä Dec. 10, 2015, 2:17 p.m. UTC | #2
On Thu, Dec 10, 2015 at 02:55:41PM +0100, Daniel Vetter wrote:
> On Tue, Dec 08, 2015 at 07:59:49PM +0200, ville.syrjala@linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Program the 'iboost_bit' based on what the VBT says it should be for
> > the specific port type, rather than assume it's alwasy the same
> > for DP and HDMI.
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> I guess we don't have any indication that vbt would set this differently
> depending upon port?

No idea. I guess it would be a bit weird to have a DP++ port and drive
it differently for DP and HDMI.

> 
> Anyway makes sense, and if it breaks something we'll know.
> 
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> > ---
> >  drivers/gpu/drm/i915/intel_ddi.c | 6 ++----
> >  1 file changed, 2 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> > index 8d8f346a9615..f4f5c52a116c 100644
> > --- a/drivers/gpu/drm/i915/intel_ddi.c
> > +++ b/drivers/gpu/drm/i915/intel_ddi.c
> > @@ -421,8 +421,7 @@ void intel_prepare_dp_ddi_buffers(struct intel_encoder *encoder)
> >  		ddi_translations_edp =
> >  				skl_get_buf_trans_edp(dev_priv, &n_edp_entries);
> >  		/* If we're boosting the current, set bit 31 of trans1 */
> > -		if (dev_priv->vbt.ddi_port_info[port].hdmi_boost_level ||
> > -		    dev_priv->vbt.ddi_port_info[port].dp_boost_level)
> > +		if (dev_priv->vbt.ddi_port_info[port].dp_boost_level)
> >  			iboost_bit = 1<<31;
> >  
> >  		if (WARN_ON(port != PORT_A &&
> > @@ -508,8 +507,7 @@ static void intel_prepare_hdmi_ddi_buffers(struct intel_encoder *encoder)
> >  		ddi_translations_hdmi = skl_get_buf_trans_hdmi(dev_priv, &n_hdmi_entries);
> >  		hdmi_default_entry = 8;
> >  		/* If we're boosting the current, set bit 31 of trans1 */
> > -		if (dev_priv->vbt.ddi_port_info[port].hdmi_boost_level ||
> > -		    dev_priv->vbt.ddi_port_info[port].dp_boost_level)
> > +		if (dev_priv->vbt.ddi_port_info[port].hdmi_boost_level)
> >  			iboost_bit = 1<<31;
> >  	} else if (IS_BROADWELL(dev_priv)) {
> >  		ddi_translations_hdmi = bdw_ddi_translations_hdmi;
> > -- 
> > 2.4.10
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 8d8f346a9615..f4f5c52a116c 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -421,8 +421,7 @@  void intel_prepare_dp_ddi_buffers(struct intel_encoder *encoder)
 		ddi_translations_edp =
 				skl_get_buf_trans_edp(dev_priv, &n_edp_entries);
 		/* If we're boosting the current, set bit 31 of trans1 */
-		if (dev_priv->vbt.ddi_port_info[port].hdmi_boost_level ||
-		    dev_priv->vbt.ddi_port_info[port].dp_boost_level)
+		if (dev_priv->vbt.ddi_port_info[port].dp_boost_level)
 			iboost_bit = 1<<31;
 
 		if (WARN_ON(port != PORT_A &&
@@ -508,8 +507,7 @@  static void intel_prepare_hdmi_ddi_buffers(struct intel_encoder *encoder)
 		ddi_translations_hdmi = skl_get_buf_trans_hdmi(dev_priv, &n_hdmi_entries);
 		hdmi_default_entry = 8;
 		/* If we're boosting the current, set bit 31 of trans1 */
-		if (dev_priv->vbt.ddi_port_info[port].hdmi_boost_level ||
-		    dev_priv->vbt.ddi_port_info[port].dp_boost_level)
+		if (dev_priv->vbt.ddi_port_info[port].hdmi_boost_level)
 			iboost_bit = 1<<31;
 	} else if (IS_BROADWELL(dev_priv)) {
 		ddi_translations_hdmi = bdw_ddi_translations_hdmi;