lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Thu, 19 Nov 2015 19:37:22 +0900
From:	Chanwoo Choi <cw00.choi@...sung.com>
To:	myungjoo.ham@...sung.com,
	박경민 <kyungmin.park@...sung.com>
Cc:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>
Subject: Re: [PATCH 6/6] PM / devfreq: Set the min_freq and max_freq of devfreq
 device

On 2015년 11월 19일 19:10, MyungJoo Ham wrote:
>> After probing the devfreq device driver, the value of both min_freq and
>> max_freq are zero(0). So, this patch initializes the 'min_freq' and 'max_freq'
>> field of devfreq device by using the freq_table array.
>>
>> Signed-off-by: Chanwoo Choi <cw00.choi@...sung.com>
>> ---
>>  drivers/devfreq/devfreq.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
>> index c292ceb7ff19..0b24ae7b7a48 100644
>> --- a/drivers/devfreq/devfreq.c
>> +++ b/drivers/devfreq/devfreq.c
>> @@ -121,6 +121,11 @@ static void devfreq_set_freq_table(struct devfreq *devfreq)
>>  		profile->freq_table[i] = freq;
>>  	}
>>  	rcu_read_unlock();
>> +
>> +	mutex_lock(&devfreq->lock);
>> +	devfreq->min_freq = profile->freq_table[0];
>> +	devfreq->max_freq = profile->freq_table[profile->max_state - 1];
>> +	mutex_unlock(&devfreq->lock);
>>  }
> 
> No, you should not do this.
> 
> It is allowed to use devfreq without both OPP and freq_table
> assuming that the devfreq device may operate with very many
> frequencies so that practically, we can virtually give it
> any frequency numbers in a given range.
> (cases where profile->max_state is 0 and it is not an error)
> 
> The value 0 is used for min/max_freq to declare
> that min/max_freq is deactivated. Therefore, it is not
> required to do so; they are not intended to show the hardware
> configuration as well.

This case consider the devfreq device using OPP because devfreq_set_freq_table()
get the number of OPP entry in OPP list before setting the min_freq/max_freq.
If the devfreq device don't use the OPP entry, devfreq_set_freq_table()
will return without any operation.

IMHO, when devfreq device uses the OPP table including the frequency,
min_freq/max_freq should show the correct value as CPUFREQ framework.

Regards,
Chanwoo CHoi



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