drm/nouveau/temp: Fix signed/unsigned int logic
[pandora-kernel.git] / drivers / gpu / drm / nouveau / nouveau_temp.c
index 649b041..47630fb 100644 (file)
@@ -43,7 +43,7 @@ nouveau_temp_vbios_parse(struct drm_device *dev, u8 *temp)
 
        /* Set the default sensor's contants */
        sensor->offset_constant = 0;
-       sensor->offset_mult = 1;
+       sensor->offset_mult = 0;
        sensor->offset_div = 1;
        sensor->slope_mult = 1;
        sensor->slope_div = 1;
@@ -109,7 +109,7 @@ nouveau_temp_vbios_parse(struct drm_device *dev, u8 *temp)
 
        /* Read the entries from the table */
        for (i = 0; i < entries; i++) {
-               u16 value = ROM16(temp[1]);
+               s16 value = ROM16(temp[1]);
 
                switch (temp[0]) {
                case 0x01:
@@ -160,8 +160,8 @@ nv40_sensor_setup(struct drm_device *dev)
        struct drm_nouveau_private *dev_priv = dev->dev_private;
        struct nouveau_pm_engine *pm = &dev_priv->engine.pm;
        struct nouveau_pm_temp_sensor_constants *sensor = &pm->sensor_constants;
-       u32 offset = sensor->offset_mult / sensor->offset_div;
-       u32 sensor_calibration;
+       s32 offset = sensor->offset_mult / sensor->offset_div;
+       s32 sensor_calibration;
 
        /* set up the sensors */
        sensor_calibration = 120 - offset - sensor->offset_constant;