History log of /openbmc/google-ipmi-sys/pcie_i2c.cpp (Results 1 – 17 of 17)
Revision Date Author Comments
# 8d618532 25-Oct-2023 Michael Shen <gpgpgp@google.com>

all: Use stdplus::print over std::fprintf

Replacing `std::fprintf` with `stdplus::print`.
No logical change.

Tested: Buildable.
Signed-off-by: Michael Shen <gpgpgp@google.com>
Change-Id: I7050885c1

all: Use stdplus::print over std::fprintf

Replacing `std::fprintf` with `stdplus::print`.
No logical change.

Tested: Buildable.
Signed-off-by: Michael Shen <gpgpgp@google.com>
Change-Id: I7050885c13e33244a4128aa519d163fd5b725098

show more ...


# 444b5ea4 19-May-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I0a1783b101aa4e7d4b80fd5e1fc1b2beb86c5caa

show more ...


# 1209ccc6 19-May-2023 Willy Tu <wltu@google.com>

cleanup: Reformat with clang

Also update required meson version to support
`get_variable` and remove deprecated get_pkgconfig_variable.

Change-Id: I1a0d5a9fce077d546cf56078b63c49ee52f1a816
Signed-o

cleanup: Reformat with clang

Also update required meson version to support
`get_variable` and remove deprecated get_pkgconfig_variable.

Change-Id: I1a0d5a9fce077d546cf56078b63c49ee52f1a816
Signed-off-by: Willy Tu <wltu@google.com>

show more ...


# b4e3704c 12-Oct-2021 Willy Tu <wltu@google.com>

google-ipmi-sys: Convert input to use std::span<const uint8_t>

Change-Id: I533de34c04e3d2577cb9076add441153b2994c30
Signed-off-by: Willy Tu <wltu@google.com>


# ff3cd8e9 15-Sep-2021 Willy Tu <wltu@google.com>

google-ipmi-sys: Refactor to use new version of OEM IPMI Handler

Using the new version of ipmi handler provide a higher level wrapper
over the same functionalities. It helps us parse the

google-ipmi-sys: Refactor to use new version of OEM IPMI Handler

Using the new version of ipmi handler provide a higher level wrapper
over the same functionalities. It helps us parse the input and output to
have more control of the input/output we see.

The input and output will be
`std::uint8_t, std::optional<std::vector<uint8_t>>`.

This represents `subcommand` and any input data.

Changes to note,
- all subcommand in the request/response struct are removed. It will be
managed by the wrapper directly.
- Unit tests checking for input with only the subcommand are
removed.
- Move all reply struct to header files to be accessible in unit test.

Tested:
All IPMI OEM command still works the same as before this change.

Change-Id: I4230ab84a497a867248fe82224e32cc69b314b64
Signed-off-by: Willy Tu <wltu@google.com>

show more ...


# a2056e9c 10-Oct-2021 Willy Tu <wltu@google.com>

Add Google Copyright 2021

Change-Id: I26020265613218d0c8df85b83772856bfc555e86
Signed-off-by: Willy Tu <wltu@google.com>


# 5d789734 24-Jun-2021 William A. Kennington III <wak@google.com>

treewide: Cleanup pedantic C++ warnings

Change-Id: I9c770506d78bd30dde1903645d9bfe92bceab44d
Signed-off-by: William A. Kennington III <wak@google.com>


# 0e9aae5d 13-Aug-2020 Patrick Venture <venture@google.com>

split the commands out

Split the commands out to avoid conflicts in multiple definitions of
IPMI_CC_OK, etc, in a different environment.

Signed-off-by: Patrick Venture <venture@

split the commands out

Split the commands out to avoid conflicts in multiple definitions of
IPMI_CC_OK, etc, in a different environment.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I1f3a0214b4f6f6417a5649b0fc2d297119f8ad88

show more ...


# eff1f2eb 05-Aug-2020 Patrick Venture <venture@google.com>

move implementation to ipmi file

Move the entrance point for the IPMI OEM handling to a separate file and
pass in the handler pointer via binding.

