What:		/sys/bus/*/drivers/ufshcd/*/auto_hibern8
Date:		March 2018
Contact:	linux-scsi@vger.kernel.org
Description:
		This file contains the auto-hibernate idle timer setting of a
		UFS host controller. A value of '0' means auto-hibernate is not
		enabled. Otherwise the value is the number of microseconds of
		idle time before the UFS host controller will autonomously put
		the link into hibernate state. That will save power at the
		expense of increased latency. Note that the hardware supports
		10-bit values with a power-of-ten multiplier which allows a
		maximum value of 102300000. Refer to the UFS Host Controller
		Interface specification for more details.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_type
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the device type. This is one of the UFS
		device descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_class
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the device class. This is one of the UFS
		device descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_sub_class
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the UFS storage subclass. This is one of
		the UFS device descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/protocol
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the protocol supported by an UFS device.
		This is one of the UFS device descriptor parameters.
		The full information about the descriptor could be found
		at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_luns
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows number of logical units. This is one of
		the UFS device descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_wluns
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows number of well known logical units.
		This is one of the UFS device descriptor parameters.
		The full information about the descriptor could be found
		at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/boot_enable
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows value that indicates whether the device is
		enabled for boot. This is one of the UFS device descriptor
		parameters. The full information about the descriptor could
		be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/descriptor_access_enable
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows value that indicates whether the device
		descriptor could be read after partial initialization phase
		of the boot sequence. This is one of the UFS device descriptor
		parameters. The full information about the descriptor could
		be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_power_mode
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows value that defines the power mode after
		device initialization or hardware reset. This is one of
		the UFS device descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/high_priority_lun
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the high priority lun. This is one of
		the UFS device descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/secure_removal_type
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the secure removal type. This is one of
		the UFS device descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/support_security_lun
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows whether the security lun is supported.
		This is one of the UFS device descriptor parameters.
		The full information about the descriptor could be found
		at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/bkops_termination_latency
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the background operations termination
		latency. This is one of the UFS device descriptor parameters.
		The full information about the descriptor could be found
		at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_active_icc_level
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the initial active ICC level. This is one
		of the UFS device descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/specification_version
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the specification version. This is one
		of the UFS device descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturing_date
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the manufacturing date in BCD format.
		This is one of the UFS device descriptor parameters.
		The full information about the descriptor could be found
		at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturer_id
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the manufacturee ID. This is one of the
		UFS device descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtt_capability
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the maximum number of outstanding RTTs
		supported by the device. This is one of the UFS device
		descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtc_update
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the frequency and method of the realtime
		clock update. This is one of the UFS device descriptor
		parameters. The full information about the descriptor
		could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/ufs_features
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows which features are supported by the device.
		This is one of the UFS device descriptor parameters.
		The full information about the descriptor could be
		found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/ffu_timeout
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the FFU timeout. This is one of the
		UFS device descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/queue_depth
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the device queue depth. This is one of the
		UFS device descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_version
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the device version. This is one of the
		UFS device descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_secure_wpa
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows number of secure write protect areas
		supported by the device. This is one of the UFS device
		descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_max_data_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the maximum amount of data that may be
		written during the pre-soldering phase of the PSA flow.
		This is one of the UFS device descriptor parameters.
		The full information about the descriptor could be found
		at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_state_timeout
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the command maximum timeout for a change
		in PSA state. This is one of the UFS device descriptor
		parameters. The full information about the descriptor could
		be found at UFS specifications 2.1.

		The file is read only.


What:		/sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/unipro_version
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the MIPI UniPro version number in BCD format.
		This is one of the UFS interconnect descriptor parameters.
		The full information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/mphy_version
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the MIPI M-PHY version number in BCD format.
		This is one of the UFS interconnect descriptor parameters.
		The full information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.


