Skip to content

Commit

Permalink
Merge branch 'linus' into perf/urgent
Browse files Browse the repository at this point in the history
Merge dependencies to apply a fix.

Signed-off-by: Ingo Molnar <[email protected]>
  • Loading branch information
Ingo Molnar committed Nov 14, 2013
2 parents d969135 + f0d55cc commit 555a098
Show file tree
Hide file tree
Showing 3,971 changed files with 167,218 additions and 77,489 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
12 changes: 11 additions & 1 deletion CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -2576,7 +2576,7 @@ S: Toronto, Ontario
S: Canada

N: Zwane Mwaikambo
E: [email protected]
E: [email protected]
D: Various driver hacking
D: Lowlevel x86 kernel hacking
D: General debugging
Expand Down Expand Up @@ -2895,6 +2895,11 @@ S: Framewood Road
S: Wexham SL3 6PJ
S: United Kingdom

N: Richard Purdie
E: [email protected]
D: Backlight subsystem maintainer
S: United Kingdom

N: Daniel Quinlan
E: [email protected]
W: http://www.pathname.com/~quinlan/
Expand Down Expand Up @@ -3152,6 +3157,11 @@ N: Dipankar Sarma
E: [email protected]
D: RCU

N: Yoshinori Sato
E: [email protected]
D: uClinux for Renesas H8/300 (H8300)
D: http://uclinux-h8.sourceforge.jp/

N: Hannu Savolainen
E: [email protected]
D: Maintainer of the sound drivers until 2.1.x days.
Expand Down
13 changes: 13 additions & 0 deletions Documentation/ABI/README
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,16 @@ kernel tree without going through the obsolete state first.

It's up to the developer to place their interfaces in the category they
wish for it to start out in.


Notable bits of non-ABI, which should not under any circumstances be considered
stable:

- Kconfig. Userspace should not rely on the presence or absence of any
particular Kconfig symbol, in /proc/config.gz, in the copy of .config
commonly installed to /boot, or in any invocation of the kernel build
process.

- Kernel-internal symbols. Do not rely on the presence, absence, location, or
type of any kernel symbol, either in System.map files or the kernel binary
itself. See Documentation/stable_api_nonsense.txt.
2 changes: 1 addition & 1 deletion Documentation/ABI/testing/sysfs-class-mtd
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Description:
One of the following ASCII strings, representing the device
type:

absent, ram, rom, nor, nand, dataflash, ubi, unknown
absent, ram, rom, nor, nand, mlc-nand, dataflash, ubi, unknown

What: /sys/class/mtd/mtdX/writesize
Date: April 2009
Expand Down
4 changes: 2 additions & 2 deletions Documentation/ABI/testing/sysfs-class-net-batman-adv
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@

What: /sys/class/net/<iface>/batman-adv/iface_status
Date: May 2010
Contact: Marek Lindner <[email protected]>
Contact: Marek Lindner <[email protected]>
Description:
Indicates the status of <iface> as it is seen by batman.

What: /sys/class/net/<iface>/batman-adv/mesh_iface
Date: May 2010
Contact: Marek Lindner <[email protected]>
Contact: Marek Lindner <[email protected]>
Description:
The /sys/class/net/<iface>/batman-adv/mesh_iface file
displays the batman mesh interface this <iface>
Expand Down
34 changes: 12 additions & 22 deletions Documentation/ABI/testing/sysfs-class-net-mesh
Original file line number Diff line number Diff line change
@@ -1,30 +1,31 @@

What: /sys/class/net/<mesh_iface>/mesh/aggregated_ogms
Date: May 2010
Contact: Marek Lindner <[email protected]>
Contact: Marek Lindner <[email protected]>
Description:
Indicates whether the batman protocol messages of the
mesh <mesh_iface> shall be aggregated or not.

What: /sys/class/net/<mesh_iface>/mesh/ap_isolation
What: /sys/class/net/<mesh_iface>/mesh/<vlan_subdir>/ap_isolation
Date: May 2011
Contact: Antonio Quartulli <[email protected]>
Contact: Antonio Quartulli <[email protected]>
Description:
Indicates whether the data traffic going from a
wireless client to another wireless client will be
silently dropped.
silently dropped. <vlan_subdir> is empty when referring
to the untagged lan.

