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