What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/raw_device_capacity
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the total memory quantity available to
		the user to configure the device logical units. This is one
		of the UFS geometry descriptor parameters. The full
		information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_luns
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the maximum number of logical units
		supported by the UFS device. This is one of the UFS
		geometry descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/segment_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the segment size. This is one of the UFS
		geometry descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/allocation_unit_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the allocation unit size. This is one of
		the UFS geometry descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/min_addressable_block_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the minimum addressable block size. This
		is one of the UFS geometry descriptor parameters. The full
		information about the descriptor could be found at UFS
		specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_read_block_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the optimal read block size. This is one
		of the UFS geometry descriptor parameters. The full
		information about the descriptor could be found at UFS
		specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_write_block_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the optimal write block size. This is one
		of the UFS geometry descriptor parameters. The full
		information about the descriptor could be found at UFS
		specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_in_buffer_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the maximum data-in buffer size. This
		is one of the UFS geometry descriptor parameters. The full
		information about the descriptor could be found at UFS
		specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_out_buffer_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the maximum data-out buffer size. This
		is one of the UFS geometry descriptor parameters. The full
		information about the descriptor could be found at UFS
		specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/rpmb_rw_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the maximum number of RPMB frames allowed
		in Security Protocol In/Out. This is one of the UFS geometry
		descriptor parameters. The full information about the
		descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/dyn_capacity_resource_policy
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the dynamic capacity resource policy. This
		is one of the UFS geometry descriptor parameters. The full
		information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/data_ordering
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows support for out-of-order data transfer.
		This is one of the UFS geometry descriptor parameters.
		The full information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_contexts
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows maximum available number of contexts which
		are supported by the device. This is one of the UFS geometry
		descriptor parameters. The full information about the
		descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_unit_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows system data tag unit size. This is one of
		the UFS geometry descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_resource_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows maximum storage area size allocated by
		the device to handle system data by the tagging mechanism.
		This is one of the UFS geometry descriptor parameters.
		The full information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/secure_removal_types
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows supported secure removal types. This is
		one of the UFS geometry descriptor parameters. The full
		information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/memory_types
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows supported memory types. This is one of
		the UFS geometry descriptor parameters. The full
		information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_max_alloc_units
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the maximum number of allocation units for
		different memory types (system code, non persistent,
		enhanced type 1-4). This is one of the UFS geometry
		descriptor parameters. The full information about the
		descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_capacity_adjustment_factor
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the memory capacity adjustment factor for
		different memory types (system code, non persistent,
		enhanced type 1-4). This is one of the UFS geometry
		descriptor parameters. The full information about the
		descriptor could be found at UFS specifications 2.1.

		The file is read only.


What:		/sys/bus/platform/drivers/ufshcd/*/health_descriptor/eol_info
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows preend of life information. This is one
		of the UFS health descriptor parameters. The full
		information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_a
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows indication of the device life time
		(method a). This is one of the UFS health descriptor
		parameters. The full information about the descriptor
		could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_b
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows indication of the device life time
		(method b). This is one of the UFS health descriptor
		parameters. The full information about the descriptor
		could be found at UFS specifications 2.1.

		The file is read only.


What:		/sys/bus/platform/drivers/ufshcd/*/power_descriptor/active_icc_levels_vcc*
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows maximum VCC, VCCQ and VCCQ2 value for
		active ICC levels from 0 to 15. This is one of the UFS
		power descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.


What:		/sys/bus/platform/drivers/ufshcd/*/string_descriptors/manufacturer_name
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file contains a device manufactureer name string.
		The full information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file contains a product name string. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/string_descriptors/oem_id
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file contains a OEM ID string. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/string_descriptors/serial_number
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file contains a device serial number string. The full
		information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_revision
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file contains a product revision string. The full
		information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.


What:		/sys/class/scsi_device/*/device/unit_descriptor/boot_lun_id
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows boot LUN information. This is one of
		the UFS unit descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/lun_write_protect
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows LUN write protection status. This is one of
		the UFS unit descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/lun_queue_depth
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows LUN queue depth. This is one of the UFS
		unit descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/psa_sensitive
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows PSA sensitivity. This is one of the UFS
		unit descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/lun_memory_type
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows LUN memory type. This is one of the UFS
		unit descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/data_reliability
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file defines the device behavior when a power failure
		occurs during a write operation. This is one of the UFS
		unit descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/logical_block_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the size of addressable logical blocks
		(calculated as an exponent with base 2). This is one of
		the UFS unit descriptor parameters. The full information about
		the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/logical_block_count
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows total number of addressable logical blocks.
		This is one of the UFS unit descriptor parameters. The full
		information about the descriptor could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/erase_block_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the erase block size. This is one of
		the UFS unit descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/provisioning_type
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the thin provisioning type. This is one of
		the UFS unit descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/physical_memory_resourse_count
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the total physical memory resources. This is
		one of the UFS unit descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/context_capabilities
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the context capabilities. This is one of
		the UFS unit descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/large_unit_granularity
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the granularity of the LUN. This is one of
		the UFS unit descriptor parameters. The full information
		about the descriptor could be found at UFS specifications 2.1.

		The file is read only.


