All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rajendra Nayak <rnayak@codeaurora.org>
To: Punit Agrawal <punit.agrawal@arm.com>
Cc: linux-arm-msm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org,
	rui.zhang@intel.com, edubezval@gmail.com, sboyd@codeaurora.org,
	srinivas.kandagatla@linaro.org, nrajan@codeaurora.org,
	lina.iyer@linaro.org
Subject: Re: [PATCH v2 2/9] thermal: qcom: tsens-8916: Add support for 8916 family of SoCs
Date: Mon, 21 Sep 2015 09:58:17 +0530	[thread overview]
Message-ID: <55FF8761.9010808@codeaurora.org> (raw)
In-Reply-To: <9hh4miutr21.fsf@e105922-lin.cambridge.arm.com>

[]..

>> +static inline int code_to_degc(u32 adc_code, const struct tsens_sensor *s)
>> +{
>> +	int degc, num, den;
>> +
>> +	num = (adc_code * SLOPE_FACTOR) - s->offset;
>> +	den = s->slope;
>> +
>> +	if (num > 0)
>> +		degc = num + (den / 2);
>> +	else if (num < 0)
>> +		degc = num - (den / 2);
>> +	else
>> +		degc = num;
>> +
>> +	degc /= den;
>> +
>> +	return degc;
>> +}
>> +
>> +int get_temp_common(struct tsens_device *tmdev, int id, int *temp)
>> +{
>> +	struct tsens_sensor *s = &tmdev->sensor[id];
>> +	u32 code;
>> +	unsigned int sensor_addr;
>> +	int last_temp = 0, ret;
>> +
>> +	sensor_addr = S0_ST_ADDR + s->hw_id * SN_ADDR_OFFSET;
>> +	ret = regmap_read(tmdev->map, sensor_addr, &code);
>> +	if (ret)
>> +		return ret;
>> +	last_temp = code & SN_ST_TEMP_MASK;
>> +
>> +	*temp = code_to_degc(last_temp, s) * 1000;
>> +
>> +	return 0;
>> +}
>
> The way this function is coded the temperature will only ever change by
> 1C (i.e., 1000mC). Is there a chance that you're losing precision in the
> code_to_degc conversion that could be preserved perhaps?
>
> This is useful in scenarios where you use the power allocator governor
> and the greater precision allows better power budget estimation.

I'll take a look to see if we can get better precision. Thanks.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

WARNING: multiple messages have this Message-ID (diff)
From: rnayak@codeaurora.org (Rajendra Nayak)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/9] thermal: qcom: tsens-8916: Add support for 8916 family of SoCs
Date: Mon, 21 Sep 2015 09:58:17 +0530	[thread overview]
Message-ID: <55FF8761.9010808@codeaurora.org> (raw)
In-Reply-To: <9hh4miutr21.fsf@e105922-lin.cambridge.arm.com>

[]..

>> +static inline int code_to_degc(u32 adc_code, const struct tsens_sensor *s)
>> +{
>> +	int degc, num, den;
>> +
>> +	num = (adc_code * SLOPE_FACTOR) - s->offset;
>> +	den = s->slope;
>> +
>> +	if (num > 0)
>> +		degc = num + (den / 2);
>> +	else if (num < 0)
>> +		degc = num - (den / 2);
>> +	else
>> +		degc = num;
>> +
>> +	degc /= den;
>> +
>> +	return degc;
>> +}
>> +
>> +int get_temp_common(struct tsens_device *tmdev, int id, int *temp)
>> +{
>> +	struct tsens_sensor *s = &tmdev->sensor[id];
>> +	u32 code;
>> +	unsigned int sensor_addr;
>> +	int last_temp = 0, ret;
>> +
>> +	sensor_addr = S0_ST_ADDR + s->hw_id * SN_ADDR_OFFSET;
>> +	ret = regmap_read(tmdev->map, sensor_addr, &code);
>> +	if (ret)
>> +		return ret;
>> +	last_temp = code & SN_ST_TEMP_MASK;
>> +
>> +	*temp = code_to_degc(last_temp, s) * 1000;
>> +
>> +	return 0;
>> +}
>
> The way this function is coded the temperature will only ever change by
> 1C (i.e., 1000mC). Is there a chance that you're losing precision in the
> code_to_degc conversion that could be preserved perhaps?
>
> This is useful in scenarios where you use the power allocator governor
> and the greater precision allows better power budget estimation.

