summaryrefslogtreecommitdiff
path: root/hsbp-manager/src
AgeCommit message (Collapse)AuthorFilesLines
2019-10-22Make hsbp-manager expose all redfish propertiesJames Feist1-79/+133
Hsbp manager needs to query entity-manager for nvme fields to populate all driver interfaces. This is needed so indexing works correctly. This also exposes all M.2 drive interfaces at the end of the hsbp range. This allows correct numbering. When we find a drive in entity-manager, we backtrack from the virtual bus on the mux, to find out what bus the mux is on, this tells us the hsbp. We then use the virtual bus to identify the channel, this tells us the drive index. Tested: Saw 9 drives with a 1 hsbp and 1 M.2 configuration Change-Id: I8e730a6a4229b3816991c629439ed4639710d114 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-15Handle power state changesJames Feist1-0/+16
We need to check if power is on as the hsbp goes away during power off. This copies the power logic from dbus-sensors and uses it to avoid scanning when power is off. Tested: Warnings go away Change-Id: Ie949e7a98eb70592318710f3eecdfe766f71f110 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-15Add LED hooks to hsbp managerJames Feist1-5/+77
This adds the led group interface so that they can be activiated by NVMe daemon. Tested: Set using dbus, went and saw drive flashing Change-Id: I2e1aa3f9338609370d9758a7c4874428dac5d4ea Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-09hsbp-manager: Add drive interface to fru-less drivesJames Feist1-5/+66
Some drives don't have frus, but should still show up in redfish. For this reason we need to populate the drive interface when it is not available in entity-manager. Tested: All drives showed up in redfish Change-Id: If3bfa1e3e9c03146a77c896a5c983fbdaff3f4f5 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-08Create associations for drives with inventoryJames Feist1-1/+248
This creates associations so that redfish can know which drives map to which configuration items. Tested: root@intel-obmc:~# busctl introspect xyz.openbmc_project.HsbpManager /xyz/openbmc_project/inventory/item/drive/Drive_2 --no-pager NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Association.Definitions interface - - - .Associations property a(sss) 1 "inventory" "drive" "/xyz/openbmc_p... emits-change xyz.openbmc_project.Inventory.Item interface - - - .Present property b true emits-change .PrettyName property s "Drive 2" emits-change xyz.openbmc_project.State.Decorator.OperationalStatus interface - - - .Functional property b true emits-change xyz.openbmc_project.State.Drive interface - - - .Rebuilding property b false emits-change Also show up in mapper Change-Id: Ia050316ac55faa89aad86567c93f9a74594e9180 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-08Add rebuilding to hsbp managerJames Feist1-5/+20
Interface is pushed here: https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/25671 Tested: available on dbus Change-Id: I79a73bb0e62951b09f4eb8bf0594aa39916b5dd9 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-03hsbp-manager: add drive presence and software versionJames Feist1-18/+283
This adds support for reading the sw version and drive presence from the hsbp cpld. Tested: Version is available in redfish root@intel-obmc:~# busctl tree xyz.openbmc_project.HsbpManager --no-pager `-/xyz `-/xyz/openbmc_project |-/xyz/openbmc_project/inventory | `-/xyz/openbmc_project/inventory/item | |-/xyz/openbmc_project/inventory/item/drive | | |-/xyz/openbmc_project/inventory/item/drive/Drive_1 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_2 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_3 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_4 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_5 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_6 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_7 | | `-/xyz/openbmc_project/inventory/item/drive/Drive_8 | `-/xyz/openbmc_project/inventory/item/hsbp | `-/xyz/openbmc_project/inventory/item/hsbp/J85894_HSBP_1 root@intel-obmc:~# busctl introspect xyz.openbmc_project.HsbpManager /xyz/openbmc_project/inventory/item/hsbp/J85894_HSBP_1 --no-pager NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Inventory.Item interface - - - .Present property b true emits-change .PrettyName property s "J85894 HSBP 1" emits-change xyz.openbmc_project.Software.Version interface - - - .Version property s "00.02.01" emits-change .Purpose property s "xyz.openbmc_project.Software.Version... emits-change Change-Id: I73fd2669f4a0e9b8e499107a960f2169f63873e3 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-09-30Add HSBP Manager DaemonFeist, James1-0/+201
This is the initial commit for the hsbp-manager daemon. Currently it reads a json configuration and detects whether the cpld is available. More feaures will be added in small patches. Tested: busctl introspect --no-pager xyz.openbmc_project.HsbpManager /xyz/openbmc_project/inventory/item/hsbp/J85894_HSBP_1 NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Inventory.Item interface - - - .Present property b true emits-change .PrettyName property s "J85894 HSBP 1" emits-change Change-Id: Ibbce272e045f8643af74b778f273168442623919 Signed-off-by: Feist, James <james.feist@linux.intel.com>