What:		/sys/bus/platform/drivers/ufshcd/*/flags/device_init
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the device init status. The full information
		about the flag could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/flags/permanent_wpe
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows whether permanent write protection is enabled.
		The full information about the flag could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/flags/power_on_wpe
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows whether write protection is enabled on all
		logical units configured as power on write protected. The
		full information about the flag could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/flags/bkops_enable
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows whether the device background operations are
		enabled. The full information about the flag could be
		found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/flags/life_span_mode_enable
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows whether the device life span mode is enabled.
		The full information about the flag could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/flags/phy_resource_removal
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows whether physical resource removal is enable.
		The full information about the flag could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/flags/busy_rtc
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows whether the device is executing internal
		operation related to real time clock. The full information
		about the flag could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/flags/disable_fw_update
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows whether the device FW update is permanently
		disabled. The full information about the flag could be found
		at UFS specifications 2.1.

		The file is read only.


What:		/sys/bus/platform/drivers/ufshcd/*/attributes/boot_lun_enabled
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file provides the boot lun enabled UFS device attribute.
		The full information about the attribute could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/current_power_mode
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file provides the current power mode UFS device attribute.
		The full information about the attribute could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/active_icc_level
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file provides the active icc level UFS device attribute.
		The full information about the attribute could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/ooo_data_enabled
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file provides the out of order data transfer enabled UFS
		device attribute. The full information about the attribute
		could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/bkops_status
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file provides the background operations status UFS device
		attribute. The full information about the attribute could
		be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/purge_status
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file provides the purge operation status UFS device
		attribute. The full information about the attribute could
		be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/max_data_in_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the maximum data size in a DATA IN
		UPIU. The full information about the attribute could
		be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/max_data_out_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the maximum number of bytes that can be
		requested with a READY TO TRANSFER UPIU. The full information
		about the attribute could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/reference_clock_frequency
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file provides the reference clock frequency UFS device
		attribute. The full information about the attribute could
		be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/configuration_descriptor_lock
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows whether the configuration descriptor is locked.
		The full information about the attribute could be found at
		UFS specifications 2.1. The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/max_number_of_rtt
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file provides the maximum current number of
		outstanding RTTs in device that is allowed. The full
		information about the attribute could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_control
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file provides the exception event control UFS device
		attribute. The full information about the attribute could
		be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_status
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file provides the exception event status UFS device
		attribute. The full information about the attribute could
		be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/ffu_status
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file provides the ffu status UFS device attribute.
		The full information about the attribute could be found at
		UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/psa_state
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file show the PSA feature status. The full information
		about the attribute could be found at UFS specifications 2.1.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/psa_data_size
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the amount of data that the host plans to
		load to all logical units in pre-soldering state.
		The full information about the attribute could be found at
		UFS specifications 2.1.

		The file is read only.


What:		/sys/class/scsi_device/*/device/dyn_cap_needed
Date:		February 2018
Contact:	Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description:	This file shows the The amount of physical memory needed
		to be removed from the physical memory resources pool of
		the particular logical unit. The full information about
		the attribute could be found at UFS specifications 2.1.

		The file is read only.


What:		/sys/bus/platform/drivers/ufshcd/*/rpm_lvl
Date:		September 2014
Contact:	Subhash Jadavani <subhashj@codeaurora.org>
Description:	This entry could be used to set or show the UFS device
		runtime power management level. The current driver
		implementation supports 7 levels with next target states:

		==  ====================================================
		0   UFS device will stay active, UIC link will
		    stay active
		1   UFS device will stay active, UIC link will
		    hibernate
		2   UFS device will be moved to sleep, UIC link will
		    stay active
		3   UFS device will be moved to sleep, UIC link will
		    hibernate
		4   UFS device will be powered off, UIC link will
		    hibernate
		5   UFS device will be powered off, UIC link will
		    be powered off
		6   UFS device will be moved to deep sleep, UIC link
		will be powered off. Note, deep sleep might not be
		supported in which case this value will not be accepted
		==  ====================================================

