int cpubw_target(struct device *dev, unsigned long *freq, u32 flags)
{
	find_freq(&cpubw_profile, freq, flags);

	if (!gov_ab)
		return set_bw(*freq, find_ab(&cpubw_profile, freq));
	else
		return set_bw(*freq, gov_ab);
}
static int devbw_target(struct device *dev, unsigned long *freq, u32 flags)
{
    struct dev_data *d = dev_get_drvdata(dev);

    find_freq(&d->dp, freq, flags);

    if (!d->gov_ab)
        return set_bw(dev, *freq, find_ab(d, &d->dp, freq));
    else
        return set_bw(dev, *freq, d->gov_ab);
}
예제 #3
0
static void compute_bw(int mbps)
{
	static int cur_bw;
	int new_bw;

	mbps += guard_band_mbps;

	if (mbps > cur_bw) {
		new_bw = mbps;
	} else {
		new_bw = mbps * decay_rate + cur_bw * (100 - decay_rate);
		new_bw /= 100;
	}

	if (new_bw == cur_bw)
		return;

	set_bw(new_bw);
	cur_bw = new_bw;
}
예제 #4
0
void ADXL345::start(byte bw_code){
  set_bit(ADXL345_POWER_CTL_ADDRESS, 3);
  set_bit(ADXL345_DATA_FORMAT_ADDRESS, 3);
  set_bw(bw_code);
}