What: /sys/class/net/<mesh_iface>/mesh/bonding
Date: June 2010
Contact: Simon Wunderlich <[email protected].de>
Contact: Simon Wunderlich <sw@simonwunderlich.de>
Description:
Indicates whether the data traffic going through the
mesh will be sent using multiple interfaces at the
same time (if available).

What: /sys/class/net/<mesh_iface>/mesh/bridge_loop_avoidance
Date: November 2011
Contact: Simon Wunderlich <[email protected].de>
Contact: Simon Wunderlich <sw@simonwunderlich.de>
Description:
Indicates whether the bridge loop avoidance feature
is enabled. This feature detects and avoids loops
Expand All @@ -41,21 +42,21 @@ Description:

What: /sys/class/net/<mesh_iface>/mesh/gw_bandwidth
Date: October 2010
Contact: Marek Lindner <[email protected]>
Contact: Marek Lindner <[email protected]>
Description:
Defines the bandwidth which is propagated by this
node if gw_mode was set to 'server'.

What: /sys/class/net/<mesh_iface>/mesh/gw_mode
Date: October 2010
Contact: Marek Lindner <[email protected]>
Contact: Marek Lindner <[email protected]>
Description:
Defines the state of the gateway features. Can be
either 'off', 'client' or 'server'.

What: /sys/class/net/<mesh_iface>/mesh/gw_sel_class
Date: October 2010
Contact: Marek Lindner <[email protected]>
Contact: Marek Lindner <[email protected]>
Description:
Defines the selection criteria this node will use
to choose a gateway if gw_mode was set to 'client'.
Expand All @@ -77,25 +78,14 @@ Description:

What: /sys/class/net/<mesh_iface>/mesh/orig_interval
Date: May 2010
Contact: Marek Lindner <[email protected]>
Contact: Marek Lindner <[email protected]>
Description:
Defines the interval in milliseconds in which batman
sends its protocol messages.

What: /sys/class/net/<mesh_iface>/mesh/routing_algo
Date: Dec 2011
Contact: Marek Lindner <[email protected]>
Contact: Marek Lindner <[email protected]>
Description:
Defines the routing procotol this mesh instance
uses to find the optimal paths through the mesh.

What: /sys/class/net/<mesh_iface>/mesh/vis_mode
Date: May 2010
Contact: Marek Lindner <[email protected]>
Description:
Each batman node only maintains information about its
own local neighborhood, therefore generating graphs
showing the topology of the entire mesh is not easily
feasible without having a central instance to collect
the local topologies from all nodes. This file allows
to activate the collecting (server) mode.
152 changes: 152 additions & 0 deletions Documentation/ABI/testing/sysfs-class-powercap
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
What: /sys/class/powercap/
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
The powercap/ class sub directory belongs to the power cap
subsystem. Refer to
Documentation/power/powercap/powercap.txt for details.

What: /sys/class/powercap/<control type>
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
A <control type> is a unique name under /sys/class/powercap.
Here <control type> determines how the power is going to be
controlled. A <control type> can contain multiple power zones.

What: /sys/class/powercap/<control type>/enabled
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
This allows to enable/disable power capping for a "control type".
This status affects every power zone using this "control_type.

What: /sys/class/powercap/<control type>/<power zone>
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
A power zone is a single or a collection of devices, which can
be independently monitored and controlled. A power zone sysfs
entry is qualified with the name of the <control type>.
E.g. intel-rapl:0:1:1.

What: /sys/class/powercap/<control type>/<power zone>/<child power zone>
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Power zones may be organized in a hierarchy in which child
power zones provide monitoring and control for a subset of
devices under the parent. For example, if there is a parent
power zone for a whole CPU package, each CPU core in it can
be a child power zone.

What: /sys/class/powercap/.../<power zone>/name
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Specifies the name of this power zone.

What: /sys/class/powercap/.../<power zone>/energy_uj
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Current energy counter in micro-joules. Write "0" to reset.
If the counter can not be reset, then this attribute is
read-only.

What: /sys/class/powercap/.../<power zone>/max_energy_range_uj
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Range of the above energy counter in micro-joules.


What: /sys/class/powercap/.../<power zone>/power_uw
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Current power in micro-watts.

What: /sys/class/powercap/.../<power zone>/max_power_range_uw
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Range of the above power value in micro-watts.

What: /sys/class/powercap/.../<power zone>/constraint_X_name
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Each power zone can define one or more constraints. Each
constraint can have an optional name. Here "X" can have values
from 0 to max integer.