What:		/sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state
Date:		February 2018
Contact:	Subhash Jadavani <subhashj@codeaurora.org>
Description:	This entry shows the target power mode of an UFS device
		for the chosen runtime power management level.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/rpm_target_link_state
Date:		February 2018
Contact:	Subhash Jadavani <subhashj@codeaurora.org>
Description:	This entry shows the target state of an UFS UIC link
		for the chosen runtime power management level.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/spm_lvl
Date:		September 2014
Contact:	Subhash Jadavani <subhashj@codeaurora.org>
Description:	This entry could be used to set or show the UFS device
		system power management level. The current driver
		implementation supports 7 levels with next target states:

		==  ====================================================
		0   UFS device will stay active, UIC link will
		    stay active
		1   UFS device will stay active, UIC link will
		    hibernate
		2   UFS device will be moved to sleep, UIC link will
		    stay active
		3   UFS device will be moved to sleep, UIC link will
		    hibernate
		4   UFS device will be powered off, UIC link will
		    hibernate
		5   UFS device will be powered off, UIC link will
		    be powered off
		6   UFS device will be moved to deep sleep, UIC link
		will be powered off. Note, deep sleep might not be
		supported in which case this value will not be accepted
		==  ====================================================

What:		/sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state
Date:		February 2018
Contact:	Subhash Jadavani <subhashj@codeaurora.org>
Description:	This entry shows the target power mode of an UFS device
		for the chosen system power management level.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/spm_target_link_state
Date:		February 2018
Contact:	Subhash Jadavani <subhashj@codeaurora.org>
Description:	This entry shows the target state of an UFS UIC link
		for the chosen system power management level.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/monitor_enable
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows the status of performance monitor enablement
		and it can be used to start/stop the monitor. When the monitor
		is stopped, the performance data collected is also cleared.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/monitor_chunk_size
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file tells the monitor to focus on requests transferring
		data of specific chunk size (in Bytes). 0 means any chunk size.
		It can only be changed when monitor is disabled.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/read_total_sectors
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows how many sectors (in 512 Bytes) have been
		sent from device to host after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/read_total_busy
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows how long (in micro seconds) has been spent
		sending data from device to host after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/read_nr_requests
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows how many read requests have been sent after
		monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_max
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows the maximum latency (in micro seconds) of
		read requests after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_min
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows the minimum latency (in micro seconds) of
		read requests after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_avg
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows the average latency (in micro seconds) of
		read requests after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_sum
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows the total latency (in micro seconds) of
		read requests sent after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/write_total_sectors
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows how many sectors (in 512 Bytes) have been sent
		from host to device after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/write_total_busy
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows how long (in micro seconds) has been spent
		sending data from host to device after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/write_nr_requests
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows how many write requests have been sent after
		monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_max
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows the maximum latency (in micro seconds) of write
		requests after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_min
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows the minimum latency (in micro seconds) of write
		requests after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_avg
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows the average latency (in micro seconds) of write
		requests after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_sum
