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

Commit b41fb439 authored by Linus Walleij's avatar Linus Walleij
Browse files

Merge tag 'v3.12-rc6' into devel

Linux 3.12-rc6

Conflicts:
	drivers/gpio/gpio-lynxpoint.c
parents 0963d59b 31d141e3
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -37,8 +37,8 @@ Description:
		that the USB device has been connected to the machine.  This
		file is read-only.
Users:
		PowerTOP <power@bughost.org>
		http://www.lesswatts.org/projects/powertop/
		PowerTOP <powertop@lists.01.org>
		https://01.org/powertop/

What:		/sys/bus/usb/device/.../power/active_duration
Date:		January 2008
@@ -57,8 +57,8 @@ Description:
		will give an integer percentage.  Note that this does not
		account for counter wrap.
Users:
		PowerTOP <power@bughost.org>
		http://www.lesswatts.org/projects/powertop/
		PowerTOP <powertop@lists.01.org>
		https://01.org/powertop/

What:		/sys/bus/usb/devices/<busnum>-<port[.port]>...:<config num>-<interface num>/supports_autosuspend
Date:		January 2008
+16 −16
Original line number Diff line number Diff line
What:		/sys/devices/.../power/
Date:		January 2009
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power directory contains attributes
		allowing the user space to check and modify some power
@@ -8,7 +8,7 @@ Description:

What:		/sys/devices/.../power/wakeup
Date:		January 2009
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power/wakeup attribute allows the user
		space to check if the device is enabled to wake up the system
@@ -34,7 +34,7 @@ Description:

What:		/sys/devices/.../power/control
Date:		January 2009
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power/control attribute allows the user
		space to control the run-time power management of the device.
@@ -53,7 +53,7 @@ Description:

What:		/sys/devices/.../power/async
Date:		January 2009
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../async attribute allows the user space to
		enable or diasble the device's suspend and resume callbacks to
@@ -79,7 +79,7 @@ Description:

What:		/sys/devices/.../power/wakeup_count
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_count attribute contains the number
		of signaled wakeup events associated with the device.  This
@@ -88,7 +88,7 @@ Description:

What:		/sys/devices/.../power/wakeup_active_count
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_active_count attribute contains the
		number of times the processing of wakeup events associated with
@@ -98,7 +98,7 @@ Description:

What:		/sys/devices/.../power/wakeup_abort_count
Date:		February 2012
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_abort_count attribute contains the
		number of times the processing of a wakeup event associated with
@@ -109,7 +109,7 @@ Description:

What:		/sys/devices/.../power/wakeup_expire_count
Date:		February 2012
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_expire_count attribute contains the
		number of times a wakeup event associated with the device has
@@ -119,7 +119,7 @@ Description:

What:		/sys/devices/.../power/wakeup_active
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_active attribute contains either 1,
		or 0, depending on whether or not a wakeup event associated with
@@ -129,7 +129,7 @@ Description:

What:		/sys/devices/.../power/wakeup_total_time_ms
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_total_time_ms attribute contains
		the total time of processing wakeup events associated with the
@@ -139,7 +139,7 @@ Description:

What:		/sys/devices/.../power/wakeup_max_time_ms
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_max_time_ms attribute contains
		the maximum time of processing a single wakeup event associated
@@ -149,7 +149,7 @@ Description:

What:		/sys/devices/.../power/wakeup_last_time_ms
Date:		September 2010
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_last_time_ms attribute contains
		the value of the monotonic clock corresponding to the time of
@@ -160,7 +160,7 @@ Description:

What:		/sys/devices/.../power/wakeup_prevent_sleep_time_ms
Date:		February 2012
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../wakeup_prevent_sleep_time_ms attribute
		contains the total time the device has been preventing
@@ -189,7 +189,7 @@ Description:

What:		/sys/devices/.../power/pm_qos_latency_us
Date:		March 2012
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power/pm_qos_resume_latency_us attribute
		contains the PM QoS resume latency limit for the given device,
@@ -207,7 +207,7 @@ Description:

What:		/sys/devices/.../power/pm_qos_no_power_off
Date:		September 2012
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power/pm_qos_no_power_off attribute
		is used for manipulating the PM QoS "no power off" flag.  If
@@ -222,7 +222,7 @@ Description:

What:		/sys/devices/.../power/pm_qos_remote_wakeup
Date:		September 2012
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/devices/.../power/pm_qos_remote_wakeup attribute
		is used for manipulating the PM QoS "remote wakeup required"
+11 −11
Original line number Diff line number Diff line
What:		/sys/power/
Date:		August 2006
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/power directory will contain files that will
		provide a unified interface to the power management
@@ -8,7 +8,7 @@ Description:

What:		/sys/power/state
Date:		August 2006
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/power/state file controls the system power state.
		Reading from this file returns what states are supported,
@@ -22,7 +22,7 @@ Description:

What:		/sys/power/disk
Date:		September 2006
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/power/disk file controls the operating mode of the
		suspend-to-disk mechanism.  Reading from this file returns
@@ -67,7 +67,7 @@ Description:

What:		/sys/power/image_size
Date:		August 2006
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/power/image_size file controls the size of the image
		created by the suspend-to-disk mechanism.  It can be written a
@@ -84,7 +84,7 @@ Description:

What:		/sys/power/pm_trace
Date:		August 2006
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/power/pm_trace file controls the code which saves the
		last PM event point in the RTC across reboots, so that you can
@@ -133,7 +133,7 @@ Description:

What:		/sys/power/pm_async
Date:		January 2009
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/power/pm_async file controls the switch allowing the
		user space to enable or disable asynchronous suspend and resume
@@ -146,7 +146,7 @@ Description:

What:		/sys/power/wakeup_count
Date:		July 2010
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/power/wakeup_count file allows user space to put the
		system into a sleep state while taking into account the
@@ -161,7 +161,7 @@ Description:

What:		/sys/power/reserved_size
Date:		May 2011
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/power/reserved_size file allows user space to control
		the amount of memory reserved for allocations made by device
@@ -175,7 +175,7 @@ Description:

What:		/sys/power/autosleep
Date:		April 2012
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/power/autosleep file can be written one of the strings
		returned by reads from /sys/power/state.  If that happens, a
@@ -192,7 +192,7 @@ Description:

