On Fri, Aug 08, 2014 at 07:25:57PM +0100, Damien Lespiau wrote: > adj was defined as u8. The issue is last_adj can be negative and adj is > initialized with: > > adj = dev_priv->rps.last_adj; > > and we were also happily doing things like: > > if (adj < 0) > > (thank static analysers!) > > v2: Make new_delay an int in case we overflow the u8 in the intermediate > computations. new_delay will get clamped at the end anyway. (Ville) > > Cc: Deepak S <deepak.s@xxxxxxxxxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_irq.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index 9fdf738..8e6729e 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -1327,10 +1327,10 @@ static u32 vlv_c0_residency(struct drm_i915_private *dev_priv, > * @dev_priv: DRM device private > * > */ > -static u32 vlv_calc_delay_from_C0_counters(struct drm_i915_private *dev_priv) > +static int vlv_calc_delay_from_C0_counters(struct drm_i915_private *dev_priv) > { > u32 residency_C0_up = 0, residency_C0_down = 0; > - u8 new_delay, adj; > + int new_delay, adj; > > dev_priv->rps.ei_interrupt_count++; > > -- > 1.8.3.1 -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx