RE: [PATCH v12 1/1] Add support for IPMB driver

From: Asmaa Mnebhi
Date: Tue Jun 11 2019 - 09:33:04 EST


Hello Randy,

Please refer to the slave-interface linux documentation:
https://www.kernel.org/doc/Documentation/i2c/slave-interface

Thanks.
Asmaa

-----Original Message-----
From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Sent: Monday, June 10, 2019 5:56 PM
To: Asmaa Mnebhi <Asmaa@xxxxxxxxxxxx>; minyard@xxxxxxx; wsa@xxxxxxxxxxxxx; Vadim Pasternak <vadimp@xxxxxxxxxxxx>; Michael Shych <michaelsh@xxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx; linux-i2c@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v12 1/1] Add support for IPMB driver

On 6/10/19 11:57 AM, Asmaa Mnebhi wrote:
> Support receiving IPMB requests on a Satellite MC from the BMC.
> Once a response is ready, this driver will send back a response to the
> BMC via the IPMB channel.
>
> Signed-off-by: Asmaa Mnebhi <Asmaa@xxxxxxxxxxxx>
> Acked-by: vadimp@xxxxxxxxxxxx
> ---
> Documentation/IPMB.txt | 103 +++++++++++
> drivers/char/ipmi/Kconfig | 8 +
> drivers/char/ipmi/Makefile | 1 +
> drivers/char/ipmi/ipmb_dev_int.c | 364
> +++++++++++++++++++++++++++++++++++++++
> 4 files changed, 476 insertions(+)
> create mode 100644 Documentation/IPMB.txt create mode 100644
> drivers/char/ipmi/ipmb_dev_int.c
>
> diff --git a/Documentation/IPMB.txt b/Documentation/IPMB.txt new file
> mode 100644 index 0000000..7160d53
> --- /dev/null
> +++ b/Documentation/IPMB.txt
> @@ -0,0 +1,103 @@

[...]

> +Instantiate the device
> +----------------------
> +
> +After loading the driver, you can instantiate the device as described
> +in 'Documentation/i2c/instantiating-devices'.
> +If you have multiple BMCs, each connected to your Satellite MC via a
> +different I2C bus, you can instantiate a device for each of those
> +BMCs.
> +The name of the instantiated device contains the I2C bus number
> +associated with it as follows:
> +
> +BMC1 ------ IPMB/I2C bus 1 ---------| /dev/ipmb-1
> + Satellite MC
> +BMC1 ------ IPMB/I2C bus 2 ---------| /dev/ipmb-2
> +
> +For instance, you can instantiate the ipmb-dev-int device from user
> +space at the 7 bit address 0x10 on bus 2:
> +
> + # echo ipmb-dev 0x1010 > /sys/bus/i2c/devices/i2c-2/new_device

This is confusing.

Can you clarify how the 7-bit address is extracted from that hex number?
Is the 7-bit address repeated (duplicated)?
Is the 7-bit address the low order (low bits) 0x10 or the 0x10 at bits
15-8 (or 14-8)?

> +This will create the device file /dev/ipmb-2, which can be accessed
> +by the user space program. The device needs to be instantiated before
> +running the user space program.

thanks.
--
~Randy