Lines Matching refs:est
2083 struct rate_estimator *est; in idt77252_est_timer() local
2090 est = vc->estimator; in idt77252_est_timer()
2091 if (!est) in idt77252_est_timer()
2094 ncells = est->cells; in idt77252_est_timer()
2096 rate = ((u32)(ncells - est->last_cells)) << (7 - est->interval); in idt77252_est_timer()
2097 est->last_cells = ncells; in idt77252_est_timer()
2098 est->avcps += ((long)rate - (long)est->avcps) >> est->ewma_log; in idt77252_est_timer()
2099 est->cps = (est->avcps + 0x1f) >> 5; in idt77252_est_timer()
2101 cps = est->cps; in idt77252_est_timer()
2102 if (cps < (est->maxcps >> 4)) in idt77252_est_timer()
2103 cps = est->maxcps >> 4; in idt77252_est_timer()
2114 est->timer.expires = jiffies + ((HZ / 4) << est->interval); in idt77252_est_timer()
2115 add_timer(&est->timer); in idt77252_est_timer()
2124 struct rate_estimator *est; in idt77252_init_est() local
2126 est = kzalloc(sizeof(struct rate_estimator), GFP_KERNEL); in idt77252_init_est()
2127 if (!est) in idt77252_init_est()
2129 est->maxcps = pcr < 0 ? -pcr : pcr; in idt77252_init_est()
2130 est->cps = est->maxcps; in idt77252_init_est()
2131 est->avcps = est->cps << 5; in idt77252_init_est()
2133 est->interval = 2; /* XXX: make this configurable */ in idt77252_init_est()
2134 est->ewma_log = 2; /* XXX: make this configurable */ in idt77252_init_est()
2135 init_timer(&est->timer); in idt77252_init_est()
2136 est->timer.data = (unsigned long)vc; in idt77252_init_est()
2137 est->timer.function = idt77252_est_timer; in idt77252_init_est()
2139 est->timer.expires = jiffies + ((HZ / 4) << est->interval); in idt77252_init_est()
2140 add_timer(&est->timer); in idt77252_init_est()
2142 return est; in idt77252_init_est()