Beispiel #1
0
static 
void calc_hwt_expiry(struct hwt_info *hwt, struct u64_val *hwt_current, 
                     struct u64_val *sw_interval, struct u64_val *hwt_expires)
{
        hwt_expires->hi_32 = hwt_get_rollovers(hwt);

        hwt_is_64bits(hwt)? 
                calc_hwt_expiry_u64(hwt_current, sw_interval, hwt_expires) :
                calc_hwt_expiry_u32(hwt_current, sw_interval, hwt_expires);
        return;
}
Beispiel #2
0
static void calc_hwt_expiry_secs(struct hwt_info *hwt,
                                 struct u64_val  *hwt_current, 
                                 struct u64_val  *sw_interval,
                                 struct u64_val  *hwt_expires)
                                 
{
        hwt_is_64bits(hwt)? 
                calc_hwt_expiry_secs_u64(hwt_current, sw_interval, hwt_expires) :
                calc_hwt_expiry_nsec_u32(hwt_current, sw_interval, hwt_expires);

        return;
}
Beispiel #3
0
static 
i32 calc_ticks_interval(struct hwt_info *hwt, struct u64_time *time_u64, 
                        struct u64_val *sw_interval)
                       
{
        u64 tmp64 = 0;
        u32 hwt_freq = hwt_get_frequency(hwt);
        
        if(time_u64->nsec > (NSEC_VAL_FOR_1SEC - 1))
                return -1; /* Value exceeds a sec */

        tmp64 = time_u64->nsec * hwt_freq;
        sw_interval->lo_32 = tmp64 / NSEC_VAL_FOR_1SEC;

        return  hwt_is_64bits(hwt)? 
                calc_ticks_interval_u64(time_u64->secs * hwt_freq, sw_interval) :
                calc_ticks_interval_u32(time_u64->secs * hwt_freq, sw_interval);
}