Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 10c18c44 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge branch 'linus' into sched/core, to pick up fixes



Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents 9e49e244 1b5f3ba4
Loading
Loading
Loading
Loading
+100 −71
Original line number Original line Diff line number Diff line
What:		/sys/class/ata_...
What:		/sys/class/ata_...
Date:		August 2008
Contact:	Gwendal Grignou<gwendal@google.com>
Description:
Description:

		Provide a place in sysfs for storing the ATA topology of the
Provide a place in sysfs for storing the ATA topology of the system.  This allows
		system. This allows retrieving various information about ATA
retrieving various information about ATA objects.
		objects.


Files under /sys/class/ata_port
Files under /sys/class/ata_port
-------------------------------
-------------------------------


	For each port, a directory ataX is created where X is the ata_port_id of
For each port, a directory ataX is created where X is the ata_port_id of the
	the port. The device parent is the ata host device.
port. The device parent is the ata host device.



idle_irq (read)
What:		/sys/class/ata_port/ataX/nr_pmp_links
What:		/sys/class/ata_port/ataX/idle_irq
Date:		May, 2010
KernelVersion:	v2.6.37
Contact:	Gwendal Grignou <gwendal@chromium.org>
Description:
		nr_pmp_links:	(RO) If a SATA Port Multiplier (PM) is
				connected, the number of links behind it.


	Number of IRQ received by the port while idle [some ata HBA only].
		idle_irq:	(RO) Number of IRQ received by the port while
				idle [some ata HBA only].


nr_pmp_links (read)


	If a SATA Port Multiplier (PM) is connected, number of link behind it.
What:		/sys/class/ata_port/ataX/port_no
Date:		May, 2013
KernelVersion:	v3.11
Contact:	Gwendal Grignou <gwendal@chromium.org>
Description:
		(RO) Host local port number. While registering host controller,
		port numbers are tracked based upon number of ports available on
		the controller. This attribute is needed by udev for composing
		persistent links in /dev/disk/by-path.


Files under /sys/class/ata_link
Files under /sys/class/ata_link
-------------------------------
-------------------------------


	Behind each port, there is a ata_link. If there is a SATA PM in the
Behind each port, there is a ata_link. If there is a SATA PM in the topology, 15
	topology, 15 ata_link objects are created.
ata_link objects are created.


	If a link is behind a port, the directory name is linkX, where X is
If a link is behind a port, the directory name is linkX, where X is ata_port_id
	ata_port_id of the port.
of the port. If a link is behind a PM, its name is linkX.Y where X is
	If a link is behind a PM, its name is linkX.Y where X is ata_port_id
ata_port_id of the parent port and Y the PM port.
	of the parent port and Y the PM port.


hw_sata_spd_limit


	Maximum speed supported by the connected SATA device.
What:		/sys/class/ata_link/linkX[.Y]/hw_sata_spd_limit

What:		/sys/class/ata_link/linkX[.Y]/sata_spd_limit
sata_spd_limit
What:		/sys/class/ata_link/linkX[.Y]/sata_spd
Date:		May, 2010
KernelVersion:	v2.6.37
Contact:	Gwendal Grignou <gwendal@chromium.org>
Description:
		hw_sata_spd_limit:	(RO) Maximum speed supported by the
					connected SATA device.


	Maximum speed imposed by libata.
		sata_spd_limit:		(RO) Maximum speed imposed by libata.


sata_spd
		sata_spd:		(RO) Current speed of the link
					eg. 1.5, 3 Gbps etc.


	Current speed of the link [1.5, 3Gps,...].


Files under /sys/class/ata_device
Files under /sys/class/ata_device
---------------------------------
---------------------------------


	Behind each link, up to two ata device are created.
Behind each link, up to two ata devices are created.
The name of the directory is devX[.Y].Z where:
The name of the directory is devX[.Y].Z where:
- X is ata_port_id of the port where the device is connected,
- X is ata_port_id of the port where the device is connected,
- Y the port of the PM if any, and
- Y the port of the PM if any, and
	- Z the device id: for PATA, there is usually 2 devices [0,1],
- Z the device id: for PATA, there is usually 2 devices [0,1], only 1 for SATA.
	only 1 for SATA.



class
What:		/sys/class/ata_device/devX[.Y].Z/spdn_cnt
	Device class. Can be "ata" for disk, "atapi" for packet device,
What:		/sys/class/ata_device/devX[.Y].Z/gscr
	"pmp" for PM, or "none" if no device was found behind the link.
What:		/sys/class/ata_device/devX[.Y].Z/ering

What:		/sys/class/ata_device/devX[.Y].Z/id
dma_mode
What:		/sys/class/ata_device/devX[.Y].Z/pio_mode

What:		/sys/class/ata_device/devX[.Y].Z/xfer_mode
	Transfer modes supported by the device when in DMA mode.
What:		/sys/class/ata_device/devX[.Y].Z/dma_mode
	Mostly used by PATA device.
What:		/sys/class/ata_device/devX[.Y].Z/class

