devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).