[Intel-gfx] [PATCH] drm/i915: Fix erroneous conversion to u8
Ville Syrjälä
ville.syrjala at linux.intel.com
Fri Aug 8 20:32:20 CEST 2014
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 at linux.intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> 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
More information about the Intel-gfx
mailing list