00001 #ifndef __firperc_H__ 00002 #define __firperc_H__ 00003 00004 #include <linux/aquosa/qmgr_base.h> 00005 #include <linux/aquosa/qos_queue.h> 00006 00007 #include <linux/aquosa/fir.h> 00008 #include <linux/aquosa/percpred.h> 00009 00020 typedef struct firperc_params_struct { 00021 qmgr_pred_params_t base; 00022 int sample_size; 00023 int *coeffs; 00024 int coeffs_num; 00025 int discarded; 00026 } firperc_params_t; 00027 00029 typedef struct firperc_struct { 00030 qmgr_pred_t base; 00031 fir_t fir; 00032 percpred_t percpred; 00033 qres_time_t last_est; 00034 qres_time_t last_fir; 00035 } firperc_t; 00036 00038 qos_rv firperc_register(void); 00039 00047 qos_rv firperc_init(qmgr_pred_t *self, qmgr_pred_params_t *self_params); 00048 00050 qos_rv firperc_final(qmgr_pred_t *self); 00051 00059 qos_rv firperc_add_sample(qmgr_pred_t *pred, qres_time_t new_sample); 00060 00061 qres_time_t firperc_get_exp_value(qmgr_pred_t *pred); 00062 00065 #endif