Date:		January 2021
Contact:	Can Guo <cang@codeaurora.org>
Description:	This file shows the total latency (in micro seconds) of write
		requests after monitor gets started.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows if preserve user-space was configured

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_shared_alloc_units
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows the shared allocated units of WB buffer

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_type
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows the configured WB type.
		0x1 for shared buffer mode. 0x0 for dedicated buffer mode.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_buff_cap_adj
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows the total user-space decrease in shared
		buffer mode.
		The value of this parameter is 3 for TLC NAND when SLC mode
		is used as WriteBooster Buffer. 2 for MLC NAND.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_alloc_units
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows the Maximum total WriteBooster Buffer size
		which is supported by the entire device.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_wb_luns
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows the maximum number of luns that can support
		WriteBooster.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_red_type
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	The supportability of user space reduction mode
		and preserve user space mode.
		00h: WriteBooster Buffer can be configured only in
		user space reduction type.
		01h: WriteBooster Buffer can be configured only in
		preserve user space type.
		02h: Device can be configured in either user space
		reduction type or preserve user space type.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_wb_type
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	The supportability of WriteBooster Buffer type.

		===  ==========================================================
		00h  LU based WriteBooster Buffer configuration
		01h  Single shared WriteBooster Buffer configuration
		02h  Supporting both LU based WriteBooster.
		     Buffer and Single shared WriteBooster Buffer configuration
		===  ==========================================================

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/flags/wb_enable
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows the status of WriteBooster.

		== ============================
		0  WriteBooster is not enabled.
		1  WriteBooster is enabled
		== ============================

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_en
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows if flush is enabled.

		== =================================
		0  Flush operation is not performed.
		1  Flush operation is performed.
		== =================================

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_during_h8
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	Flush WriteBooster Buffer during hibernate state.

		== =================================================
		0  Device is not allowed to flush the
		   WriteBooster Buffer during link hibernate state.
		1  Device is allowed to flush the
		   WriteBooster Buffer during link hibernate state.
		== =================================================

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows the amount of unused WriteBooster buffer
		available.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/wb_cur_buf
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows the amount of unused current buffer.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/wb_flush_status
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows the flush operation status.


		===  ======================================
		00h  idle
		01h  Flush operation in progress
		02h  Flush operation stopped prematurely.
		03h  Flush operation completed successfully
		04h  Flush operation general failure
		===  ======================================

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/wb_life_time_est
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows an indication of the WriteBooster Buffer
		lifetime based on the amount of performed program/erase cycles

		===  =============================================
		01h  0% - 10% WriteBooster Buffer life time used
		...
		0Ah  90% - 100% WriteBooster Buffer life time used
		===  =============================================

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/wb_buf_alloc_units
Date:		June 2020
Contact:	Asutosh Das <asutoshd@codeaurora.org>
Description:	This entry shows the configured size of WriteBooster buffer.
		0400h corresponds to 4GB.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/hpb_version
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the HPB specification version.
		The full information about the descriptor could be found at UFS
		HPB (Host Performance Booster) Extension specifications.
		Example: version 1.2.3 = 0123h

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/device_descriptor/hpb_control
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows an indication of the HPB control mode.
		00h: Host control mode
		01h: Device control mode

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_region_size
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the bHPBRegionSize which can be calculated
		as in the following (in bytes):
		HPB Region size = 512B * 2^bHPBRegionSize

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_number_lu
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the maximum number of HPB LU supported	by
		the device.
		00h: HPB is not supported by the device.
		01h ~ 20h: Maximum number of HPB LU supported by the device

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_subregion_size
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the bHPBSubRegionSize, which can be
		calculated as in the following (in bytes) and shall be a multiple of
		logical block size:
		HPB Sub-Region size = 512B x 2^bHPBSubRegionSize
		bHPBSubRegionSize shall not exceed bHPBRegionSize.

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_max_active_regions
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the maximum number of active HPB regions that
		is supported by the device.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/hpb_lu_max_active_regions
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the maximum number of HPB regions assigned to
		the HPB logical unit.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/hpb_pinned_region_start_offset
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the start offset of HPB pinned region.

		The file is read only.

What:		/sys/class/scsi_device/*/device/unit_descriptor/hpb_number_pinned_regions
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the number of HPB pinned regions assigned to
		the HPB logical unit.

		The file is read only.

What:		/sys/class/scsi_device/*/device/hpb_stats/hit_cnt
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the number of reads that changed to HPB read.

		The file is read only.

What:		/sys/class/scsi_device/*/device/hpb_stats/miss_cnt
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the number of reads that cannot be changed to
		HPB read.

		The file is read only.

What:		/sys/class/scsi_device/*/device/hpb_stats/rb_noti_cnt
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the number of response UPIUs that has
		recommendations for activating sub-regions and/or inactivating region.

		The file is read only.

What:		/sys/class/scsi_device/*/device/hpb_stats/rb_active_cnt
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the number of active sub-regions recommended by
		response UPIUs.

		The file is read only.

What:		/sys/class/scsi_device/*/device/hpb_stats/rb_inactive_cnt
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the number of inactive regions recommended by
		response UPIUs.

		The file is read only.

What:		/sys/class/scsi_device/*/device/hpb_stats/map_req_cnt
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the number of read buffer commands for
		activating sub-regions recommended by response UPIUs.

		The file is read only.

What:		/sys/class/scsi_device/*/device/hpb_params/requeue_timeout_ms
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the requeue timeout threshold for write buffer
		command in ms. This value can be changed by writing proper integer to
		this entry.

