From: Lee Jones <lee.jones@linaro.org>
To: Guenter Roeck <linux@roeck-us.net>
Cc: matthew.gerlach@linux.intel.com, hao.wu@intel.com,
trix@redhat.com, mdf@kernel.org, linux-fpga@vger.kernel.org,
linux-kernel@vger.kernel.org, yilun.xu@intel.com,
jdelvare@suse.com, linux-hwmon@vger.kernel.org,
russell.h.weight@linux.intel.com
Subject: Re: [PATCH 3/3] hwmon: intel-m10-bmc-hwmon: add sensor support of Intel D5005 card
Date: Tue, 6 Apr 2021 09:07:28 +0100 [thread overview]
Message-ID: <20210406080728.GO2916463@dell> (raw)
In-Reply-To: <2bafe404-c708-a1eb-6584-2345225282dc@roeck-us.net>
On Mon, 05 Apr 2021, Guenter Roeck wrote:
> On 4/5/21 4:53 PM, matthew.gerlach@linux.intel.com wrote:
> > From: Matthew Gerlach <matthew.gerlach@linux.intel.com>
> >
> > Like the Intel N3000 card, the Intel D5005 has a MAX10 based
> > BMC. This commit adds support for the D5005 sensors that are
> > monitored by the MAX10 BMC.
> >
> > Signed-off-by: Matthew Gerlach <matthew.gerlach@linux.intel.com>
> > Signed-off-by: Russ Weight <russell.h.weight@linux.intel.com>
> > ---
> > drivers/hwmon/intel-m10-bmc-hwmon.c | 122 ++++++++++++++++++++++++++++++++++++
> > drivers/mfd/intel-m10-bmc.c | 10 +++
> > 2 files changed, 132 insertions(+)
> >
> > diff --git a/drivers/hwmon/intel-m10-bmc-hwmon.c b/drivers/hwmon/intel-m10-bmc-hwmon.c
> > index 17d5e6b..bd7ed2e 100644
> > --- a/drivers/hwmon/intel-m10-bmc-hwmon.c
> > +++ b/drivers/hwmon/intel-m10-bmc-hwmon.c
> > @@ -99,6 +99,50 @@ struct m10bmc_hwmon {
> > NULL
> > };
> >
> > +static const struct m10bmc_sdata d5005bmc_temp_tbl[] = {
> > + { 0x100, 0x104, 0x108, 0x10c, 0x0, 500, "Board Inlet Air Temperature" },
> > + { 0x110, 0x114, 0x118, 0x0, 0x0, 500, "FPGA Core Temperature" },
> > + { 0x11c, 0x120, 0x124, 0x128, 0x0, 500, "Board Exhaust Air Temperature" },
> > + { 0x12c, 0x130, 0x134, 0x0, 0x0, 500, "FPGA Transceiver Temperature" },
> > + { 0x138, 0x13c, 0x140, 0x144, 0x0, 500, "RDIMM0 Temperature" },
> > + { 0x148, 0x14c, 0x150, 0x154, 0x0, 500, "RDIMM1 Temperature" },
> > + { 0x158, 0x15c, 0x160, 0x164, 0x0, 500, "RDIMM2 Temperature" },
> > + { 0x168, 0x16c, 0x170, 0x174, 0x0, 500, "RDIMM3 Temperature" },
> > + { 0x178, 0x17c, 0x180, 0x0, 0x0, 500, "QSFP0 Temperature" },
> > + { 0x188, 0x18c, 0x190, 0x0, 0x0, 500, "QSFP1 Temperature" },
> > + { 0x1a0, 0x1a4, 0x1a8, 0x0, 0x0, 500, "3.3v Temperature" },
> > + { 0x1bc, 0x1c0, 0x1c4, 0x0, 0x0, 500, "VCCERAM Temperature" },
> > + { 0x1d8, 0x1dc, 0x1e0, 0x0, 0x0, 500, "VCCR Temperature" },
> > + { 0x1f4, 0x1f8, 0x1fc, 0x0, 0x0, 500, "VCCT Temperature" },
> > + { 0x210, 0x214, 0x218, 0x0, 0x0, 500, "1.8v Temperature" },
> > + { 0x22c, 0x230, 0x234, 0x0, 0x0, 500, "12v Backplane Temperature" },
> > + { 0x248, 0x24c, 0x250, 0x0, 0x0, 500, "12v AUX Temperature" },
> > +};
> > +
> > +static const struct m10bmc_sdata d5005bmc_in_tbl[] = {
> > + { 0x184, 0x0, 0x0, 0x0, 0x0, 1, "QSFP0 Supply Voltage" },
> > + { 0x194, 0x0, 0x0, 0x0, 0x0, 1, "QSFP1 Supply Voltage" },
> > + { 0x198, 0x0, 0x0, 0x0, 0x0, 1, "FPGA Core Voltage" },
> > + { 0x1ac, 0x1b0, 0x1b4, 0x0, 0x0, 1, "3.3v Voltage" },
> > + { 0x1c8, 0x1cc, 0x1d0, 0x0, 0x0, 1, "VCCERAM Voltage" },
> > + { 0x1e4, 0x1e8, 0x1ec, 0x0, 0x0, 1, "VCCR Voltage" },
> > + { 0x200, 0x204, 0x208, 0x0, 0x0, 1, "VCCT Voltage" },
> > + { 0x21c, 0x220, 0x224, 0x0, 0x0, 1, "1.8v Voltage" },
> > + { 0x238, 0x0, 0x0, 0x0, 0x23c, 1, "12v Backplane Voltage" },
> > + { 0x254, 0x0, 0x0, 0x0, 0x258, 1, "12v AUX Voltage" },
> > +};
> > +
> > +static const struct m10bmc_sdata d5005bmc_curr_tbl[] = {
> > + { 0x19c, 0x0, 0x0, 0x0, 0x0, 1, "FPGA Core Current" },
> > + { 0x1b8, 0x0, 0x0, 0x0, 0x0, 1, "3.3v Current" },
> > + { 0x1d4, 0x0, 0x0, 0x0, 0x0, 1, "VCCERAM Current" },
> > + { 0x1f0, 0x0, 0x0, 0x0, 0x0, 1, "VCCR Current" },
> > + { 0x20c, 0x0, 0x0, 0x0, 0x0, 1, "VCCT Current" },
> > + { 0x228, 0x0, 0x0, 0x0, 0x0, 1, "1.8v Current" },
> > + { 0x240, 0x244, 0x0, 0x0, 0x0, 1, "12v Backplane Current" },
> > + { 0x25c, 0x260, 0x0, 0x0, 0x0, 1, "12v AUX Current" },
> > +};
> > +
> > static const struct m10bmc_hwmon_board_data n3000bmc_hwmon_bdata = {
> > .tables = {
> > [hwmon_temp] = n3000bmc_temp_tbl,
> > @@ -110,6 +154,80 @@ struct m10bmc_hwmon {
> > .hinfo = n3000bmc_hinfo,
> > };
> >
> > +static const struct hwmon_channel_info *d5005bmc_hinfo[] = {
> > + HWMON_CHANNEL_INFO(temp,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
> > + HWMON_T_CRIT | HWMON_T_CRIT_HYST | HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_CRIT |
> > + HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
> > + HWMON_T_CRIT | HWMON_T_CRIT_HYST | HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_CRIT |
> > + HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
> > + HWMON_T_CRIT | HWMON_T_CRIT_HYST | HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
> > + HWMON_T_CRIT | HWMON_T_CRIT_HYST | HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
> > + HWMON_T_CRIT | HWMON_T_CRIT_HYST | HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MAX_HYST |
> > + HWMON_T_CRIT | HWMON_T_CRIT_HYST | HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_CRIT |
> > + HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_CRIT |
> > + HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_CRIT |
> > + HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_CRIT |
> > + HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_CRIT |
> > + HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_CRIT |
> > + HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_CRIT |
> > + HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_CRIT |
> > + HWMON_T_LABEL,
> > + HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_CRIT |
> > + HWMON_T_LABEL),
> > + HWMON_CHANNEL_INFO(in,
> > + HWMON_I_INPUT | HWMON_I_LABEL,
> > + HWMON_I_INPUT | HWMON_I_LABEL,
> > + HWMON_I_INPUT | HWMON_I_LABEL,
> > + HWMON_I_INPUT | HWMON_I_MAX | HWMON_I_CRIT |
> > + HWMON_I_LABEL,
> > + HWMON_I_INPUT | HWMON_I_MAX | HWMON_I_CRIT |
> > + HWMON_I_LABEL,
> > + HWMON_I_INPUT | HWMON_I_MAX | HWMON_I_CRIT |
> > + HWMON_I_LABEL,
> > + HWMON_I_INPUT | HWMON_I_MAX | HWMON_I_CRIT |
> > + HWMON_I_LABEL,
> > + HWMON_I_INPUT | HWMON_I_MAX | HWMON_I_CRIT |
> > + HWMON_I_LABEL,
> > + HWMON_I_INPUT | HWMON_I_MIN | HWMON_I_LABEL,
> > + HWMON_I_INPUT | HWMON_I_MIN | HWMON_I_LABEL),
> > + HWMON_CHANNEL_INFO(curr,
> > + HWMON_C_INPUT | HWMON_C_LABEL,
> > + HWMON_C_INPUT | HWMON_C_LABEL,
> > + HWMON_C_INPUT | HWMON_C_LABEL,
> > + HWMON_C_INPUT | HWMON_C_LABEL,
> > + HWMON_C_INPUT | HWMON_C_LABEL,
> > + HWMON_C_INPUT | HWMON_C_LABEL,
> > + HWMON_C_INPUT | HWMON_C_MAX | HWMON_C_LABEL,
> > + HWMON_C_INPUT | HWMON_C_MAX | HWMON_C_LABEL),
> > + NULL
> > +};
> > +
> > +static const struct m10bmc_hwmon_board_data d5005bmc_hwmon_bdata = {
> > + .tables = {
> > + [hwmon_temp] = d5005bmc_temp_tbl,
> > + [hwmon_in] = d5005bmc_in_tbl,
> > + [hwmon_curr] = d5005bmc_curr_tbl,
> > + },
> > +
> > + .hinfo = d5005bmc_hinfo,
> > +};
> > +
> > static umode_t
> > m10bmc_hwmon_is_visible(const void *data, enum hwmon_sensor_types type,
> > u32 attr, int channel)
> > @@ -316,6 +434,10 @@ static int m10bmc_hwmon_probe(struct platform_device *pdev)
> > .name = "n3000bmc-hwmon",
> > .driver_data = (unsigned long)&n3000bmc_hwmon_bdata,
> > },
> > + {
> > + .name = "d5005bmc-hwmon",
> > + .driver_data = (unsigned long)&d5005bmc_hwmon_bdata,
> > + },
> > { }
> > };
> >
> > diff --git a/drivers/mfd/intel-m10-bmc.c b/drivers/mfd/intel-m10-bmc.c
>
> It may be better to split this patch into two parts to simplify
> its review and scope of responsibility.
No need.
Not withstanding significant changes:
Acked-by: Lee Jones <lee.jones@linaro.org>
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2021-04-06 8:07 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-05 23:52 [PATCH 0/3] fpga: dfl: add support for Intel D5005 card matthew.gerlach
2021-04-05 23:52 ` [PATCH 1/3] fpga: dfl: pci: add DID for D5005 PAC cards matthew.gerlach
2021-04-06 0:49 ` Moritz Fischer
2021-04-06 15:42 ` matthew.gerlach
2021-04-05 23:53 ` [PATCH 2/3] fpga: dfl: Add DFL bus driver for Altera SPI Master matthew.gerlach
2021-04-06 0:45 ` Moritz Fischer
2021-04-06 16:05 ` matthew.gerlach
2021-04-06 16:46 ` Moritz Fischer
2021-04-08 7:30 ` Wu, Hao
2021-04-08 8:11 ` Xu Yilun
2021-04-08 9:20 ` Wu, Hao
2021-04-08 18:53 ` Moritz Fischer
2021-04-09 1:52 ` Xu Yilun
2021-04-09 1:57 ` Wu, Hao
2021-04-09 1:37 ` Xu Yilun
2021-04-09 4:02 ` Wu, Hao
2021-04-09 5:41 ` Xu Yilun
2021-04-09 7:20 ` Wu, Hao
2021-04-12 23:46 ` matthew.gerlach
2021-04-05 23:53 ` [PATCH 3/3] hwmon: intel-m10-bmc-hwmon: add sensor support of Intel D5005 card matthew.gerlach
2021-04-06 0:03 ` Guenter Roeck
2021-04-06 8:07 ` Lee Jones [this message]
2021-04-06 1:27 ` Xu Yilun
2021-04-06 17:05 ` matthew.gerlach
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=20210406080728.GO2916463@dell \
--to=lee.jones@linaro.org \
--cc=hao.wu@intel.com \
--cc=jdelvare@suse.com \
--cc=linux-fpga@vger.kernel.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=matthew.gerlach@linux.intel.com \
--cc=mdf@kernel.org \
--cc=russell.h.weight@linux.intel.com \
--cc=trix@redhat.com \
--cc=yilun.xu@intel.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.