/Linux-v6.6/drivers/char/ipmi/ |
D | Kconfig | 3 # IPMI device configuration 7 tristate 'IPMI top-level message handler' 11 This enables the central IPMI message handler, required for IPMI 14 IPMI is a standard for managing sensors (temperature, 17 See <file:Documentation/driver-api/ipmi.rst> for more details on the driver. 33 When a panic occurs, this will cause the IPMI message handler to, 34 by default, generate an IPMI event describing the panic to each 44 When a panic occurs, this will cause the IPMI message handler to, 45 by default, generate IPMI OEM type f0 events holding the IPMB 57 tristate 'Device interface for IPMI' [all …]
|
D | ipmi_powernv.c | 3 * PowerNV OPAL IPMI driver 8 #define pr_fmt(fmt) "ipmi-powernv: " fmt 155 pr_warn("unexpected IPMI message size %lld\n", size); in ipmi_powernv_recv() 161 pr_warn("unexpected IPMI message format (version %d)\n", in ipmi_powernv_recv() 213 struct ipmi_smi_powernv *ipmi; in ipmi_powernv_probe() local 223 ipmi = devm_kzalloc(dev, sizeof(*ipmi), GFP_KERNEL); in ipmi_powernv_probe() 224 if (!ipmi) in ipmi_powernv_probe() 227 spin_lock_init(&ipmi->msg_lock); in ipmi_powernv_probe() 229 rc = of_property_read_u32(dev->of_node, "ibm,ipmi-interface-id", in ipmi_powernv_probe() 235 ipmi->interface_id = prop; in ipmi_powernv_probe() [all …]
|
D | ipmi_poweroff.c | 5 * MontaVista IPMI Poweroff extension to sys_reboot 15 #define pr_fmt(fmt) "IPMI poweroff: " fmt 24 #include <linux/ipmi.h> 31 * conveniently matches the IPMI chassis control values. */ 35 /* the IPMI data command */ 186 * Configure IPMI address for local access in pps_poweroff_atca() 202 pr_err("Unable to send ATCA, IPMI error 0x%x\n", rv); in pps_poweroff_atca() 215 * Configure IPMI address for local access in ipmi_atca_detect() 250 * Configure IPMI address for local access in ipmi_poweroff_atca() 279 pr_err("Unable to send ATCA powerdown message, IPMI error 0x%x\n", in ipmi_poweroff_atca() [all …]
|
D | ipmi_plat_data.c | 4 * Add an IPMI platform device. 35 pr[pidx++] = PROPERTY_ENTRY_U8("ipmi-type", p->type); in ipmi_platform_add() 50 pr_err("Error allocating IPMI platform device %s.%d\n", in ipmi_platform_add() 61 * the IPMI platform code. in ipmi_platform_add() 71 r[0].name = "IPMI Address 1"; in ipmi_platform_add() 77 r[1].name = "IPMI Address 2"; in ipmi_platform_add() 85 r[2].name = "IPMI Address 3"; in ipmi_platform_add() 93 r[num_r].name = "IPMI IRQ"; in ipmi_platform_add()
|
D | ipmi_dmi.c | 4 * allow autoloading of the IPMI drive based on SMBIOS entries. 7 #define pr_fmt(fmt) "%s" fmt, "ipmi:dmi: " 10 #include <linux/ipmi.h> 48 name = "dmi-ipmi-si"; in dmi_add_platform_ipmi() 52 name = "dmi-ipmi-ssif"; in dmi_add_platform_ipmi() 66 pr_err("Invalid IPMI type: %d\n", type); in dmi_add_platform_ipmi() 96 * prefer using ACPI so the ACPI code can use the IPMI namespace. 97 * This function allows an ACPI-specified IPMI device to look up the 144 pr_err("Base address is zero, assuming no IPMI interface\n"); in dmi_decode_ipmi()
|
D | ipmi_si_platform.c | 5 * Handling for platform devices in IPMI (ACPI, OF, and things 154 rv = device_property_read_u8(&pdev->dev, "ipmi-type", &type); in platform_ipmi_probe() 172 dev_err(&pdev->dev, "ipmi-type property is invalid\n"); in platform_ipmi_probe() 215 { .type = "ipmi", .compatible = "ipmi-kcs", 217 { .type = "ipmi", .compatible = "ipmi-smic", 219 { .type = "ipmi", .compatible = "ipmi-bt", 336 dev_err(dev, "Could not find ACPI IPMI interface type\n"); in acpi_ipmi_probe() 353 dev_info(dev, "unknown IPMI type %lld\n", tmp); in acpi_ipmi_probe() 441 { "dmi-ipmi-si", 0 }, 442 { "hardcode-ipmi-si", 0 }, [all …]
|
D | ipmi_watchdog.c | 5 * A watchdog timer based upon the IPMI interface. 14 #define pr_fmt(fmt) "IPMI Watchdog: " fmt 18 #include <linux/ipmi.h> 44 * that can reasonably support the IPMI NMI watchdog timeout at this 57 * The IPMI command/response information for the watchdog timer. 322 /* IPMI version of the BMC. */ 377 /* This is an IPMI 1.5-only feature. */ in __ipmi_set_timeout() 381 * In ipmi 1.0, setting the timer stops the watchdog, we in __ipmi_set_timeout() 521 * is the only CPU and the only thing that will be going is these IPMI 592 pr_err("Unable to restore the IPMI watchdog's settings, giving up\n"); in __ipmi_heartbeat() [all …]
|
D | ipmi_si_hardcode.c | 51 …fic IPMI register in bytes. This should generally be 1, 2, 4, or 8 for an 8-bit, 16-bit, 32-bit, o… 54 … shift the data read from the. IPMI register, in bits. For instance, if the data is read from a 3… 90 ipmi_platform_add("hardcode-ipmi-si", i, &p); in ipmi_hardcode_init_one() 129 ipmi_remove_platform_device_by_name("hardcode-ipmi-si"); in ipmi_si_hardcode_exit()
|
D | ipmi_si_hotmod.c | 5 * Handling for dynamically adding/removing IPMI devices through 12 #include <linux/ipmi.h> 21 …"Add and remove interfaces. See Documentation/driver-api/ipmi.rst in the kernel sources for the g… 211 ipmi_platform_add("hotmod-ipmi-si", in hotmod_handler() 222 if (strcmp(pdev->name, "hotmod-ipmi-si") == 0) in hotmod_handler() 236 ipmi_remove_platform_device_by_name("hotmod-ipmi-si"); in ipmi_si_hotmod_exit()
|
D | ipmi_devintf.c | 5 * Linux device interface for the IPMI message handler. 21 #include <linux/ipmi.h> 662 * Define some helper functions for copying IPMI data 796 MODULE_PARM_DESC(ipmi_major, "Sets the major number of the IPMI device. By" 811 .name = "ipmi", 821 pr_err("ipmi_devintf: Unable to create the ipmi class device link\n"); in ipmi_new_smi() 827 device_create(&ipmi_class, device, dev, NULL, "ipmi%d", if_num); in ipmi_new_smi() 863 pr_info("ipmi device interface\n"); in init_ipmi_devintf() 872 pr_err("ipmi: can't get major %d\n", ipmi_major); in init_ipmi_devintf() 884 pr_warn("ipmi: can't register smi watcher\n"); in init_ipmi_devintf() [all …]
|
D | kcs_bmc_cdev_ipmi.c | 34 * BMC is waiting the response from the upper IPMI service. 60 /* IPMI 2.0 - Table 9-4, KCS Interface Status Codes */ 94 #define DEVICE_NAME "ipmi-kcs" 100 /* IPMI 2.0 - Table 9-1, KCS Interface Status Register Bits */ 108 /* IPMI 2.0 - Table 9-2, KCS Interface State Bits */ 116 /* IPMI 2.0 - Table 9-3, KCS Interface Control Codes */ 510 dev_info(kcs_bmc->dev, "Initialised IPMI client for channel %d", kcs_bmc->channel); in kcs_bmc_ipmi_add_device() 568 MODULE_DESCRIPTION("KCS BMC to handle the IPMI request from system software");
|
D | ipmi_plat_data.h | 4 * Generic code to add IPMI platform devices. 7 #include <linux/ipmi.h>
|
/Linux-v6.6/drivers/acpi/ |
D | acpi_ipmi.c | 3 * acpi_ipmi.c - ACPI IPMI opregion 12 #include <linux/ipmi.h> 16 MODULE_DESCRIPTION("ACPI IPMI Opregion driver"); 22 /* the IPMI timeout is 5s */ 30 /* the IPMI request message list */ 37 int ipmi_ifnum; /* IPMI interface number */ 50 * NOTE: IPMI System Interface Selection 51 * There is no system interface specified by the IPMI operation 53 * handle set. IPMI messages passed from the ACPI codes are sent 54 * to this selected global IPMI system interface. [all …]
|
/Linux-v6.6/Documentation/driver-api/ |
D | ipmi.rst | 2 The Linux IPMI Driver 7 The Intelligent Platform Management Interface, or IPMI, is a 15 To use this, you need an interface to an IPMI controller in your 17 management software that can use the IPMI system. 19 This document describes how to use the IPMI driver for Linux. If you 20 are not familiar with IPMI itself, see the web site at 21 https://www.intel.com/design/servers/ipmi/index.htm. IPMI is a big 27 The Linux IPMI driver is modular, which means you have to pick several 29 these are available in the 'Character Devices' menu then the IPMI 32 No matter what, you must pick 'IPMI top-level message handler' to use [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/ipmi/ |
D | ipmi-smic.yaml | 4 $id: http://devicetree.org/schemas/ipmi/ipmi-smic.yaml# 7 title: IPMI device 9 description: IPMI device bindings 17 - ipmi-kcs 18 - ipmi-smic 19 - ipmi-bt 23 - const: ipmi 57 compatible = "ipmi-smic"; 58 device_type = "ipmi";
|
D | ipmi-ipmb.yaml | 4 $id: http://devicetree.org/schemas/ipmi/ipmi-ipmb.yaml# 7 title: IPMI IPMB device 9 description: IPMI IPMB device bindings 17 - ipmi-ipmb 21 - const: ipmi 59 ipmi-ipmb@40 { 60 compatible = "ipmi-ipmb"; 61 device_type = "ipmi";
|
D | ssif-bmc.yaml | 4 $id: http://devicetree.org/schemas/ipmi/ssif-bmc.yaml# 7 title: SSIF IPMI BMC interface 9 description: SSIF IPMI BMC device bindings
|
D | aspeed,ast2400-ibt-bmc.txt | 1 * Aspeed BT (Block Transfer) IPMI interface 5 perform in-band IPMI communication with their host.
|
/Linux-v6.6/Documentation/ABI/testing/ |
D | sysfs-devices-platform-ipmi | 55 (RO) Lists the IPMI ‘logical device’ commands and functions 65 (RO) Displays the IPMI Command Specification Version. 88 Device ID Command' of the IPMI specification v2.0. 99 IPMI specification v2.0. 107 (RO) The device interface for IPMI "kcs", "smic", "bt" or 134 events (RO) Number of IPMI events received from 181 What: /sys/devices/platform/dmi-ipmi-ssif.*/type 189 What: /sys/devices/platform/dmi-ipmi-ssif.*/hosed 190 What: /sys/devices/platform/dmi-ipmi-ssif.*/alerts 191 What: /sys/devices/platform/dmi-ipmi-ssif.*/sent_messages [all …]
|
/Linux-v6.6/include/linux/ |
D | ipmi.h | 3 * ipmi.h 5 * MontaVista IPMI interface 17 #include <uapi/linux/ipmi.h> 27 * Opaque type for a IPMI message user. One of these is needed to 87 * the only IPMI routines that can be called are ipmi_request 115 /* Create a new user of the IPMI layer on the given interface number. */ 122 * Destroy the given user of the IPMI layer. Note that after this 131 /* Get the IPMI version of the BMC we are talking to. */ 167 * IPMI over LAN converter; since the LAN stuff does its own retries, 199 * Poll the IPMI interface for the user. This causes the IPMI code to [all …]
|
D | ipmi_smi.h | 5 * MontaVista IPMI system management interface 21 #include <linux/ipmi.h> 26 * This files describes the interface for IPMI system management interface 27 * drivers to bind into the IPMI message handler. 159 * ACPI device handle will be returned for the pnp_acpi IPMI device. 240 * Take a pointer to an IPMI response and extract device id information from 285 * Add a low-level interface to the IPMI driver. Note that if the 302 * Remove a low-level interface from the IPMI driver. This will
|
/Linux-v6.6/drivers/hwmon/ |
D | ibmaem.c | 12 #include <linux/ipmi.h> 136 struct aem_ipmi_data ipmi; member 225 /* Data structures to talk to the IPMI layer */ 254 /* Functions to talk to the IPMI layer */ 256 /* Initialize IPMI address, message buffers and user data */ 265 /* Initialize IPMI address */ in aem_init_ipmi_data() 275 /* Create IPMI messaging interface user */ in aem_init_ipmi_data() 280 "Unable to register user with IPMI interface %d\n", in aem_init_ipmi_data() 288 /* Send an IPMI command */ 312 /* Dispatch IPMI messages to callers */ [all …]
|
/Linux-v6.6/include/uapi/linux/ |
D | ipmi_msgdefs.h | 5 * MontaVista IPMI system management interface 18 /* Various definitions for IPMI messages used by almost everything in 19 the IPMI stack. */ 21 /* NetFNs and commands used inside the IPMI stack. */ 74 #define IPMI_NOT_IN_MY_STATE_ERR 0xd5 /* IPMI 2.0 */
|
D | ipmi.h | 3 * ipmi.h 5 * MontaVista IPMI interface 22 * This file describes an interface to an IPMI driver. You have to 23 * have a fairly good understanding of IPMI to use this, so go read 27 * IPMI driver, and it allows multiple IPMI physical interfaces below 53 in section 6.5 of the IPMI 1.5 manual. */ 74 IPMI 1.5 manual. */ 101 * A conscious decision was made here to deviate slightly from the IPMI 143 * A raw IPMI message without any addressing. This covers both 163 * Various defines that are useful for IPMI applications. [all …]
|
/Linux-v6.6/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_fru_eeprom.c | 116 /* Read the IPMI Common header */ in amdgpu_fru_get_product_info() 120 DRM_ERROR("Couldn't read the IPMI Common Header: %d", len); in amdgpu_fru_get_product_info() 125 DRM_ERROR("Bad IPMI Common Header version: 0x%02x", buf[0]); in amdgpu_fru_get_product_info() 132 DRM_ERROR("Bad IPMI Common Header checksum: 0x%02x", csum); in amdgpu_fru_get_product_info() 152 DRM_ERROR("Bad IPMI Product Info Area version: 0x%02x", buf[0]); in amdgpu_fru_get_product_info()
|