treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / driver-api / dcdbas.rst
blob309cc57a7c1c8a47c0fe99fd6d8ed92c9dd351e4
1 ===================================
2 Dell Systems Management Base Driver
3 ===================================
5 Overview
6 ========
8 The Dell Systems Management Base Driver provides a sysfs interface for
9 systems management software such as Dell OpenManage to perform system
10 management interrupts and host control actions (system power cycle or
11 power off after OS shutdown) on certain Dell systems.
13 Dell OpenManage requires this driver on the following Dell PowerEdge systems:
14 300, 1300, 1400, 400SC, 500SC, 1500SC, 1550, 600SC, 1600SC, 650, 1655MC,
15 700, and 750.  Other Dell software such as the open source libsmbios project
16 is expected to make use of this driver, and it may include the use of this
17 driver on other Dell systems.
19 The Dell libsmbios project aims towards providing access to as much BIOS
20 information as possible.  See http://linux.dell.com/libsmbios/main/ for
21 more information about the libsmbios project.
24 System Management Interrupt
25 ===========================
27 On some Dell systems, systems management software must access certain
28 management information via a system management interrupt (SMI).  The SMI data
29 buffer must reside in 32-bit address space, and the physical address of the
30 buffer is required for the SMI.  The driver maintains the memory required for
31 the SMI and provides a way for the application to generate the SMI.
32 The driver creates the following sysfs entries for systems management
33 software to perform these system management interrupts::
35         /sys/devices/platform/dcdbas/smi_data
36         /sys/devices/platform/dcdbas/smi_data_buf_phys_addr
37         /sys/devices/platform/dcdbas/smi_data_buf_size
38         /sys/devices/platform/dcdbas/smi_request
40 Systems management software must perform the following steps to execute
41 a SMI using this driver:
43 1) Lock smi_data.
44 2) Write system management command to smi_data.
45 3) Write "1" to smi_request to generate a calling interface SMI or
46    "2" to generate a raw SMI.
47 4) Read system management command response from smi_data.
48 5) Unlock smi_data.
51 Host Control Action
52 ===================
54 Dell OpenManage supports a host control feature that allows the administrator
55 to perform a power cycle or power off of the system after the OS has finished
56 shutting down.  On some Dell systems, this host control feature requires that
57 a driver perform a SMI after the OS has finished shutting down.
59 The driver creates the following sysfs entries for systems management software
60 to schedule the driver to perform a power cycle or power off host control
61 action after the system has finished shutting down:
63 /sys/devices/platform/dcdbas/host_control_action
64 /sys/devices/platform/dcdbas/host_control_smi_type
65 /sys/devices/platform/dcdbas/host_control_on_shutdown
67 Dell OpenManage performs the following steps to execute a power cycle or
68 power off host control action using this driver:
70 1) Write host control action to be performed to host_control_action.
71 2) Write type of SMI that driver needs to perform to host_control_smi_type.
72 3) Write "1" to host_control_on_shutdown to enable host control action.
73 4) Initiate OS shutdown.
74    (Driver will perform host control SMI when it is notified that the OS
75    has finished shutting down.)
78 Host Control SMI Type
79 =====================
81 The following table shows the value to write to host_control_smi_type to
82 perform a power cycle or power off host control action:
84 =================== =====================
85 PowerEdge System    Host Control SMI Type
86 =================== =====================
87       300             HC_SMITYPE_TYPE1
88      1300             HC_SMITYPE_TYPE1
89      1400             HC_SMITYPE_TYPE2
90       500SC           HC_SMITYPE_TYPE2
91      1500SC           HC_SMITYPE_TYPE2
92      1550             HC_SMITYPE_TYPE2
93       600SC           HC_SMITYPE_TYPE2
94      1600SC           HC_SMITYPE_TYPE2
95       650             HC_SMITYPE_TYPE2
96      1655MC           HC_SMITYPE_TYPE2
97       700             HC_SMITYPE_TYPE3
98       750             HC_SMITYPE_TYPE3
99 =================== =====================