What:		/sys/power/wake_lock
Date:		February 2012
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/power/wake_lock file allows user space to create
		wakeup source objects and activate them on demand (if one of
@@ -219,7 +219,7 @@ Description:

What:		/sys/power/wake_unlock
Date:		February 2012
Contact:	Rafael J. Wysocki <rjw@sisk.pl>
Contact:	Rafael J. Wysocki <rjw@rjwysocki.net>
Description:
		The /sys/power/wake_unlock file allows user space to deactivate
		wakeup sources created with the help of /sys/power/wake_lock.
+1 −1
Original line number Diff line number Diff line
@@ -4,4 +4,4 @@ CONFIG_ACPI_CUSTOM_DSDT builds the image into the kernel.

When to use this method is described in detail on the
Linux/ACPI home page:
http://www.lesswatts.org/projects/acpi/overridingDSDT.php
https://01.org/linux-acpi/documentation/overriding-dsdt
+0 −168
Original line number Diff line number Diff line
*** Memory binding ***

The /memory node provides basic information about the address and size
of the physical memory. This node is usually filled or updated by the
bootloader, depending on the actual memory configuration of the given
hardware.

The memory layout is described by the following node:

/ {
	#address-cells = <(n)>;
	#size-cells = <(m)>;
	memory {
		device_type = "memory";
		reg =  <(baseaddr1) (size1)
			(baseaddr2) (size2)
			...
			(baseaddrN) (sizeN)>;
	};
	...
};

A memory node follows the typical device tree rules for "reg" property:
n:		number of cells used to store base address value
m:		number of cells used to store size value
baseaddrX:	defines a base address of the defined memory bank
sizeX:		the size of the defined memory bank


More than one memory bank can be defined.


*** Reserved memory regions ***

In /memory/reserved-memory node one can create child nodes describing
particular reserved (excluded from normal use) memory regions. Such
memory regions are usually designed for the special usage by various
device drivers. A good example are contiguous memory allocations or
memory sharing with other operating system on the same hardware board.
Those special memory regions might depend on the board configuration and
devices used on the target system.

Parameters for each memory region can be encoded into the device tree
with the following convention:

[(label):] (name) {
	compatible = "linux,contiguous-memory-region", "reserved-memory-region";
	reg = <(address) (size)>;
	(linux,default-contiguous-region);
};

compatible:	one or more of:
	- "linux,contiguous-memory-region" - enables binding of this
	  region to Contiguous Memory Allocator (special region for
	  contiguous memory allocations, shared with movable system
	  memory, Linux kernel-specific).
	- "reserved-memory-region" - compatibility is defined, given
	  region is assigned for exclusive usage for by the respective
	  devices.

reg:	standard property defining the base address and size of
	the memory region

linux,default-contiguous-region: property indicating that the region
	is the default region for all contiguous memory
	allocations, Linux specific (optional)

It is optional to specify the base address, so if one wants to use
autoconfiguration of the base address, '0' can be specified as a base
address in the 'reg' property.

The /memory/reserved-memory node must contain the same #address-cells
and #size-cells value as the root node.


*** Device node's properties ***

Once regions in the /memory/reserved-memory node have been defined, they
may be referenced by other device nodes. Bindings that wish to reference
memory regions should explicitly document their use of the following
property:

memory-region = <&phandle_to_defined_region>;

This property indicates that the device driver should use the memory
region pointed by the given phandle.


*** Example ***

This example defines a memory consisting of 4 memory banks. 3 contiguous
regions are defined for Linux kernel, one default of all device drivers
(named contig_mem, placed at 0x72000000, 64MiB), one dedicated to the
framebuffer device (labelled display_mem, placed at 0x78000000, 8MiB)
and one for multimedia processing (labelled multimedia_mem, placed at
0x77000000, 64MiB). 'display_mem' region is then assigned to fb@12300000
device for DMA memory allocations (Linux kernel drivers will use CMA is
available or dma-exclusive usage otherwise). 'multimedia_mem' is
assigned to scaler@12500000 and codec@12600000 devices for contiguous
memory allocations when CMA driver is enabled.

The reason for creating a separate region for framebuffer device is to
match the framebuffer base address to the one configured by bootloader,
so once Linux kernel drivers starts no glitches on the displayed boot
logo appears. Scaller and codec drivers should share the memory
allocations.

/ {
	#address-cells = <1>;
	#size-cells = <1>;

	/* ... */

	memory {
		reg =  <0x40000000 0x10000000
			0x50000000 0x10000000
			0x60000000 0x10000000
			0x70000000 0x10000000>;

		reserved-memory {
			#address-cells = <1>;
			#size-cells = <1>;

			/*
			 * global autoconfigured region for contiguous allocations
			 * (used only with Contiguous Memory Allocator)
			 */
			contig_region@0 {
				compatible = "linux,contiguous-memory-region";
				reg = <0x0 0x4000000>;
				linux,default-contiguous-region;
			};

			/*
			 * special region for framebuffer
			 */
			display_region: region@78000000 {
				compatible = "linux,contiguous-memory-region", "reserved-memory-region";
				reg = <0x78000000 0x800000>;
			};

			/*
			 * special region for multimedia processing devices
			 */
			multimedia_region: region@77000000 {
				compatible = "linux,contiguous-memory-region";
				reg = <0x77000000 0x4000000>;
			};
		};
	};

	/* ... */

	fb0: fb@12300000 {
		status = "okay";
		memory-region = <&display_region>;
	};

	scaler: scaler@12500000 {
		status = "okay";
		memory-region = <&multimedia_region>;
	};

	codec: codec@12600000 {
		status = "okay";
		memory-region = <&multimedia_region>;
	};
};
Loading