From: Guenter Roeck <linux@roeck-us.net>
To: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Cc: joel@jms.id.au, andrew@aj.id.au, arnd@arndb.de,
gregkh@linuxfoundation.org, jdelvare@suse.com,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
devicetree@vger.kernel.org, linux-hwmon@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, openbmc@lists.ozlabs.org
Subject: Re: [linux, dev-4.10, 6/6] drivers/hwmon: Add a driver for a generic PECI hwmon
Date: Thu, 11 Jan 2018 13:40:35 -0800 [thread overview]
Message-ID: <20180111214035.GA14748@roeck-us.net> (raw)
In-Reply-To: <261ac28e-813c-a058-c81f-ad4e718d0233@linux.intel.com>
On Thu, Jan 11, 2018 at 11:47:01AM -0800, Jae Hyun Yoo wrote:
> On 1/10/2018 1:47 PM, Guenter Roeck wrote:
> >On Tue, Jan 09, 2018 at 02:31:26PM -0800, Jae Hyun Yoo wrote:
> >>This commit adds driver implementation for a generic PECI hwmon.
> >>
> >>Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
[ ... ]
> >>+
> >>+ if (priv->temp.tcontrol.valid &&
> >>+ time_before(jiffies, priv->temp.tcontrol.last_updated +
> >>+ UPDATE_INTERVAL_MIN))
> >>+ return 0;
> >>+
> >
> >Is the delay necessary ? Otherwise I would suggest to drop it.
> >It adds a lot of complexity to the driver. Also, if the user polls
> >values more often, that is presumably on purpose.
> >
>
> I was intended to reduce traffic on PECI bus because it's low speed single
> wired bus, and temperature values don't change frequently because the value
> is sampled and averaged in CPU itself. I'll keep this.
>
Then please try to move the common code into a single function.
[ ... ]
> >>+
> >>+ rc = of_property_read_u32(np, "cpu-id", &priv->cpu_id);
> >
> >What entity determines cpu-id ?
> >
>
> CPU ID numbering is determined by hardware SOCKET_ID strap pins. In this
> driver implementation, cpu-id is being used as CPU client indexing.
>
Seems to me the necessary information to identify a given CPU should
be provided by the PECI core. Also, there are already "cpu" nodes
in devicetree which, if I recall correctly, may include information
such as CPU Ids.
> >>+ if (rc || priv->cpu_id >= CPU_ID_MAX) {
> >>+ dev_err(dev, "Invalid cpu-id configuration\n");
> >>+ return rc;
> >>+ }
> >>+
> >>+ rc = of_property_read_u32(np, "dimm-nums", &priv->dimm_nums);
> >
> >This is an odd devicetree attribute. Normally the number of DIMMs
> >is dynamic. Isn't there a means to get all that information dynamically
> >instead of having to set it through devicetree ? What if someone adds
> >or removes a DIMM ? Who updates the devicetree ?
> >
>
> It means the number of DIMM slots each CPU has, doesn't mean the number of
> currently installed DIMM components. If a DIMM is inserted a slot, CPU
> reports its actual temperature but on empty slot, CPU reports 0 instead of
> reporting an error so it is the reason why this driver enumerates all DIMM
> slots' attribute.
>
And there is no other means to get the number of DIMM slots per CPU ?
It just seems to be that this is the wrong location to provide such
information.
[ ... ]
> >>+
> >>+static const struct of_device_id peci_of_table[] = {
> >>+ { .compatible = "peci-hwmon", },
> >
> >This does not look like a reference to some piece of hardware.
> >
>
> This driver provides generic PECI hwmon function to which controller has
> PECI HW such as Aspeed or Nuvoton BMC chip so it's not dependant on a
> specific hardware. Should I remove this or any suggestion?
>
I don't really know enough about the system to make a recommendation.
It seems to me that the PECI core should identify which functionality
it supports and instantiate the necessary driver(s). Maybe there should
be sub-nodes to the peci node with relevant information. Those sub-nodes
should specify the supported functionality in more detail, though -
such as indicating the supported CPU and/or DIMM sensors.
Guenter
next prev parent reply other threads:[~2018-01-11 21:40 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-09 22:31 [PATCH linux dev-4.10 0/6] Add support PECI and PECI hwmon drivers Jae Hyun Yoo
2018-01-09 22:31 ` [PATCH linux dev-4.10 1/6] Documentation: dt-bindings: Add Aspeed PECI Jae Hyun Yoo
2018-01-09 22:31 ` [PATCH linux dev-4.10 2/6] ARM: dts: aspeed: peci: " Jae Hyun Yoo
2018-01-09 22:31 ` [PATCH linux dev-4.10 3/6] drivers/misc: Add driver for Aspeed PECI and generic PECI headers Jae Hyun Yoo
2018-01-10 10:18 ` Greg KH
2018-01-10 19:32 ` Jae Hyun Yoo
2018-01-11 9:02 ` Benjamin Herrenschmidt
2018-01-11 20:33 ` Jae Hyun Yoo
2018-01-10 10:20 ` Greg KH
2018-01-10 19:34 ` Jae Hyun Yoo
2018-01-10 11:55 ` Arnd Bergmann
2018-01-10 23:11 ` Jae Hyun Yoo
2018-01-11 9:06 ` Benjamin Herrenschmidt
[not found] ` <1515661583.31850.34.camel-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
2018-01-11 20:42 ` Jae Hyun Yoo
2018-01-09 22:31 ` [PATCH linux dev-4.10 4/6] Documentation: dt-bindings: Add a generic PECI hwmon Jae Hyun Yoo
2018-01-10 12:20 ` Arnd Bergmann
2018-01-10 23:20 ` Jae Hyun Yoo
[not found] ` <20180109223126.13093-1-jae.hyun.yoo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-01-09 22:31 ` [PATCH linux dev-4.10 5/6] Documentation: hwmon: " Jae Hyun Yoo
2018-01-09 22:31 ` [PATCH linux dev-4.10 6/6] drivers/hwmon: Add a driver for " Jae Hyun Yoo
2018-01-10 12:29 ` Arnd Bergmann
2018-01-10 23:45 ` Jae Hyun Yoo
2018-01-11 13:22 ` Arnd Bergmann
2018-01-11 20:49 ` Jae Hyun Yoo
2018-01-10 21:47 ` [linux, dev-4.10, " Guenter Roeck
[not found] ` <20180110214747.GA25248-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2018-01-11 19:47 ` Jae Hyun Yoo
2018-01-11 21:40 ` Guenter Roeck [this message]
[not found] ` <20180111214035.GA14748-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2018-01-11 22:18 ` Andrew Lunn
2018-01-11 23:14 ` Jae Hyun Yoo
2018-01-11 23:53 ` Andrew Lunn
2018-01-12 0:26 ` Jae Hyun Yoo
2018-01-11 23:03 ` Jae Hyun Yoo
2018-01-10 10:17 ` [PATCH linux dev-4.10 0/6] Add support PECI and PECI hwmon drivers Greg KH
2018-01-10 19:14 ` Jae Hyun Yoo
[not found] ` <006c4a95-9299-bd17-6dec-52578e8461ae-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-01-10 19:17 ` Greg KH
2018-01-10 19:30 ` Jae Hyun Yoo
[not found] ` <8997e43c-683e-418d-4e2b-1fe3fefe254e-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-01-10 20:27 ` Greg KH
[not found] ` <20180110202740.GA27703-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2018-01-10 21:46 ` Jae Hyun Yoo
2018-01-11 7:30 ` Greg KH
2018-01-11 8:28 ` Joel Stanley
[not found] ` <CACPK8Xe9Jti8S2px=QOcSMA2v+TZ4eGDGQND4qmBUBXeBpsBZQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-11 8:41 ` Greg KH
2018-01-11 9:17 ` Arnd Bergmann
2018-01-11 9:21 ` Benjamin Herrenschmidt
2018-01-11 8:56 ` Benjamin Herrenschmidt
[not found] ` <1515661011.31850.27.camel-8fk3Idey6ehBDgjK7y7TUQ@public.gmane.org>
2018-01-11 9:59 ` Greg KH
2018-01-11 20:49 ` Benjamin Herrenschmidt
2018-01-11 19:54 ` Jae Hyun Yoo
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=20180111214035.GA14748@roeck-us.net \
--to=linux@roeck-us.net \
--cc=andrew@aj.id.au \
--cc=arnd@arndb.de \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jae.hyun.yoo@linux.intel.com \
--cc=jdelvare@suse.com \
--cc=joel@jms.id.au \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=openbmc@lists.ozlabs.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 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).