linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Niklas Söderlund" <niklas.soderlund@ragnatech.se>
To: linux-pm@vger.kernel.org,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Khiem Nguyen <khiem.nguyen.xt@renesas.com>,
	Kuninori Morimoto <kuninori.morimoto.gx@gmail.com>
Cc: linux-renesas-soc@vger.kernel.org,
	"Zhang Rui" <rui.zhang@intel.com>,
	"Eduardo Valentin" <edubezval@gmail.com>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>
Subject: [PATCHv5 0/5] thermal: add driver for R-Car Gen3
Date: Mon, 12 Dec 2016 15:18:00 +0100	[thread overview]
Message-ID: <20161212141805.14946-1-niklas.soderlund@ragnatech.se> (raw)

From: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

Hi all,

The series adds thermal support to Renesas R-Car Gen3 SoCs. It's tested 
on Salvator-X H3 and M3-W SoC.

Wolfram asked me to have a look at the comments for v4 and to try and 
rework the temperature formulas to work with only ints and if it worked 
out resend the series. I have reworked code in 2/5 but kept Wolfram as 
the author and added my SoB, hope this is OK.

Reworking the formulas involved moving from s64 to int as the data type 
used to store coefficients used in decimal scaled fixed point 
calculations. By examining the largest values which could be produced in 
these calculations a factor of 100 is the maximum scaling which is 
possible and still fit inside an int, previously with s64 the scaling 
was 1000.

Reducing the decimal scaling also reduces the accuracy of the 
calculations. In my tests this was hardly noticeable as the granularity 
of the reported temperature to user-space is 0.5C, comparing the value 
reported in the s64 vs int implementation only differ very slightly when 
it rounded the value to the next 0.5C level.

However the formulas used to calculate the coefficients are not 
documented and none obvious (at lest not to me) so given different 
initial values to calculate the coefficients the error might become 
larger. Therefore I would like to ask Morimoto-san and/or Khiem to 
provide or proxy testing of this less accurate formula and feedback if 
it's OK, let me know if there is anything I can do to help out.

Changes since v4:
- Use only 32 bit ints to convert from register value to temperature.
- Merge and simplify temp calculation functions.
- Document what I known about the temprature conversion formulas.
- Add new patch 5/5 which fixes a waring printout caused by trying to get 
  temp before hardware is ready on r8a7795.
- Fixed a few checkpatch warnings.

Niklas Söderlund (1):
  thermal: rcar_gen3_thermal: Add delay in .thermal_init on r8a7795

Wolfram Sang (4):
  thermal: rcar_gen3_thermal: Document the R-Car Gen3
  thermal: rcar_gen3_thermal: Add R-Car Gen3 thermal driver
  arm64: dts: r8a7795: Add R-Car Gen3 thermal support
  arm64: dts: r8a7796: Add R-Car Gen3 thermal support

 .../bindings/thermal/rcar-gen3-thermal.txt         |  56 ++++
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           |  58 ++++
 arch/arm64/boot/dts/renesas/r8a7796.dtsi           |  58 ++++
 drivers/thermal/Kconfig                            |   9 +
 drivers/thermal/Makefile                           |   1 +
 drivers/thermal/rcar_gen3_thermal.c                | 330 +++++++++++++++++++++
 6 files changed, 512 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.txt
 create mode 100644 drivers/thermal/rcar_gen3_thermal.c

-- 
2.10.2


             reply	other threads:[~2016-12-12 14:20 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-12 14:18 Niklas Söderlund [this message]
2016-12-12 14:18 ` [PATCHv5 1/5] thermal: rcar_gen3_thermal: Document the R-Car Gen3 Niklas Söderlund
2016-12-12 14:18 ` [PATCHv5 2/5] thermal: rcar_gen3_thermal: Add R-Car Gen3 thermal driver Niklas Söderlund
2016-12-12 21:45   ` Wolfram Sang
2016-12-13  8:25     ` Geert Uytterhoeven
2016-12-13  8:39       ` Wolfram Sang
2016-12-13 10:07         ` Niklas Söderlund
2016-12-13  3:50   ` Eduardo Valentin
2016-12-13  5:38     ` Wolfram Sang
2016-12-13  9:43     ` Niklas Söderlund
2016-12-14  4:38       ` Eduardo Valentin
2016-12-13  8:19   ` Geert Uytterhoeven
2016-12-13  9:53     ` Niklas Söderlund
2016-12-13 10:09       ` Geert Uytterhoeven
2016-12-12 14:18 ` [PATCHv5 3/5] arm64: dts: r8a7795: Add R-Car Gen3 thermal support Niklas Söderlund
2016-12-12 14:18 ` [PATCHv5 4/5] arm64: dts: r8a7796: " Niklas Söderlund
2016-12-12 14:18 ` [PATCHv5 5/5] thermal: rcar_gen3_thermal: Add delay in .thermal_init on r8a7795 Niklas Söderlund
2016-12-13  3:31   ` Eduardo Valentin
2016-12-13  9:15     ` Niklas Söderlund

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=20161212141805.14946-1-niklas.soderlund@ragnatech.se \
    --to=niklas.soderlund@ragnatech.se \
    --cc=edubezval@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=khiem.nguyen.xt@renesas.com \
    --cc=kuninori.morimoto.gx@gmail.com \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=niklas.soderlund+renesas@ragnatech.se \
    --cc=rui.zhang@intel.com \
    --cc=wsa+renesas@sang-engineering.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).