What:		/sys/bus/pci/devices/<BDF>/qat/state
Date:		June 2022
KernelVersion:	6.0
Contact:	qat-linux@intel.com
Description:	(RW) Reports the current state of the QAT device. Write to
		the file to start or stop the device.

		The values are:

		* up: the device is up and running
		* down: the device is down


		It is possible to transition the device from up to down only
		if the device is up and vice versa.

		This attribute is available for qat_4xxx and qat_6xxx devices.

What:		/sys/bus/pci/devices/<BDF>/qat/cfg_services
Date:		June 2022
KernelVersion:	6.0
Contact:	qat-linux@intel.com
Description:	(RW) Reports the current configuration of the QAT device.
		Write to the file to change the configured services.

		One or more services can be enabled per device.
		Certain configurations are restricted to specific device types;
		where applicable this is explicitly indicated, for example
		(qat_6xxx) denotes applicability exclusively to that device series.

		The available services include:

		* sym: Configures the device for symmetric cryptographic operations.
		* asym: Configures the device for asymmetric cryptographic operations.
		* dc: Configures the device for compression and decompression
		  operations.
		* dcc: Similar to dc, but with the additional dc chaining feature
		  enabled, cipher then compress (qat_6xxx), hash then compression.
		  If this is not required choose dc.
		* decomp: Configures the device for decompression operations (qat_6xxx).

		Service combinations are permitted for all services except dcc.
		On QAT GEN4 devices (qat_4xxx driver) a maximum of two services can be
		combined and on QAT GEN6 devices (qat_6xxx driver ) a maximum of three
		services can be combined.
		The order of services is not significant. For instance, sym;asym is
		functionally equivalent to asym;sym.

		It is possible to set the configuration only if the device
		is in the `down` state (see /sys/bus/pci/devices/<BDF>/qat/state)

		The following example shows how to change the configuration of
		a device configured for running crypto services in order to
		run data compression::

			# cat /sys/bus/pci/devices/<BDF>/qat/state
			up
			# cat /sys/bus/pci/devices/<BDF>/qat/cfg_services
			sym;asym
			# echo down > /sys/bus/pci/devices/<BDF>/qat/state
			# echo dc > /sys/bus/pci/devices/<BDF>/qat/cfg_services
			# echo up > /sys/bus/pci/devices/<BDF>/qat/state
			# cat /sys/bus/pci/devices/<BDF>/qat/cfg_services
			dc

		This attribute is available for qat_4xxx and qat_6xxx devices.

What:		/sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
Date:		June 2023
KernelVersion:	6.5
Contact:	qat-linux@intel.com
Description:	(RW) This configuration option provides a way to force the device into remaining in
		the MAX power state.
		If idle support is enabled the device will transition to the `MIN` power state when
		idle, otherwise will stay in the MAX power state.
		Write to the file to enable or disable idle support.

		The values are:

		* 0: idle support is disabled
		* 1: idle support is enabled

		Default value is 1.

		It is possible to set the pm_idle_enabled value only if the device
		is in the `down` state (see /sys/bus/pci/devices/<BDF>/qat/state)

		The following example shows how to change the pm_idle_enabled of
		a device::

			# cat /sys/bus/pci/devices/<BDF>/qat/state
			up
			# cat /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
			1
			# echo down > /sys/bus/pci/devices/<BDF>/qat/state
			# echo 0 > /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
			# echo up > /sys/bus/pci/devices/<BDF>/qat/state
			# cat /sys/bus/pci/devices/<BDF>/qat/pm_idle_enabled
			0

		This attribute is available for qat_4xxx and qat_6xxx devices.

What:		/sys/bus/pci/devices/<BDF>/qat/rp2srv
Date:		January 2024
KernelVersion:	6.7
Contact:	qat-linux@intel.com
Description:
		(RW) This attribute provides a way for a user to query a
		specific ring pair for the type of service that it is currently
		configured for.

		When written to, the value is cached and used to perform the
		read operation. Allowed values are in the range 0 to N-1, where
		N is the max number of ring pairs supported by a device. This
		can be queried using the attribute qat/num_rps.

		A read returns the service associated to the ring pair queried.

		The values are:

		* dc: the ring pair is configured for running compression services
		* sym: the ring pair is configured for running symmetric crypto
		  services
		* asym: the ring pair is configured for running asymmetric crypto
		  services

		Example usage::

			# echo 1 > /sys/bus/pci/devices/<BDF>/qat/rp2srv
			# cat /sys/bus/pci/devices/<BDF>/qat/rp2srv
			sym

		This attribute is available for qat_4xxx and qat_6xxx devices.

What:		/sys/bus/pci/devices/<BDF>/qat/num_rps
Date:		January 2024
KernelVersion:	6.7
Contact:	qat-linux@intel.com
Description:
		(RO) Returns the number of ring pairs that a single device has.

		Example usage::

			# cat /sys/bus/pci/devices/<BDF>/qat/num_rps
			64

		This attribute is available for qat_4xxx and qat_6xxx devices.

What:		/sys/bus/pci/devices/<BDF>/qat/auto_reset
Date:		May 2024
KernelVersion:	6.9
Contact:	qat-linux@intel.com
Description:	(RW) Reports the current state of the autoreset feature
		for a QAT device

		Write to the attribute to enable or disable device auto reset.

		Device auto reset is disabled by default.

		The values are:

		* 1/Yy/on: auto reset enabled. If the device encounters an
		  unrecoverable error, it will be reset automatically.
		* 0/Nn/off: auto reset disabled. If the device encounters an
		  unrecoverable error, it will not be reset.

		This attribute is available for qat_4xxx and qat_6xxx devices.
