Re: [PATCH 10/10] drm/i915: Drop the redundant hdmi prefix/suffix from a lot of variables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 18, 2017 at 08:54:12PM +0300, Ville Syrjälä wrote:
> On Wed, Oct 18, 2017 at 10:43:54AM -0700, James Ausmus wrote:
> > On Mon, Oct 16, 2017 at 05:57:05PM +0300, Ville Syrjala wrote:
> > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > > 
> > > A bunch of functions are now exclusively used for HDMI, so naming the
> > > variables with hdmi prefix/suffix is redundant. Also use int rather
> > > than u32 for the translation level consistently.
> > 
> > Is there a case for level to be negative, ever? If not, keeping it u32
> > could help catch cases where we accidently try to set level to -1.
> 
> Is UINT_MAX any better than -1?
> 

I was hoping gcc could be smart enough to throw a warning on an unsigned
underflow, but it doesn't appear to be.

> > 
> > > 
> > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > > ---
> > >  drivers/gpu/drm/i915/intel_ddi.c | 61 +++++++++++++++++++---------------------
> > >  1 file changed, 29 insertions(+), 32 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> > > index 5f1c546e5e61..cd550aab332b 100644
> > > --- a/drivers/gpu/drm/i915/intel_ddi.c
> > > +++ b/drivers/gpu/drm/i915/intel_ddi.c
> > > @@ -770,41 +770,38 @@ cnl_get_buf_trans_edp(struct drm_i915_private *dev_priv, int *n_entries)
> > >  
> > >  static int intel_ddi_hdmi_level(struct drm_i915_private *dev_priv, enum port port)
> > >  {
> > > -	int n_hdmi_entries;
> > > -	int hdmi_level;
> > > -	int hdmi_default_entry;
> > > +	int n_entries, level, default_entry;
> > >  
> > > -	hdmi_level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
> > > +	level = dev_priv->vbt.ddi_port_info[port].hdmi_level_shift;
> > >  
> > >  	if (IS_CANNONLAKE(dev_priv)) {
> > > -		cnl_get_buf_trans_hdmi(dev_priv, &n_hdmi_entries);
> > > -		hdmi_default_entry = n_hdmi_entries - 1;
> > > +		cnl_get_buf_trans_hdmi(dev_priv, &n_entries);
> > > +		default_entry = n_entries - 1;
> > >  	} else if (IS_GEN9_LP(dev_priv)) {
> > > -		bxt_get_buf_trans_hdmi(dev_priv, &n_hdmi_entries);
> > > -		hdmi_default_entry = n_hdmi_entries - 1;
> > > +		bxt_get_buf_trans_hdmi(dev_priv, &n_entries);
> > > +		default_entry = n_entries - 1;
> > >  	} else if (IS_GEN9_BC(dev_priv)) {
> > > -		intel_ddi_get_buf_trans_hdmi(dev_priv, &n_hdmi_entries);
> > > -		hdmi_default_entry = 8;
> > > +		intel_ddi_get_buf_trans_hdmi(dev_priv, &n_entries);
> > > +		default_entry = 8;
> > >  	} else if (IS_BROADWELL(dev_priv)) {
> > > -		intel_ddi_get_buf_trans_hdmi(dev_priv, &n_hdmi_entries);
> > > -		hdmi_default_entry = 7;
> > > +		intel_ddi_get_buf_trans_hdmi(dev_priv, &n_entries);
> > > +		default_entry = 7;
> > >  	} else if (IS_HASWELL(dev_priv)) {
> > > -		intel_ddi_get_buf_trans_hdmi(dev_priv, &n_hdmi_entries);
> > > -		hdmi_default_entry = 6;
> > > +		intel_ddi_get_buf_trans_hdmi(dev_priv, &n_entries);
> > > +		default_entry = 6;
> > >  	} else {
> > >  		WARN(1, "ddi translation table missing\n");
> > >  		return 0;
> > >  	}
> > >  
> > >  	/* Choose a good default if VBT is badly populated */
> > > -	if (hdmi_level == HDMI_LEVEL_SHIFT_UNKNOWN ||
> > > -	    hdmi_level >= n_hdmi_entries)
> > > -		hdmi_level = hdmi_default_entry;
> > > +	if (level == HDMI_LEVEL_SHIFT_UNKNOWN || level >= n_entries)
> > > +		level = default_entry;
> > >  
> > > -	if (WARN_ON_ONCE(hdmi_level >= n_hdmi_entries))
> > > -		hdmi_level = n_hdmi_entries - 1;
> > > +	if (WARN_ON_ONCE(level >= n_entries))
> > > +		level = n_entries - 1;
> > >  
> > > -	return hdmi_level;
> > > +	return level;
> > >  }
> > >  
> > >  /*
> > > @@ -857,20 +854,20 @@ static void intel_prepare_dp_ddi_buffers(struct intel_encoder *encoder)
> > >   * HDMI/DVI use cases.
> > >   */
> > >  static void intel_prepare_hdmi_ddi_buffers(struct intel_encoder *encoder,
> > > -					   int hdmi_level)
> > > +					   int level)
> > >  {
> > >  	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> > >  	u32 iboost_bit = 0;
> > > -	int n_hdmi_entries;
> > > +	int n_entries;
> > >  	enum port port = intel_ddi_get_encoder_port(encoder);
> > > -	const struct ddi_buf_trans *ddi_translations_hdmi;
> > > +	const struct ddi_buf_trans *ddi_translations;
> > >  
> > > -	ddi_translations_hdmi = intel_ddi_get_buf_trans_hdmi(dev_priv, &n_hdmi_entries);
> > > +	ddi_translations = intel_ddi_get_buf_trans_hdmi(dev_priv, &n_entries);
> > >  
> > > -	if (WARN_ON_ONCE(!ddi_translations_hdmi))
> > > +	if (WARN_ON_ONCE(!ddi_translations))
> > >  		return;
> > > -	if (WARN_ON_ONCE(hdmi_level >= n_hdmi_entries))
> > > -		hdmi_level = n_hdmi_entries - 1;
> > > +	if (WARN_ON_ONCE(level >= n_entries))
> > > +		level = n_entries - 1;
> > >  
> > >  	/* If we're boosting the current, set bit 31 of trans1 */
> > >  	if (IS_GEN9_BC(dev_priv) &&
> > > @@ -879,9 +876,9 @@ static void intel_prepare_hdmi_ddi_buffers(struct intel_encoder *encoder,
> > >  
> > >  	/* Entry 9 is for HDMI: */
> > >  	I915_WRITE(DDI_BUF_TRANS_LO(port, 9),
> > > -		   ddi_translations_hdmi[hdmi_level].trans1 | iboost_bit);
> > > +		   ddi_translations[level].trans1 | iboost_bit);
> > >  	I915_WRITE(DDI_BUF_TRANS_HI(port, 9),
> > > -		   ddi_translations_hdmi[hdmi_level].trans2);
> > > +		   ddi_translations[level].trans2);
> > >  }
> > >  
> > >  static void intel_wait_ddi_buf_idle(struct drm_i915_private *dev_priv,
> > > @@ -2094,7 +2091,7 @@ u32 bxt_signal_levels(struct intel_dp *intel_dp)
> > >  	struct intel_digital_port *dport = dp_to_dig_port(intel_dp);
> > >  	struct drm_i915_private *dev_priv = to_i915(dport->base.base.dev);
> > >  	struct intel_encoder *encoder = &dport->base;
> > > -	u32 level = intel_ddi_dp_level(intel_dp);
> > > +	int level = intel_ddi_dp_level(intel_dp);
> > >  
> > >  	if (IS_CANNONLAKE(dev_priv))
> > >  		cnl_ddi_vswing_sequence(encoder, level, encoder->type);
> > > @@ -2109,7 +2106,7 @@ uint32_t ddi_signal_levels(struct intel_dp *intel_dp)
> > >  	struct intel_digital_port *dport = dp_to_dig_port(intel_dp);
> > >  	struct drm_i915_private *dev_priv = to_i915(dport->base.base.dev);
> > >  	struct intel_encoder *encoder = &dport->base;
> > > -	uint32_t level = intel_ddi_dp_level(intel_dp);
> > > +	int level = intel_ddi_dp_level(intel_dp);
> > >  
> > >  	if (IS_GEN9_BC(dev_priv))
> > >  		skl_ddi_set_iboost(encoder, level, encoder->type);
> > > @@ -2182,7 +2179,7 @@ static void intel_ddi_pre_enable_dp(struct intel_encoder *encoder,
> > >  	enum port port = intel_ddi_get_encoder_port(encoder);
> > >  	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> > >  	bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST);
> > > -	uint32_t level = intel_ddi_dp_level(intel_dp);
> > > +	int level = intel_ddi_dp_level(intel_dp);
> > >  
> > >  	WARN_ON(is_mst && (port == PORT_A || port == PORT_E));
> > >  
> > > -- 
> > > 2.13.6
> > > 
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Ville Syrjälä
> Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux