From: Asmaa Mnebhi <Asmaa@mellanox.com>
To: minyard@acm.org, wsa@the-dreams.de, vadimp@mellanox.com,
michaelsh@mellanox.com
Cc: Asmaa Mnebhi <Asmaa@mellanox.com>,
linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org
Subject: [PATCH v4 0/1] Add support for IPMB driver
Date: Tue, 30 Apr 2019 13:58:44 -0400 [thread overview]
Message-ID: <cover.1556645340.git.Asmaa@mellanox.com> (raw)
Thank you for your feedback Vadim. I have addressed your comments.
1) You are correct. This driver is not specific to Mellanox so I
have removed the Mellanox attribute.
2) I have added a documentation file called IPMB.txt which explains
how this module works and how it should be instantiated. It is very
similar to the existing linux i2c-slave-eeprom module.
The HW for my testing works as follows:
A BMC is connected to a Satellite MC via I2C (I2C is equivalent to
IPMB). The BMC initiates the IPMB requests and sends them via I2C.
Obviously the BMC needs its own driver to do this which I haven't
included in this code. We have no intent of upstreaming that at the
moment.
This ipmb-dev-int driver is to be loaded and instantiated on the
Satellite MC to be able to receive IPMB requests. These IPMB request
messages will be picked up by a user space program such (in my case
it is OpenIPMI) to handle the request and generate a response.
The response will be then passed from the user program back to
kernel space. Then this driver would send that response back to
the BMC.
3) You asked the following:
"Is it expected to be zero in vaid case?"
The 8 least significant bits of the sum is always expected to be 0
in the case where the checksum is valid. I have added a comment
for clarifications.
"why do you need this cast?"
buf[++ipmb_dev_p->msg_idx]=(u8)(client->addr<<1)
This is because client->addr is of type unsigned short which is
2 bytes so it is safer to typecast it to u8 (u8* buf)
"It could be only single ipmb-dev within the system? Couldn't
it be few, like master/slave for example?"
My understanding of your question is that: what if we have multiple
instances of ipmb-dev-int, that we register it under different
addresses?
This driver only works as a slave so it will only be instantiated
once on the Satellite MC under one slave address.
Asmaa Mnebhi (1):
Add support for IPMB driver
Documentation/IPMB.txt | 53 ++++++
drivers/char/ipmi/Kconfig | 8 +
drivers/char/ipmi/Makefile | 1 +
drivers/char/ipmi/ipmb_dev_int.c | 381 +++++++++++++++++++++++++++++++++++++++
4 files changed, 443 insertions(+)
create mode 100644 Documentation/IPMB.txt
create mode 100644 drivers/char/ipmi/ipmb_dev_int.c
--
2.1.2
next reply other threads:[~2019-04-30 17:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-30 17:58 Asmaa Mnebhi [this message]
2019-04-30 17:58 ` [PATCH v4 1/1] Add support for IPMB driver Asmaa Mnebhi
2019-04-30 21:24 ` Vadim Pasternak
2019-04-30 21:24 ` [PATCH v4 0/1] " Vadim Pasternak
2019-05-01 1:03 ` Corey Minyard
2019-05-02 18:06 ` Asmaa Mnebhi
2019-05-02 19:49 ` Corey Minyard
2019-05-02 20:40 ` Asmaa Mnebhi
2019-05-02 21:14 ` Vadim Pasternak
2019-05-02 22:59 ` Corey Minyard
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=cover.1556645340.git.Asmaa@mellanox.com \
--to=asmaa@mellanox.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michaelsh@mellanox.com \
--cc=minyard@acm.org \
--cc=vadimp@mellanox.com \
--cc=wsa@the-dreams.de \
/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