1287905e6SSaravana KannanWhat: /sys/class/devlink/.../ 2287905e6SSaravana KannanDate: May 2020 3287905e6SSaravana KannanContact: Saravana Kannan <saravanak@google.com> 4287905e6SSaravana KannanDescription: 5287905e6SSaravana Kannan Provide a place in sysfs for the device link objects in the 6287905e6SSaravana Kannan kernel at any given time. The name of a device link directory, 790b109d5SSaravana Kannan denoted as ... above, is of the form <supplier>--<consumer> 8*e020ff61SSaravana Kannan where <supplier> is the supplier bus:device name and <consumer> 9*e020ff61SSaravana Kannan is the consumer bus:device name. 10287905e6SSaravana Kannan 11287905e6SSaravana KannanWhat: /sys/class/devlink/.../auto_remove_on 12287905e6SSaravana KannanDate: May 2020 13287905e6SSaravana KannanContact: Saravana Kannan <saravanak@google.com> 14287905e6SSaravana KannanDescription: 15287905e6SSaravana Kannan This file indicates if the device link will ever be 16287905e6SSaravana Kannan automatically removed by the driver core when the consumer and 17287905e6SSaravana Kannan supplier devices themselves are still present. 18287905e6SSaravana Kannan 19287905e6SSaravana Kannan This will be one of the following strings: 20287905e6SSaravana Kannan 2154a19b4dSMauro Carvalho Chehab - 'consumer unbind' 2254a19b4dSMauro Carvalho Chehab - 'supplier unbind' 2354a19b4dSMauro Carvalho Chehab - 'never' 24287905e6SSaravana Kannan 25287905e6SSaravana Kannan 'consumer unbind' means the device link will be removed when 26287905e6SSaravana Kannan the consumer's driver is unbound from the consumer device. 27287905e6SSaravana Kannan 28287905e6SSaravana Kannan 'supplier unbind' means the device link will be removed when 29287905e6SSaravana Kannan the supplier's driver is unbound from the supplier device. 30287905e6SSaravana Kannan 31287905e6SSaravana Kannan 'never' means the device link will not be automatically removed 32287905e6SSaravana Kannan when as long as the supplier and consumer devices themselves 33287905e6SSaravana Kannan are still present. 34287905e6SSaravana Kannan 35287905e6SSaravana KannanWhat: /sys/class/devlink/.../consumer 36287905e6SSaravana KannanDate: May 2020 37287905e6SSaravana KannanContact: Saravana Kannan <saravanak@google.com> 38287905e6SSaravana KannanDescription: 39287905e6SSaravana Kannan This file is a symlink to the consumer device's sysfs directory. 40287905e6SSaravana Kannan 41287905e6SSaravana KannanWhat: /sys/class/devlink/.../runtime_pm 42287905e6SSaravana KannanDate: May 2020 43287905e6SSaravana KannanContact: Saravana Kannan <saravanak@google.com> 44287905e6SSaravana KannanDescription: 45287905e6SSaravana Kannan This file indicates if the device link has any impact on the 46287905e6SSaravana Kannan runtime power management behavior of the consumer and supplier 47287905e6SSaravana Kannan devices. For example: Making sure the supplier doesn't enter 48287905e6SSaravana Kannan runtime suspend while the consumer is active. 49287905e6SSaravana Kannan 50287905e6SSaravana Kannan This will be one of the following strings: 51287905e6SSaravana Kannan 5254a19b4dSMauro Carvalho Chehab === ======================================== 5354a19b4dSMauro Carvalho Chehab '0' Does not affect runtime power management 5454a19b4dSMauro Carvalho Chehab '1' Affects runtime power management 5554a19b4dSMauro Carvalho Chehab === ======================================== 56287905e6SSaravana Kannan 57287905e6SSaravana KannanWhat: /sys/class/devlink/.../status 58287905e6SSaravana KannanDate: May 2020 59287905e6SSaravana KannanContact: Saravana Kannan <saravanak@google.com> 60287905e6SSaravana KannanDescription: 61287905e6SSaravana Kannan This file indicates the status of the device link. The status 62287905e6SSaravana Kannan of a device link is affected by whether the supplier and 63287905e6SSaravana Kannan consumer devices have been bound to their corresponding 64287905e6SSaravana Kannan drivers. The status of a device link also affects the binding 65287905e6SSaravana Kannan and unbinding of the supplier and consumer devices with their 66287905e6SSaravana Kannan drivers and also affects whether the software state of the 67287905e6SSaravana Kannan supplier device is synced with the hardware state of the 68287905e6SSaravana Kannan supplier device after boot up. 69287905e6SSaravana Kannan See also: sysfs-devices-state_synced. 70287905e6SSaravana Kannan 71287905e6SSaravana Kannan This will be one of the following strings: 72287905e6SSaravana Kannan 7354a19b4dSMauro Carvalho Chehab - 'not tracked' 7454a19b4dSMauro Carvalho Chehab - 'dormant' 7554a19b4dSMauro Carvalho Chehab - 'available' 7654a19b4dSMauro Carvalho Chehab - 'consumer probing' 7754a19b4dSMauro Carvalho Chehab - 'active' 7854a19b4dSMauro Carvalho Chehab - 'supplier unbinding' 7954a19b4dSMauro Carvalho Chehab - 'unknown' 80287905e6SSaravana Kannan 81287905e6SSaravana Kannan 'not tracked' means this device link does not track the status 82287905e6SSaravana Kannan and has no impact on the binding, unbinding and syncing the 83287905e6SSaravana Kannan hardware and software device state. 84287905e6SSaravana Kannan 85287905e6SSaravana Kannan 'dormant' means the supplier and the consumer devices have not 86287905e6SSaravana Kannan bound to their driver. 87287905e6SSaravana Kannan 88287905e6SSaravana Kannan 'available' means the supplier has bound to its driver and is 89287905e6SSaravana Kannan available to supply resources to the consumer device. 90287905e6SSaravana Kannan 91287905e6SSaravana Kannan 'consumer probing' means the consumer device is currently 92287905e6SSaravana Kannan trying to bind to its driver. 93287905e6SSaravana Kannan 94287905e6SSaravana Kannan 'active' means the supplier and consumer devices have both 95287905e6SSaravana Kannan bound successfully to their drivers. 96287905e6SSaravana Kannan 97287905e6SSaravana Kannan 'supplier unbinding' means the supplier devices is currently in 98287905e6SSaravana Kannan the process of unbinding from its driver. 99287905e6SSaravana Kannan 100287905e6SSaravana Kannan 'unknown' means the state of the device link is not any of the 101287905e6SSaravana Kannan above. If this is ever the value, there's a bug in the kernel. 102287905e6SSaravana Kannan 103287905e6SSaravana KannanWhat: /sys/class/devlink/.../supplier 104287905e6SSaravana KannanDate: May 2020 105287905e6SSaravana KannanContact: Saravana Kannan <saravanak@google.com> 106287905e6SSaravana KannanDescription: 107287905e6SSaravana Kannan This file is a symlink to the supplier device's sysfs directory. 108287905e6SSaravana Kannan 109287905e6SSaravana KannanWhat: /sys/class/devlink/.../sync_state_only 110287905e6SSaravana KannanDate: May 2020 111287905e6SSaravana KannanContact: Saravana Kannan <saravanak@google.com> 112287905e6SSaravana KannanDescription: 113287905e6SSaravana Kannan This file indicates if the device link is limited to only 114287905e6SSaravana Kannan affecting the syncing of the hardware and software state of the 115287905e6SSaravana Kannan supplier device. 116287905e6SSaravana Kannan 117287905e6SSaravana Kannan This will be one of the following strings: 118287905e6SSaravana Kannan 11954a19b4dSMauro Carvalho Chehab === ================================ 120287905e6SSaravana Kannan '0' 12154a19b4dSMauro Carvalho Chehab '1' Affects runtime power management 12254a19b4dSMauro Carvalho Chehab === ================================ 123287905e6SSaravana Kannan 124287905e6SSaravana Kannan '0' means the device link can affect other device behaviors 125287905e6SSaravana Kannan like binding/unbinding, suspend/resume, runtime power 126287905e6SSaravana Kannan management, etc. 127287905e6SSaravana Kannan 128287905e6SSaravana Kannan '1' means the device link will only affect the syncing of 129287905e6SSaravana Kannan hardware and software state of the supplier device after boot 130287905e6SSaravana Kannan up and doesn't not affect other behaviors of the devices. 131