I'll take a look to see if we can get better precision. Thanks.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

  reply	other threads:[~2015-09-21  4:28 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-16  6:23 [PATCH v2 0/9] qcom: Add support for TSENS driver Rajendra Nayak
2015-09-16  6:23 ` Rajendra Nayak
2015-09-16  6:23 ` [PATCH v2 1/9] thermal: qcom: tsens: Add a skeletal TSENS drivers Rajendra Nayak
2015-09-16  6:23   ` Rajendra Nayak
2015-09-16 13:44   ` Punit Agrawal
2015-09-16 13:44     ` Punit Agrawal
2015-09-21  4:26     ` Rajendra Nayak
2015-09-21  4:26       ` Rajendra Nayak
2015-09-16  6:23 ` [PATCH v2 2/9] thermal: qcom: tsens-8916: Add support for 8916 family of SoCs Rajendra Nayak
2015-09-16  6:23   ` Rajendra Nayak
2015-09-16 13:46   ` Punit Agrawal
2015-09-16 13:46     ` Punit Agrawal
2015-09-21  4:28     ` Rajendra Nayak [this message]
2015-09-21  4:28       ` Rajendra Nayak
2015-10-08  5:05       ` Rajendra Nayak
2015-10-08  5:05         ` Rajendra Nayak
2015-10-08 14:32         ` Punit Agrawal
2015-10-08 14:32           ` Punit Agrawal
2015-09-16  6:23 ` [PATCH v2 3/9] thermal: qcom: tsens-8974: Add support for 8974 " Rajendra Nayak
2015-09-16  6:23   ` Rajendra Nayak
2015-09-16  6:23 ` [PATCH v2 4/9] clk: qcom: create virtual child device for TSENS Rajendra Nayak
2015-09-16  6:23   ` Rajendra Nayak
2015-09-16 22:39   ` Stephen Boyd
2015-09-16 22:39     ` Stephen Boyd
2015-09-21  4:28     ` Rajendra Nayak
2015-09-21  4:28       ` Rajendra Nayak
2015-09-16  6:23 ` [PATCH v2 5/9] thermal: qcom: tsens-8960: Add support for 8960 family of SoCs Rajendra Nayak
2015-09-16  6:23   ` Rajendra Nayak
2015-09-16  6:23 ` [PATCH v2 6/9] arm: dts: msm8974: Add thermal zones, tsens and qfprom nodes Rajendra Nayak
2015-09-16  6:23   ` Rajendra Nayak
2015-09-16  6:23 ` [PATCH v2 7/9] arm: dts: apq8064: " Rajendra Nayak
2015-09-16  6:23   ` Rajendra Nayak
2015-09-16  6:23 ` [PATCH v2 8/9] arm: dts: apq8084: " Rajendra Nayak
2015-09-16  6:23   ` Rajendra Nayak
2015-09-16  6:23 ` [PATCH v2 9/9] arm64: dts: msm8916: " Rajendra Nayak
2015-09-16  6:23   ` Rajendra Nayak

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=55FF8761.9010808@codeaurora.org \
    --to=rnayak@codeaurora.org \
    --cc=edubezval@gmail.com \
    --cc=lina.iyer@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=nrajan@codeaurora.org \
    --cc=punit.agrawal@arm.com \
    --cc=rui.zhang@intel.com \
    --cc=sboyd@codeaurora.org \
    --cc=srinivas.kandagatla@linaro.org \
    /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.