Merge tag 'ntb-5.11' of git://github.com/jonmason/ntb
[linux-2.6-microblaze.git] / Documentation / ABI / testing / sysfs-class-devlink
1 What:           /sys/class/devlink/.../
2 Date:           May 2020
3 Contact:        Saravana Kannan <saravanak@google.com>
4 Description:
5                 Provide a place in sysfs for the device link objects in the
6                 kernel at any given time.  The name of a device link directory,
7                 denoted as ... above, is of the form <supplier>--<consumer>
8                 where <supplier> is the supplier device name and <consumer> is
9                 the consumer device name.
10
11 What:           /sys/class/devlink/.../auto_remove_on
12 Date:           May 2020
13 Contact:        Saravana Kannan <saravanak@google.com>
14 Description:
15                 This file indicates if the device link will ever be
16                 automatically removed by the driver core when the consumer and
17                 supplier devices themselves are still present.
18
19                 This will be one of the following strings:
20
21                 - 'consumer unbind'
22                 - 'supplier unbind'
23                 - 'never'
24
25                 'consumer unbind' means the device link will be removed when
26                 the consumer's driver is unbound from the consumer device.
27
28                 'supplier unbind' means the device link will be removed when
29                 the supplier's driver is unbound from the supplier device.
30
31                 'never' means the device link will not be automatically removed
32                 when as long as the supplier and consumer devices themselves
33                 are still present.
34
35 What:           /sys/class/devlink/.../consumer
36 Date:           May 2020
37 Contact:        Saravana Kannan <saravanak@google.com>
38 Description:
39                 This file is a symlink to the consumer device's sysfs directory.
40
41 What:           /sys/class/devlink/.../runtime_pm
42 Date:           May 2020
43 Contact:        Saravana Kannan <saravanak@google.com>
44 Description:
45                 This file indicates if the device link has any impact on the
46                 runtime power management behavior of the consumer and supplier
47                 devices. For example: Making sure the supplier doesn't enter
48                 runtime suspend while the consumer is active.
49
50                 This will be one of the following strings:
51
52                 ===   ========================================
53                 '0'   Does not affect runtime power management
54                 '1'   Affects runtime power management
55                 ===   ========================================
56
57 What:           /sys/class/devlink/.../status
58 Date:           May 2020
59 Contact:        Saravana Kannan <saravanak@google.com>
60 Description:
61                 This file indicates the status of the device link. The status
62                 of a device link is affected by whether the supplier and
63                 consumer devices have been bound to their corresponding
64                 drivers. The status of a device link also affects the binding
65                 and unbinding of the supplier and consumer devices with their
66                 drivers and also affects whether the software state of the
67                 supplier device is synced with the hardware state of the
68                 supplier device after boot up.
69                 See also: sysfs-devices-state_synced.
70
71                 This will be one of the following strings:
72
73                 - 'not tracked'
74                 - 'dormant'
75                 - 'available'
76                 - 'consumer probing'
77                 - 'active'
78                 - 'supplier unbinding'
79                 - 'unknown'
80
81                 'not tracked' means this device link does not track the status
82                 and has no impact on the binding, unbinding and syncing the
83                 hardware and software device state.
84
85                 'dormant' means the supplier and the consumer devices have not
86                 bound to their driver.
87
88                 'available' means the supplier has bound to its driver and is
89                 available to supply resources to the consumer device.
90
91                 'consumer probing' means the consumer device is currently
92                 trying to bind to its driver.
93
94                 'active' means the supplier and consumer devices have both
95                 bound successfully to their drivers.
96
97                 'supplier unbinding' means the supplier devices is currently in
98                 the process of unbinding from its driver.
99
100                 'unknown' means the state of the device link is not any of the
101                 above. If this is ever the value, there's a bug in the kernel.
102
103 What:           /sys/class/devlink/.../supplier
104 Date:           May 2020
105 Contact:        Saravana Kannan <saravanak@google.com>
106 Description:
107                 This file is a symlink to the supplier device's sysfs directory.
108
109 What:           /sys/class/devlink/.../sync_state_only
110 Date:           May 2020
111 Contact:        Saravana Kannan <saravanak@google.com>
112 Description:
113                 This file indicates if the device link is limited to only
114                 affecting the syncing of the hardware and software state of the
115                 supplier device.
116
117                 This will be one of the following strings:
118
119                 ===  ================================
120                 '0'
121                 '1'  Affects runtime power management
122                 ===  ================================
123
124                 '0' means the device link can affect other device behaviors
125                 like binding/unbinding, suspend/resume, runtime power
126                 management, etc.
127
128                 '1' means the device link will only affect the syncing of
129                 hardware and software state of the supplier device after boot
130                 up and doesn't not affect other behaviors of the devices.