All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chanwoo Choi <cw00.choi@samsung.com>
To: myungjoo.ham@samsung.com, 박경민 <kyungmin.park@samsung.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>
Subject: Re: [PATCH 6/6] PM / devfreq: Set the min_freq and max_freq of devfreq device
Date: Thu, 19 Nov 2015 19:37:22 +0900	[thread overview]
Message-ID: <564DA662.5060207@samsung.com> (raw)
In-Reply-To: <932082455.1194101447927858604.JavaMail.weblogic@ep2mlwas06b>

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@samsung.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




  reply	other threads:[~2015-11-19 10:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-19 10:10 [PATCH 6/6] PM / devfreq: Set the min_freq and max_freq of devfreq device MyungJoo Ham
2015-11-19 10:10 ` MyungJoo Ham
2015-11-19 10:37 ` Chanwoo Choi [this message]
  -- strict thread matches above, loose matches on Subject: below --
2015-11-19  8:17 [PATCH 0/6] PM / devfreq: Clean code and add set the freq_table array Chanwoo Choi
2015-11-19  8:17 ` [PATCH 6/6] PM / devfreq: Set the min_freq and max_freq of devfreq device Chanwoo Choi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=564DA662.5060207@samsung.com \
    --to=cw00.choi@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=myungjoo.ham@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.