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: Tue, 18 Jun 2024 12:47:56 +0530 [thread overview]
Message-ID: <19708a93-be04-4163-b111-68d5f71487ef@amd.com> (raw)
In-Reply-To: <20240614144930.GJ3029315@google.com>
On 6/14/2024 8:19 PM, Lee Jones wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>
>
> On Fri, 14 Jun 2024, Chatradhi, Naveen Krishna wrote:
>
>> 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
> MFD knows nothing of these characteristics.
Yes, we will modify the implementation to define ops structure with
functionality that
can be called by platforms drivers in hwmon and other subsystems.
>
>> monitoring, management using AMD defined protocols. One of them
>> sbrmi_mailbox_xfer()is defined in
> I large portion of this should be moved out to drivers/mailbox.
we have explored the mailbox subsystem, APML xfer is not a ful-fledge
mailbox interface as such,
it is a custom protocol, which accepts inputs and provides outputs over
i2c/i3c. It does not support
multichannel (tx/rx) or have IRQs or a memory mapped IO and it is one of
the protocols supported
by the RMI device.
>
>> 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
> How many devices will mfd_add_devices() be registering?
This patch is adding one hwmon device.
We can add additional cell which probes a platform driver in
drivers/misc which handles
the user space interface part.
>
>> 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
> drivers/misc?
We will move the misc device registration and user space interface to
drivers/misc and
use the ops provided by this mfd device.
Regards,
naveenk
>
>> 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 [李琼斯]
> --
> Lee Jones [李琼斯]
next prev parent reply other threads:[~2024-06-18 7:18 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
2024-06-14 14:49 ` Lee Jones
2024-06-18 7:17 ` Chatradhi, Naveen Krishna [this message]
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=19708a93-be04-4163-b111-68d5f71487ef@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