Commit | Line | Data |
---|---|---|
287905e6 SK |
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, | |
90b109d5 | 7 | denoted as ... above, is of the form <supplier>--<consumer> |
e020ff61 SK |
8 | where <supplier> is the supplier bus:device name and <consumer> |
9 | is the consumer bus:device name. | |
287905e6 SK |
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 | ||
54a19b4d MCC |
21 | - 'consumer unbind' |
22 | - 'supplier unbind' | |
23 | - 'never' | |
287905e6 SK |
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 | ||
54a19b4d MCC |
52 | === ======================================== |
53 | '0' Does not affect runtime power management | |
54 | '1' Affects runtime power management | |
55 | === ======================================== | |
287905e6 SK |
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 | ||
54a19b4d MCC |
73 | - 'not tracked' |
74 | - 'dormant' | |
75 | - 'available' | |
76 | - 'consumer probing' | |
77 | - 'active' | |
78 | - 'supplier unbinding' | |
79 | - 'unknown' | |
287905e6 SK |
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 | ||
54a19b4d | 119 | === ================================ |
287905e6 | 120 | '0' |
54a19b4d MCC |
121 | '1' Affects runtime power management |
122 | === ================================ | |
287905e6 SK |
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. |