Date:		May, 2010
pio_mode
KernelVersion:	v2.6.37

Contact:	Gwendal Grignou <gwendal@chromium.org>
	Transfer modes supported by the device when in PIO mode.
Description:
	Mostly used by PATA device.
		spdn_cnt:	(RO) Number of times libata decided to lower the

				speed of link due to errors.
xfer_mode

	Current transfer mode.

id

	Cached result of IDENTIFY command, as described in ATA8 7.16 and 7.17.
	Only valid if the device is not a PM.


gscr
		gscr:		(RO) Cached result of the dump of PM GSCR
				register. Valid registers are:


	Cached result of the dump of PM GSCR register.
	Valid registers are:
				0:      SATA_PMP_GSCR_PROD_ID,
				0:      SATA_PMP_GSCR_PROD_ID,
				1:	SATA_PMP_GSCR_REV,
				1:	SATA_PMP_GSCR_REV,
				2:      SATA_PMP_GSCR_PORT_INFO,
				2:      SATA_PMP_GSCR_PORT_INFO,
@@ -88,23 +97,43 @@ gscr
				64:     SATA_PMP_GSCR_FEAT,
				64:     SATA_PMP_GSCR_FEAT,
				96:     SATA_PMP_GSCR_FEAT_EN,
				96:     SATA_PMP_GSCR_FEAT_EN,
				130:    SATA_PMP_GSCR_SII_GPIO
				130:    SATA_PMP_GSCR_SII_GPIO

				Only valid if the device is a PM.
				Only valid if the device is a PM.


trim
		ering:		(RO) Formatted output of the error ring of the
				device.

		id:		(RO) Cached result of IDENTIFY command, as
				described in ATA8 7.16 and 7.17. Only valid if
				the device is not a PM.

		pio_mode:	(RO) Transfer modes supported by the device when
				in PIO mode. Mostly used by PATA device.

		xfer_mode:	(RO) Current transfer mode


	Shows the DSM TRIM mode currently used by the device. Valid
		dma_mode:	(RO) Transfer modes supported by the device when
				in DMA mode. Mostly used by PATA device.

		class:		(RO) Device class. Can be "ata" for disk,
				"atapi" for packet device, "pmp" for PM, or
				"none" if no device was found behind the link.


What:		/sys/class/ata_device/devX[.Y].Z/trim
Date:		May, 2015
KernelVersion:	v4.10
Contact:	Gwendal Grignou <gwendal@chromium.org>
Description:
		(RO) Shows the DSM TRIM mode currently used by the device. Valid
		values are:
		values are:
	unsupported:		Drive does not support DSM TRIM
	unqueued:		Drive supports unqueued DSM TRIM only
	queued:			Drive supports queued DSM TRIM
	forced_unqueued:	Drive's queued DSM support is known to be
				buggy and only unqueued TRIM commands
				are sent


spdn_cnt
		unsupported:		Drive does not support DSM TRIM


	Number of time libata decided to lower the speed of link due to errors.
		unqueued:               Drive supports unqueued DSM TRIM only


ering
		queued:                 Drive supports queued DSM TRIM


	Formatted output of the error ring of the device.
		forced_unqueued:	Drive's queued DSM support is known to
					be buggy and only unqueued TRIM commands
					are sent
+58 −0
Original line number Original line Diff line number Diff line
What:		/sys/block/*/device/sw_activity
Date:		Jun, 2008
KernelVersion:	v2.6.27
Contact:	linux-ide@vger.kernel.org
Description:
		(RW) Used by drivers which support software controlled activity
		LEDs.

		It has the following valid values:

		0	OFF - the LED is not activated on activity
		1	BLINK_ON - the LED blinks on every 10ms when activity is
			detected.
		2	BLINK_OFF - the LED is on when idle, and blinks off
			every 10ms when activity is detected.

		Note that the user must turn sw_activity OFF it they wish to
		control the activity LED via the em_message file.


What:		/sys/block/*/device/unload_heads
Date:		Sep, 2008
KernelVersion:	v2.6.28
Contact:	linux-ide@vger.kernel.org
Description:
		(RW) Hard disk shock protection

		Writing an integer value to this file will take the heads of the
		respective drive off the platter and block all I/O operations
		for the specified number of milliseconds.

		- If the device does not support the unload heads feature,
		  access is denied with -EOPNOTSUPP.
		- The maximal value accepted for a timeout is 30000
		  milliseconds.
		- A previously set timeout can be cancelled and disk can resume
		  normal operation immediately by specifying a timeout of 0.
		- Some hard drives only comply with an earlier version of the
		  ATA standard, but support the unload feature nonetheless.
		  There is no safe way Linux can detect these devices, so this
		  is not enabled by default. If it is known that your device
		  does support the unload feature, then you can tell the kernel
		  to enable it by writing -1. It can be disabled again by
		  writing -2.
		- Values below -2 are rejected with -EINVAL

		For more information, see
		Documentation/laptops/disk-shock-protection.txt