What: /sys/class/powercap/.../<power zone>/constraint_X_power_limit_uw
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Power limit in micro-watts should be applicable for
the time window specified by "constraint_X_time_window_us".
Here "X" can have values from 0 to max integer.

What: /sys/class/powercap/.../<power zone>/constraint_X_time_window_us
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Time window in micro seconds. This is used along with
constraint_X_power_limit_uw to define a power constraint.
Here "X" can have values from 0 to max integer.


What: /sys/class/powercap/<control type>/.../constraint_X_max_power_uw
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Maximum allowed power in micro watts for this constraint.
Here "X" can have values from 0 to max integer.

What: /sys/class/powercap/<control type>/.../constraint_X_min_power_uw
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Minimum allowed power in micro watts for this constraint.
Here "X" can have values from 0 to max integer.

What: /sys/class/powercap/.../<power zone>/constraint_X_max_time_window_us
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Maximum allowed time window in micro seconds for this
constraint. Here "X" can have values from 0 to max integer.

What: /sys/class/powercap/.../<power zone>/constraint_X_min_time_window_us
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description:
Minimum allowed time window in micro seconds for this
constraint. Here "X" can have values from 0 to max integer.

What: /sys/class/powercap/.../<power zone>/enabled
Date: September 2013
KernelVersion: 3.13
Contact: [email protected]
Description
This allows to enable/disable power capping at power zone level.
This applies to current power zone and its children.
37 changes: 22 additions & 15 deletions Documentation/DMA-API-HOWTO.txt
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,23 @@ style to do this even if your device holds the default setting,
because this shows that you did think about these issues wrt. your
device.

The query is performed via a call to dma_set_mask():
The query is performed via a call to dma_set_mask_and_coherent():

int dma_set_mask(struct device *dev, u64 mask);
int dma_set_mask_and_coherent(struct device *dev, u64 mask);

The query for consistent allocations is performed via a call to
dma_set_coherent_mask():
which will query the mask for both streaming and coherent APIs together.
If you have some special requirements, then the following two separate
queries can be used instead:

int dma_set_coherent_mask(struct device *dev, u64 mask);
The query for streaming mappings is performed via a call to
dma_set_mask():

int dma_set_mask(struct device *dev, u64 mask);

The query for consistent allocations is performed via a call
to dma_set_coherent_mask():

int dma_set_coherent_mask(struct device *dev, u64 mask);

Here, dev is a pointer to the device struct of your device, and mask
is a bit mask describing which bits of an address your device
Expand Down Expand Up @@ -137,7 +146,7 @@ exactly why.

The standard 32-bit addressing device would do something like this:

if (dma_set_mask(dev, DMA_BIT_MASK(32))) {
if (dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32))) {
printk(KERN_WARNING
"mydev: No suitable DMA available.\n");
goto ignore_this_device;
Expand Down Expand Up @@ -171,22 +180,20 @@ the case would look like this:

int using_dac, consistent_using_dac;

if (!dma_set_mask(dev, DMA_BIT_MASK(64))) {
if (!dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64))) {
using_dac = 1;
consistent_using_dac = 1;
dma_set_coherent_mask(dev, DMA_BIT_MASK(64));
} else if (!dma_set_mask(dev, DMA_BIT_MASK(32))) {
} else if (!dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32))) {
using_dac = 0;
consistent_using_dac = 0;
dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
} else {
printk(KERN_WARNING
"mydev: No suitable DMA available.\n");
goto ignore_this_device;
}

dma_set_coherent_mask() will always be able to set the same or a
smaller mask as dma_set_mask(). However for the rare case that a
The coherent coherent mask will always be able to set the same or a
smaller mask as the streaming mask. However for the rare case that a
device driver only uses consistent allocations, one would have to
check the return value from dma_set_coherent_mask().

Expand All @@ -199,9 +206,9 @@ address you might do something like:
goto ignore_this_device;
}

When dma_set_mask() is successful, and returns zero, the kernel saves
away this mask you have provided. The kernel will use this
information later when you make DMA mappings.
When dma_set_mask() or dma_set_mask_and_coherent() is successful, and
returns zero, the kernel saves away this mask you have provided. The
kernel will use this information later when you make DMA mappings.

There is a case which we are aware of at this time, which is worth
mentioning in this documentation. If your device supports multiple
Expand Down
Loading

0 comments on commit 555a098

Please sign in to comment.