Signed-off-by: Patrick Venture

move implementation to ipmi file

Move the entrance point for the IPMI OEM handling to a separate file and
pass in the handler pointer via binding.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I4371ebee1c252ab6e9d8a7ff2389583919ecc996

show more ...


# dd5d953f 01-Jun-2020 Patrick Venture <venture@google.com>

pcie_i2c: drop unused util header

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I743e25e5791f3bae995439c732bd0e53a645be14


# 45fad1bb 18-Mar-2019 Patrick Venture <venture@google.com>

style change: lowerCamel

Methods in openbmc are lowercamel.

Change-Id: I57567b66acdc1fc618f3ca7d237455d55783630c
Signed-off-by: Patrick Venture <venture@google.com>


# 49f23ad9 16-Mar-2019 Patrick Venture <venture@google.com>

add handler logic to handle i2c pcie commands

Add handler logic to manage the i2c pcie commands and their
corresponding data structure.

Tested: Only ran unit-tests (added new on

add handler logic to handle i2c pcie commands

Add handler logic to manage the i2c pcie commands and their
corresponding data structure.

Tested: Only ran unit-tests (added new ones).
Change-Id: Ibd65d6745202dbf6bd67cd2cb480914ca6ae4ed1
Signed-off-by: Patrick Venture <venture@google.com>

show more ...


# 72e1a882 16-Mar-2019 Patrick Venture <venture@google.com>

pcie_i2c: cleanup headers

Cleanup headers by dropping unused ones and adding missing ones.

Tested: Only ran unit-tests.
Change-Id: I64ee6164e7de0295226c399b0f03d67bba34554f

pcie_i2c: cleanup headers

Cleanup headers by dropping unused ones and adding missing ones.

Tested: Only ran unit-tests.
Change-Id: I64ee6164e7de0295226c399b0f03d67bba34554f
Signed-off-by: Patrick Venture <venture@google.com>

show more ...


# 3fb74294 16-Mar-2019 Patrick Venture <venture@google.com>

util: add i2c->pcie map build method

Move method to util that handles creating a mapping between i2c-bus
numbers and their pci-e slot names. It's done as a list of tuples.

Test

util: add i2c->pcie map build method

Move method to util that handles creating a mapping between i2c-bus
numbers and their pci-e slot names. It's done as a list of tuples.

Tested: Only ran unit-tests.
Change-Id: Ie09d193add63245eebcf3806255311232a7c4c9a
Signed-off-by: Patrick Venture <venture@google.com>

show more ...


# 8d5c9cec 16-Mar-2019 Patrick Venture <venture@google.com>

util: move read_file to readPropertyFile

Move a method that reads a file and discards any trailing nul-terminator
found. This is expected in dts property files.

Tested: Only ra

util: move read_file to readPropertyFile

Move a method that reads a file and discards any trailing nul-terminator
found. This is expected in dts property files.

Tested: Only ran unit-tests.
Change-Id: I4a551c0098862bcc1cfb7b20d518d7e2fa890a85
Signed-off-by: Patrick Venture <venture@google.com>

show more ...


# 0788699a 08-Mar-2019 Patrick Venture <venture@google.com>

use filesystem instead of experimental

Use filesystem now that it should be available instead of
experimental::filesystem.

Change-Id: I43758ca2fd02862cc6e3c673275d8e2120d02ff2

use filesystem instead of experimental

Use filesystem now that it should be available instead of
experimental::filesystem.

Change-Id: I43758ca2fd02862cc6e3c673275d8e2120d02ff2
Signed-off-by: Patrick Venture <venture@google.com>

show more ...


# 2d4836db 29-Nov-2018 Jaghathiswari Rankappagounder Natarajan <jaghu@google.com>

google-ipmi-sys: Add support for PCIE slot to I2C bus mapping

Say the bmc has the following information:
root@xyz:/sys/bus/i2c/devices# ls
0-0070 10-0048 4-0049 5-0062 5-0066

google-ipmi-sys: Add support for PCIE slot to I2C bus mapping

Say the bmc has the following information:
root@xyz:/sys/bus/i2c/devices# ls
0-0070 10-0048 4-0049 5-0062 5-0066 5-0074 i2c-1 i2c-15 i2c-18 i2c-20 i2c-4 i2c-7
1-004e 3-0054 4-004d 5-0063 5-0067 9-004c i2c-10 i2c-16 i2c-19 i2c-21 i2c-5 i2c-8
1-004f 4-0048 5-0061 5-0065 5-0072 i2c-0 i2c-14 i2c-17 i2c-2 i2c-3 i2c-6 i2c-9
root@xyz:/sys/bus/i2c/devices# cd i2c-18
root@xyz:/sys/bus/i2c/devices/i2c-18# ls
delete_device i2c-dev mux_device name new_device
of_node power subsystem uevent
root@xyz:/sys/bus/i2c/devices/i2c-18# cd of_node
root@xyz:/sys/bus/i2c/devices/i2c-18/of_node# ls
root@xyz:/sys/bus/i2c/devices/i2c-18/of_node# cat pcie-slot
/pcie-slot/pcie@4root@xyz:/sys/bus/i2c/devices/i2c-18/of_node# cd
root@xyz:~# cd /sys/firmware/devicetree/base
root@xyz:/sys/firmware/devicetree/base# ls
root@xyz:/sys/firmware/devicetree/base# cd pcie-slot/
root@xyz:/sys/firmware/devicetree/base/pcie-slot# ls
name pcie@1a pcie@2a pcie@4 pcie@6
root@xyz:/sys/firmware/devicetree/base/pcie-slot# cd pcie\@4
root@xyz:/sys/firmware/devicetree/base/pcie-slot/pcie@4# ls
name slot-name
root@xyz:/sys/firmware/devicetree/base/pcie-slot/pcie@4# cat slot-name
slot4root@xyz:/sys/firmware/devicetree/base/pcie-slot/pcie@4#

Then the system can send commands to
1) Get the number of pcie slots.
2) Get information about which i2c bus is routed to which pcie slot.

