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