Linux Hardware Monitor development
 help / color / mirror / Atom feed
From: "Chatradhi, Naveen Krishna" <naveenkrishna.chatradhi@amd.com>
To: Lee Jones <lee@kernel.org>
Cc: linux-hwmon@vger.kernel.org, inux-kernel@vger.kernel.org,
	linux@roeck-us.net, gregkh@linuxfoundation.org, arnd@arndb.de,
	Akshay Gupta <akshay.gupta@amd.com>
Subject: Re: [PATCH 0/5] mfd: add amd side-band functionality
Date: Fri, 14 Jun 2024 19:26:59 +0530	[thread overview]
Message-ID: <e37f0503-0ae2-4651-8e32-1e6444e852c2@amd.com> (raw)
In-Reply-To: <20240613170514.GQ2561462@google.com>


On 6/13/2024 10:35 PM, Lee Jones wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>
>
> On Thu, 30 May 2024, Naveen Krishna Chatradhi wrote:
>
>> From: Akshay Gupta <akshay.gupta@amd.com>
>>
>> At present, sbrmi under hwmon subsystem is probed as an i2c
>> driver and reports power.
>>
>> However, APML interface defines few other protocols to support
>> OOB system management functionality.
>>
>> This patchset the following
>> 1. Based on hwmon maintainers feedback, move the i2c client
>>     probe and sbrmi core functionality to drivers/mfd/
>> 2. Add an MFD cell, which probes the hwmon/sbrmi and continues to
>>     report power using the symbol exported by the mfd/sbrmi-core.
>> 3. Convert i2c to regmap which provides multiple benefits
>>     over direct smbus APIs.
>> 4. Register a misc device which provides
>>      a. An ioctl interface through node /dev/sbrmiX
>>      b. Open-sourced and widely used https://github.com/amd/esmi_oob_library
>>         will continue to provide user-space programmable API for the following
>>        - Mailbox xfer (already defined in sbrmi_mailbox_xfer())
>>        - CPUID access
>>        - MCAMSR access
>>
>> Akshay Gupta (5):
>>    hwmon/mfd sbrmi: Move core sbrmi from hwmon to MFD
>>    mfd: sbrmi: Add mfd cell to I2C probe to be used by hwmon
>>    mfd/hwmon sbrmi: Use regmap subsystem
>>    mfd: sbrmi: Clear sbrmi status register bit SwAlertSts
>>    mfd/hwmon: sbrmi: Add support for APML protocols
>>
>>   drivers/hwmon/Kconfig         |   1 +
>>   drivers/hwmon/sbrmi.c         | 284 +++-----------------
>>   drivers/mfd/Kconfig           |   9 +-
>>   drivers/mfd/Makefile          |   2 +
>>   drivers/mfd/sbrmi-core.c      | 490 ++++++++++++++++++++++++++++++++++
> It's not clear to me what any of these 500 lines do, but they do not
> look like a good fit for MFD.  Perhaps I'm missing something.  Can you
> provide some more information about the device and why you think MFD is
> a suitable location for it?

Hi lee,

Data center processors from AMD provide a side-band (often called 
out-of-band) path for manageability

called Advanced Platform Management Link (APML), which consists of 
i2c/i3c client devices called

Side-band Remote Management Interface (SB-RMI) and Side-band Temperature 
Sensor Interface (SB-TSI).


We have i2c client drivers upstreamed under drivers/hwmon sbrmi.c and 
sbtsi_temp.c reporting power and

temperature via hwmon interfaces. However, sbrmi device can also provide 
performance, telemetry and RAS

monitoring, management using AMD defined protocols. One of them 
sbrmi_mailbox_xfer()is defined in

drivers/hwmon/sbrmi.c.

Patchset would do the following

1. Move core functionality from hwmon/sbrmi.c to drivers/mfd/sbrmi-i2c.c 
as an i2c_driver.

2. Convert the hwmon/sbrmi.c to a platform driver.

3. Use mfd_add_devices() API to add cells which will probe the platform 
driver under hwmon/sbrmi.c

4. drivers/mfd/sbrmi-core.c will contain the common functions which can 
be used by i2c and i3c based drivers, such as

core protocol definitions, creation of misc device and an ioctl for the 
user interface.

This patchset is an attempt toadd support for these core protocols in such a way that Open-sourced and 
widely used https://github.com/amd/esmi_oob_library will continue to 
provide user-space programmable API. regards, Naveenk

>>   drivers/mfd/sbrmi-core.h      |  37 +++
>>   drivers/mfd/sbrmi-i2c.c       | 165 ++++++++++++
>>   include/linux/mfd/amd-sb.h    |  55 ++++
>>   include/uapi/linux/amd-apml.h |  74 +++++
>>   9 files changed, 871 insertions(+), 246 deletions(-)
>>   create mode 100644 drivers/mfd/sbrmi-core.c
>>   create mode 100644 drivers/mfd/sbrmi-core.h
>>   create mode 100644 drivers/mfd/sbrmi-i2c.c
>>   create mode 100644 include/linux/mfd/amd-sb.h
>>   create mode 100644 include/uapi/linux/amd-apml.h
>>
>> --
>> 2.25.1
>>
> --
> Lee Jones [李琼斯]

  reply	other threads:[~2024-06-14 13:57 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-30 11:23 [PATCH 0/5] mfd: add amd side-band functionality Naveen Krishna Chatradhi
2024-05-30 11:23 ` [PATCH 1/5] hwmon/mfd sbrmi: Move core sbrmi from hwmon to MFD Naveen Krishna Chatradhi
2024-06-10 13:24   ` Guenter Roeck
2024-05-30 11:23 ` [PATCH 2/5] mfd: sbrmi: Add mfd cell in the probe Naveen Krishna Chatradhi
2024-05-30 11:23 ` [PATCH 3/5] mfd/hwmon sbrmi: Use regmap subsystem Naveen Krishna Chatradhi
2024-06-10 13:31   ` Guenter Roeck
2024-05-30 11:23 ` [PATCH 4/5] mfd: sbrmi: Clear sbrmi status register bit SwAlertSts Naveen Krishna Chatradhi
2024-05-30 11:23 ` [PATCH 5/5] mfd/hwmon: sbrmi: Add support for APML protocols Naveen Krishna Chatradhi
2024-06-10 13:39   ` Guenter Roeck
2024-06-13 17:05 ` [PATCH 0/5] mfd: add amd side-band functionality Lee Jones
2024-06-14 13:56   ` Chatradhi, Naveen Krishna [this message]
2024-06-14 14:49     ` Lee Jones
2024-06-18  7:17       ` Chatradhi, Naveen Krishna
2024-06-18 12:27         ` Lee Jones
2024-06-28 11:56           ` Chatradhi, Naveen Krishna

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=e37f0503-0ae2-4651-8e32-1e6444e852c2@amd.com \
    --to=naveenkrishna.chatradhi@amd.com \
    --cc=akshay.gupta@amd.com \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=inux-kernel@vger.kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux@roeck-us.net \
    /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