Tested:
Yes;
1) Sending GetPCIeSlotsCount command; Getting pcie slots count as 4.
root@xyz:~# ipmitool -I dbus raw 0x2e 0x32 0x79 0x2b 0x00 0x04
79 2b 00 04 04

3) Sending GetPCIeSlotI2cBusMapping command with entry ID 0; expecting success;
received "slot5".
root@xyz:~# ipmitool -I dbus raw 0x2e 0x32 0x79 0x2b 0x00 0x05 0x00
79 2b 00 05 14 05 73 6c 6f 74 35

4) Sending GetPCIeSlotI2cBusMapping command with entry ID 1; expecting success;
received "slot1".
root@xyz:~# ipmitool -I dbus raw 0x2e 0x32 0x79 0x2b 0x00 0x05 0x01
79 2b 00 05 0e 05 73 6c 6f 74 31

5) Sending GetPCIeSlotI2cBusMapping command with entry ID 2; expecting success;
received "slot3".
root@xyz:~# ipmitool -I dbus raw 0x2e 0x32 0x79 0x2b 0x00 0x05 0x02
79 2b 00 05 12 05 73 6c 6f 74 33

6) Sending GetPCIeSlotI2cBusMapping command with entry ID 3; expecting success;
received "slot2".
root@xyz:~# ipmitool -I dbus raw 0x2e 0x32 0x79 0x2b 0x00 0x05 0x03
79 2b 00 05 10 05 73 6c 6f 74 32

7) Sending GetPCIeSlotI2cBusMapping command with entry ID 4; expecting failure
root@xyz:~# ipmitool -I dbus raw 0x2e 0x32 0x79 0x2b 0x00 0x05 0x04
Unable to send RAW command (channel=0x0 netfn=0x2e lun=0x0 cmd=0x32 rsp=0xc1): Invalid command
root@xyz:~#

Change-Id: Id6e514bb11e8d4a00c615cffea6c2fdb6f5df03e
Signed-off-by: Jaghathiswari Rankappagounder Natarajan <jaghu@google.com>

show more ...