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