What:		/sys/block/*/device/ncq_prio_enable
Date:		Oct, 2016
KernelVersion:	v4.10
Contact:	linux-ide@vger.kernel.org
Description:
		(RW) Write to the file to turn on or off the SATA ncq (native
		command queueing) support. By default this feature is turned
		off.
+89 −0
Original line number Original line Diff line number Diff line
@@ -27,3 +27,92 @@ Description: This file contains the current status of the "SSD Smart Path"
		the direct i/o path to physical devices.  This setting is
		the direct i/o path to physical devices.  This setting is
		controller wide, affecting all configured logical drives on the
		controller wide, affecting all configured logical drives on the
		controller.  This file is readable and writable.
		controller.  This file is readable and writable.

What:		/sys/class/scsi_host/hostX/link_power_management_policy
Date:		Oct, 2007
KernelVersion:	v2.6.24
Contact:	linux-ide@vger.kernel.org
Description:
		(RW) This parameter allows the user to read and set the link
		(interface) power management.

		There are four possible options:

		min_power: Tell the controller to try to make the link use the
		least possible power when possible. This may sacrifice some
		performance due to increased latency when coming out of lower
		power states.

		max_performance: Generally, this means no power management.
		Tell the controller to have performance be a priority over power
		management.

		medium_power: Tell the controller to enter a lower power state
		when possible, but do not enter the lowest power state, thus
		improving latency over min_power setting.

		med_power_with_dipm: Identical to the existing medium_power
		setting except that it enables dipm (device initiated power
		management) on top, which makes it match the Windows IRST (Intel
		Rapid Storage Technology) driver settings. This setting is also
		close to min_power, except that:
		a) It does not use host-initiated slumber mode, but it does
		allow device-initiated slumber
		b) It does not enable low power device sleep mode (DevSlp).

What:		/sys/class/scsi_host/hostX/em_message
What:		/sys/class/scsi_host/hostX/em_message_type
Date:		Jun, 2008
KernelVersion:	v2.6.27
Contact:	linux-ide@vger.kernel.org
Description:
		em_message: (RW) Enclosure management support. For the LED
		protocol, writes and reads correspond to the LED message format
		as defined in the AHCI spec.

		The user must turn sw_activity (under /sys/block/*/device/) OFF
		it they wish to control the activity LED via the em_message
		file.

		em_message_type: (RO) Displays the current enclosure management
		protocol that is being used by the driver (for eg. LED, SAF-TE,
		SES-2, SGPIO etc).

What:		/sys/class/scsi_host/hostX/ahci_port_cmd
What:		/sys/class/scsi_host/hostX/ahci_host_caps
What:		/sys/class/scsi_host/hostX/ahci_host_cap2
Date:		Mar, 2010
KernelVersion:	v2.6.35
Contact:	linux-ide@vger.kernel.org
Description:
		[to be documented]

What:		/sys/class/scsi_host/hostX/ahci_host_version
Date:		Mar, 2010
KernelVersion:	v2.6.35
Contact:	linux-ide@vger.kernel.org
Description:
		(RO) Display the version of the AHCI spec implemented by the
		host.

What:		/sys/class/scsi_host/hostX/em_buffer
Date:		Apr, 2010
KernelVersion:	v2.6.35
Contact:	linux-ide@vger.kernel.org
Description:
		(RW) Allows access to AHCI EM (enclosure management) buffer
		directly if the host supports EM.

		For eg. the AHCI driver supports SGPIO EM messages but the
		SATA/AHCI specs do not define the SGPIO message format of the EM
		buffer. Different hardware(HW) vendors may have different
		definitions. With the em_buffer attribute, this issue can be
		solved by allowing HW vendors to provide userland drivers and
		tools for their SGPIO initiators.

What:		/sys/class/scsi_host/hostX/em_message_supported
Date:		Oct, 2009
KernelVersion:	v2.6.39
Contact:	linux-ide@vger.kernel.org
Description:
		(RO) Displays supported enclosure management message types.
+5 −0
Original line number Original line Diff line number Diff line
@@ -152,6 +152,11 @@ OCXL_IOCTL_IRQ_SET_FD:
  Associate an event fd to an AFU interrupt so that the user process
  Associate an event fd to an AFU interrupt so that the user process
  can be notified when the AFU sends an interrupt.
  can be notified when the AFU sends an interrupt.


OCXL_IOCTL_GET_METADATA:

  Obtains configuration information from the card, such at the size of
  MMIO areas, the AFU version, and the PASID for the current context.



mmap
mmap
----
----
+5 −1
Original line number Original line Diff line number Diff line
@@ -11,7 +11,11 @@ Required properties:
  interrupts.
  interrupts.


Optional properties:
Optional properties:
- clocks: Optional reference to the clock used by the XOR engine.
- clocks: Optional reference to the clocks used by the XOR engine.
- clock-names: mandatory if there is a second clock, in this case the
   name must be "core" for the first clock and "reg" for the second
   one



Example:
Example:


Loading