Bluetooth: Replace L2CAP link mode with security level
[pandora-kernel.git] / include / net / red.h
index 5ccdbb3..3cf31d4 100644 (file)
@@ -151,17 +151,17 @@ static inline void red_set_parms(struct red_parms *p,
 
 static inline int red_is_idling(struct red_parms *p)
 {
-       return !PSCHED_IS_PASTPERFECT(p->qidlestart);
+       return p->qidlestart != PSCHED_PASTPERFECT;
 }
 
 static inline void red_start_of_idle_period(struct red_parms *p)
 {
-       PSCHED_GET_TIME(p->qidlestart);
+       p->qidlestart = psched_get_time();
 }
 
 static inline void red_end_of_idle_period(struct red_parms *p)
 {
-       PSCHED_SET_PASTPERFECT(p->qidlestart);
+       p->qidlestart = PSCHED_PASTPERFECT;
 }
 
 static inline void red_restart(struct red_parms *p)
@@ -177,8 +177,8 @@ static inline unsigned long red_calc_qavg_from_idle_time(struct red_parms *p)
        long us_idle;
        int  shift;
 
-       PSCHED_GET_TIME(now);
-       us_idle = PSCHED_TDIFF_SAFE(now, p->qidlestart, p->Scell_max);
+       now = psched_get_time();
+       us_idle = psched_tdiff_bounded(now, p->qidlestart, p->Scell_max);
 
        /*
         * The problem: ideally, average length queue recalcultion should
@@ -212,7 +212,7 @@ static inline unsigned long red_calc_qavg_from_idle_time(struct red_parms *p)
                 * Seems, it is the best solution to
                 * problem of too coarse exponent tabulation.
                 */
-               us_idle = (p->qavg * us_idle) >> p->Scell_log;
+               us_idle = (p->qavg * (u64)us_idle) >> p->Scell_log;
 
                if (us_idle < (p->qavg >> 1))
                        return p->qavg - us_idle;