What:		/sys/bus/platform/drivers/ufshcd/*/attributes/max_data_size_hpb_single_cmd
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the maximum HPB data size for using single HPB
		command.

		===  ========
		00h  4KB
		01h  8KB
		02h  12KB
		...
		FFh  1024KB
		===  ========

		The file is read only.

What:		/sys/bus/platform/drivers/ufshcd/*/flags/hpb_enable
Date:		June 2021
Contact:	Daejun Park <daejun7.park@samsung.com>
Description:	This entry shows the status of HPB.

		== ============================
		0  HPB is not enabled.
		1  HPB is enabled
		== ============================

		The file is read only.

What:		/sys/class/scsi_device/*/device/hpb_param_sysfs/activation_thld
Date:		February 2021
Contact:	Avri Altman <avri.altman@wdc.com>
Description:	In host control mode, reads are the major source of activation
		trials.  once this threshold hs met, the region is added to the
		"to-be-activated" list.  Since we reset the read counter upon
		write, this include sending a rb command updating the region
		ppn as well.

What:		/sys/class/scsi_device/*/device/hpb_param_sysfs/normalization_factor
Date:		February 2021
Contact:	Avri Altman <avri.altman@wdc.com>
Description:	In host control mode, We think of the regions as "buckets".
		Those buckets are being filled with reads, and emptied on write.
		We use entries_per_srgn - the amount of blocks in a subregion as
		our bucket size.  This applies because HPB1.0 only concern a
		single-block reads.  Once the bucket size is crossed, we trigger
		a normalization work - not only to avoid overflow, but mainly
		because we want to keep those counters normalized, as we are
		using those reads as a comparative score, to make various decisions.
		The normalization is dividing (shift right) the read counter by
		the normalization_factor. If during consecutive normalizations
		an active region has exhaust its reads - inactivate it.

What:		/sys/class/scsi_device/*/device/hpb_param_sysfs/eviction_thld_enter
Date:		February 2021
Contact:	Avri Altman <avri.altman@wdc.com>
Description:	Region deactivation is often due to the fact that eviction took
		place: a region become active on the expense of another. This is
		happening when the max-active-regions limit has crossed.
		In host mode, eviction is considered an extreme measure. We
		want to verify that the entering region has enough reads, and
		the exiting region has much less reads.  eviction_thld_enter is
		the min reads that a region must have in order to be considered
		as a candidate to evict other region.

What:		/sys/class/scsi_device/*/device/hpb_param_sysfs/eviction_thld_exit
Date:		February 2021
Contact:	Avri Altman <avri.altman@wdc.com>
Description:	same as above for the exiting region. A region is consider to
		be a candidate to be evicted, only if it has less reads than
		eviction_thld_exit.

What:		/sys/class/scsi_device/*/device/hpb_param_sysfs/read_timeout_ms
Date:		February 2021
Contact:	Avri Altman <avri.altman@wdc.com>
Description:	In order not to hang on to “cold” regions, we shall inactivate
		a region that has no READ access for a predefined amount of
		time - read_timeout_ms. If read_timeout_ms has expired, and the
		region is dirty - it is less likely that we can make any use of
		HPB-READing it.  So we inactivate it.  Still, deactivation has
		its overhead, and we may still benefit from HPB-READing this
		region if it is clean - see read_timeout_expiries.

What:		/sys/class/scsi_device/*/device/hpb_param_sysfs/read_timeout_expiries
Date:		February 2021
Contact:	Avri Altman <avri.altman@wdc.com>
Description:	if the region read timeout has expired, but the region is clean,
		just re-wind its timer for another spin.  Do that as long as it
		is clean and did not exhaust its read_timeout_expiries threshold.

What:		/sys/class/scsi_device/*/device/hpb_param_sysfs/timeout_polling_interval_ms
Date:		February 2021
Contact:	Avri Altman <avri.altman@wdc.com>
Description:	the frequency in which the delayed worker that checks the
		read_timeouts is awaken.

What:		/sys/class/scsi_device/*/device/hpb_param_sysfs/inflight_map_req
Date:		February 2021
Contact:	Avri Altman <avri.altman@wdc.com>
Description:	in host control mode the host is the originator of map requests.
		To not flood the device with map requests, use a simple throttling
		mechanism that limits the number of inflight map requests.
