diff options
Diffstat (limited to 'Documentation')
26 files changed, 271 insertions, 54 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 1b777b960492..1f89424c36a6 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX | |||
| @@ -192,10 +192,6 @@ kernel-docs.txt | |||
| 192 | - listing of various WWW + books that document kernel internals. | 192 | - listing of various WWW + books that document kernel internals. |
| 193 | kernel-parameters.txt | 193 | kernel-parameters.txt |
| 194 | - summary listing of command line / boot prompt args for the kernel. | 194 | - summary listing of command line / boot prompt args for the kernel. |
| 195 | keys-request-key.txt | ||
| 196 | - description of the kernel key request service. | ||
| 197 | keys.txt | ||
| 198 | - description of the kernel key retention service. | ||
| 199 | kobject.txt | 195 | kobject.txt |
| 200 | - info of the kobject infrastructure of the Linux kernel. | 196 | - info of the kobject infrastructure of the Linux kernel. |
| 201 | kprobes.txt | 197 | kprobes.txt |
| @@ -294,6 +290,8 @@ scheduler/ | |||
| 294 | - directory with info on the scheduler. | 290 | - directory with info on the scheduler. |
| 295 | scsi/ | 291 | scsi/ |
| 296 | - directory with info on Linux scsi support. | 292 | - directory with info on Linux scsi support. |
| 293 | security/ | ||
| 294 | - directory that contains security-related info | ||
| 297 | serial/ | 295 | serial/ |
| 298 | - directory with info on the low level serial API. | 296 | - directory with info on the low level serial API. |
| 299 | serial-console.txt | 297 | serial-console.txt |
diff --git a/Documentation/DocBook/dvb/dvbproperty.xml b/Documentation/DocBook/dvb/dvbproperty.xml index 52d5e3c7cf6c..b5365f61d69b 100644 --- a/Documentation/DocBook/dvb/dvbproperty.xml +++ b/Documentation/DocBook/dvb/dvbproperty.xml | |||
| @@ -141,13 +141,15 @@ struct dtv_properties { | |||
| 141 | </row></tbody></tgroup></informaltable> | 141 | </row></tbody></tgroup></informaltable> |
| 142 | </section> | 142 | </section> |
| 143 | 143 | ||
| 144 | <section> | ||
| 145 | <title>Property types</title> | ||
| 144 | <para> | 146 | <para> |
| 145 | On <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link>/<link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link>, | 147 | On <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link>/<link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link>, |
| 146 | the actual action is determined by the dtv_property cmd/data pairs. With one single ioctl, is possible to | 148 | the actual action is determined by the dtv_property cmd/data pairs. With one single ioctl, is possible to |
| 147 | get/set up to 64 properties. The actual meaning of each property is described on the next sections. | 149 | get/set up to 64 properties. The actual meaning of each property is described on the next sections. |
| 148 | </para> | 150 | </para> |
| 149 | 151 | ||
| 150 | <para>The Available frontend property types are:</para> | 152 | <para>The available frontend property types are:</para> |
| 151 | <programlisting> | 153 | <programlisting> |
| 152 | #define DTV_UNDEFINED 0 | 154 | #define DTV_UNDEFINED 0 |
| 153 | #define DTV_TUNE 1 | 155 | #define DTV_TUNE 1 |
| @@ -193,6 +195,7 @@ get/set up to 64 properties. The actual meaning of each property is described on | |||
| 193 | #define DTV_ISDBT_LAYER_ENABLED 41 | 195 | #define DTV_ISDBT_LAYER_ENABLED 41 |
| 194 | #define DTV_ISDBS_TS_ID 42 | 196 | #define DTV_ISDBS_TS_ID 42 |
| 195 | </programlisting> | 197 | </programlisting> |
| 198 | </section> | ||
| 196 | 199 | ||
| 197 | <section id="fe_property_common"> | 200 | <section id="fe_property_common"> |
| 198 | <title>Parameters that are common to all Digital TV standards</title> | 201 | <title>Parameters that are common to all Digital TV standards</title> |
diff --git a/Documentation/DocBook/media-entities.tmpl b/Documentation/DocBook/media-entities.tmpl index c8abb23ef1e7..e5fe09430fd9 100644 --- a/Documentation/DocBook/media-entities.tmpl +++ b/Documentation/DocBook/media-entities.tmpl | |||
| @@ -293,6 +293,7 @@ | |||
| 293 | <!ENTITY sub-yuyv SYSTEM "v4l/pixfmt-yuyv.xml"> | 293 | <!ENTITY sub-yuyv SYSTEM "v4l/pixfmt-yuyv.xml"> |
| 294 | <!ENTITY sub-yvyu SYSTEM "v4l/pixfmt-yvyu.xml"> | 294 | <!ENTITY sub-yvyu SYSTEM "v4l/pixfmt-yvyu.xml"> |
| 295 | <!ENTITY sub-srggb10 SYSTEM "v4l/pixfmt-srggb10.xml"> | 295 | <!ENTITY sub-srggb10 SYSTEM "v4l/pixfmt-srggb10.xml"> |
| 296 | <!ENTITY sub-srggb12 SYSTEM "v4l/pixfmt-srggb12.xml"> | ||
| 296 | <!ENTITY sub-srggb8 SYSTEM "v4l/pixfmt-srggb8.xml"> | 297 | <!ENTITY sub-srggb8 SYSTEM "v4l/pixfmt-srggb8.xml"> |
| 297 | <!ENTITY sub-y10 SYSTEM "v4l/pixfmt-y10.xml"> | 298 | <!ENTITY sub-y10 SYSTEM "v4l/pixfmt-y10.xml"> |
| 298 | <!ENTITY sub-y12 SYSTEM "v4l/pixfmt-y12.xml"> | 299 | <!ENTITY sub-y12 SYSTEM "v4l/pixfmt-y12.xml"> |
| @@ -373,9 +374,9 @@ | |||
| 373 | <!ENTITY sub-media-indices SYSTEM "media-indices.tmpl"> | 374 | <!ENTITY sub-media-indices SYSTEM "media-indices.tmpl"> |
| 374 | 375 | ||
| 375 | <!ENTITY sub-media-controller SYSTEM "v4l/media-controller.xml"> | 376 | <!ENTITY sub-media-controller SYSTEM "v4l/media-controller.xml"> |
| 376 | <!ENTITY sub-media-open SYSTEM "v4l/media-func-open.xml"> | 377 | <!ENTITY sub-media-func-open SYSTEM "v4l/media-func-open.xml"> |
| 377 | <!ENTITY sub-media-close SYSTEM "v4l/media-func-close.xml"> | 378 | <!ENTITY sub-media-func-close SYSTEM "v4l/media-func-close.xml"> |
| 378 | <!ENTITY sub-media-ioctl SYSTEM "v4l/media-func-ioctl.xml"> | 379 | <!ENTITY sub-media-func-ioctl SYSTEM "v4l/media-func-ioctl.xml"> |
| 379 | <!ENTITY sub-media-ioc-device-info SYSTEM "v4l/media-ioc-device-info.xml"> | 380 | <!ENTITY sub-media-ioc-device-info SYSTEM "v4l/media-ioc-device-info.xml"> |
| 380 | <!ENTITY sub-media-ioc-enum-entities SYSTEM "v4l/media-ioc-enum-entities.xml"> | 381 | <!ENTITY sub-media-ioc-enum-entities SYSTEM "v4l/media-ioc-enum-entities.xml"> |
| 381 | <!ENTITY sub-media-ioc-enum-links SYSTEM "v4l/media-ioc-enum-links.xml"> | 382 | <!ENTITY sub-media-ioc-enum-links SYSTEM "v4l/media-ioc-enum-links.xml"> |
diff --git a/Documentation/DocBook/mtdnand.tmpl b/Documentation/DocBook/mtdnand.tmpl index 6f242d5dee9a..17910e2052ad 100644 --- a/Documentation/DocBook/mtdnand.tmpl +++ b/Documentation/DocBook/mtdnand.tmpl | |||
| @@ -189,8 +189,7 @@ static void __iomem *baseaddr; | |||
| 189 | <title>Partition defines</title> | 189 | <title>Partition defines</title> |
| 190 | <para> | 190 | <para> |
| 191 | If you want to divide your device into partitions, then | 191 | If you want to divide your device into partitions, then |
| 192 | enable the configuration switch CONFIG_MTD_PARTITIONS and define | 192 | define a partitioning scheme suitable to your board. |
| 193 | a partitioning scheme suitable to your board. | ||
| 194 | </para> | 193 | </para> |
| 195 | <programlisting> | 194 | <programlisting> |
| 196 | #define NUM_PARTITIONS 2 | 195 | #define NUM_PARTITIONS 2 |
diff --git a/Documentation/DocBook/v4l/media-controller.xml b/Documentation/DocBook/v4l/media-controller.xml index 2dc25e1d4089..873ac3a621f0 100644 --- a/Documentation/DocBook/v4l/media-controller.xml +++ b/Documentation/DocBook/v4l/media-controller.xml | |||
| @@ -78,9 +78,9 @@ | |||
| 78 | <appendix id="media-user-func"> | 78 | <appendix id="media-user-func"> |
| 79 | <title>Function Reference</title> | 79 | <title>Function Reference</title> |
| 80 | <!-- Keep this alphabetically sorted. --> | 80 | <!-- Keep this alphabetically sorted. --> |
| 81 | &sub-media-open; | 81 | &sub-media-func-open; |
| 82 | &sub-media-close; | 82 | &sub-media-func-close; |
| 83 | &sub-media-ioctl; | 83 | &sub-media-func-ioctl; |
| 84 | <!-- All ioctls go here. --> | 84 | <!-- All ioctls go here. --> |
| 85 | &sub-media-ioc-device-info; | 85 | &sub-media-ioc-device-info; |
| 86 | &sub-media-ioc-enum-entities; | 86 | &sub-media-ioc-enum-entities; |
diff --git a/Documentation/DocBook/v4l/pixfmt.xml b/Documentation/DocBook/v4l/pixfmt.xml index dbfe3b08435f..deb660207f94 100644 --- a/Documentation/DocBook/v4l/pixfmt.xml +++ b/Documentation/DocBook/v4l/pixfmt.xml | |||
| @@ -673,6 +673,7 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.< | |||
| 673 | &sub-srggb8; | 673 | &sub-srggb8; |
| 674 | &sub-sbggr16; | 674 | &sub-sbggr16; |
| 675 | &sub-srggb10; | 675 | &sub-srggb10; |
| 676 | &sub-srggb12; | ||
| 676 | </section> | 677 | </section> |
| 677 | 678 | ||
| 678 | <section id="yuv-formats"> | 679 | <section id="yuv-formats"> |
diff --git a/Documentation/DocBook/v4l/subdev-formats.xml b/Documentation/DocBook/v4l/subdev-formats.xml index a26b10c07857..8d3409d2c632 100644 --- a/Documentation/DocBook/v4l/subdev-formats.xml +++ b/Documentation/DocBook/v4l/subdev-formats.xml | |||
| @@ -2531,13 +2531,13 @@ | |||
| 2531 | <constant>_JPEG</constant> prefix the format code is made of | 2531 | <constant>_JPEG</constant> prefix the format code is made of |
| 2532 | the following information. | 2532 | the following information. |
| 2533 | <itemizedlist> | 2533 | <itemizedlist> |
| 2534 | <listitem>The number of bus samples per entropy encoded byte.</listitem> | 2534 | <listitem><para>The number of bus samples per entropy encoded byte.</para></listitem> |
| 2535 | <listitem>The bus width.</listitem> | 2535 | <listitem><para>The bus width.</para></listitem> |
| 2536 | </itemizedlist> | 2536 | </itemizedlist> |
| 2537 | </para> | ||
| 2537 | 2538 | ||
| 2538 | <para>For instance, for a JPEG baseline process and an 8-bit bus width | 2539 | <para>For instance, for a JPEG baseline process and an 8-bit bus width |
| 2539 | the format will be named <constant>V4L2_MBUS_FMT_JPEG_1X8</constant>. | 2540 | the format will be named <constant>V4L2_MBUS_FMT_JPEG_1X8</constant>. |
| 2540 | </para> | ||
| 2541 | </para> | 2541 | </para> |
| 2542 | 2542 | ||
| 2543 | <para>The following table lists existing JPEG compressed formats.</para> | 2543 | <para>The following table lists existing JPEG compressed formats.</para> |
diff --git a/Documentation/RCU/trace.txt b/Documentation/RCU/trace.txt index c078ad48f7a1..8173cec473aa 100644 --- a/Documentation/RCU/trace.txt +++ b/Documentation/RCU/trace.txt | |||
| @@ -99,18 +99,11 @@ o "qp" indicates that RCU still expects a quiescent state from | |||
| 99 | 99 | ||
| 100 | o "dt" is the current value of the dyntick counter that is incremented | 100 | o "dt" is the current value of the dyntick counter that is incremented |
| 101 | when entering or leaving dynticks idle state, either by the | 101 | when entering or leaving dynticks idle state, either by the |
| 102 | scheduler or by irq. The number after the "/" is the interrupt | 102 | scheduler or by irq. This number is even if the CPU is in |
| 103 | nesting depth when in dyntick-idle state, or one greater than | 103 | dyntick idle mode and odd otherwise. The number after the first |
| 104 | the interrupt-nesting depth otherwise. | 104 | "/" is the interrupt nesting depth when in dyntick-idle state, |
| 105 | 105 | or one greater than the interrupt-nesting depth otherwise. | |
| 106 | This field is displayed only for CONFIG_NO_HZ kernels. | 106 | The number after the second "/" is the NMI nesting depth. |
| 107 | |||
| 108 | o "dn" is the current value of the dyntick counter that is incremented | ||
| 109 | when entering or leaving dynticks idle state via NMI. If both | ||
| 110 | the "dt" and "dn" values are even, then this CPU is in dynticks | ||
| 111 | idle mode and may be ignored by RCU. If either of these two | ||
| 112 | counters is odd, then RCU must be alert to the possibility of | ||
| 113 | an RCU read-side critical section running on this CPU. | ||
| 114 | 107 | ||
| 115 | This field is displayed only for CONFIG_NO_HZ kernels. | 108 | This field is displayed only for CONFIG_NO_HZ kernels. |
| 116 | 109 | ||
diff --git a/Documentation/arm/Booting b/Documentation/arm/Booting index 76850295af8f..4e686a2ed91e 100644 --- a/Documentation/arm/Booting +++ b/Documentation/arm/Booting | |||
| @@ -65,13 +65,19 @@ looks at the connected hardware is beyond the scope of this document. | |||
| 65 | The boot loader must ultimately be able to provide a MACH_TYPE_xxx | 65 | The boot loader must ultimately be able to provide a MACH_TYPE_xxx |
| 66 | value to the kernel. (see linux/arch/arm/tools/mach-types). | 66 | value to the kernel. (see linux/arch/arm/tools/mach-types). |
| 67 | 67 | ||
| 68 | 68 | 4. Setup boot data | |
| 69 | 4. Setup the kernel tagged list | 69 | ------------------ |
| 70 | ------------------------------- | ||
| 71 | 70 | ||
| 72 | Existing boot loaders: OPTIONAL, HIGHLY RECOMMENDED | 71 | Existing boot loaders: OPTIONAL, HIGHLY RECOMMENDED |
| 73 | New boot loaders: MANDATORY | 72 | New boot loaders: MANDATORY |
| 74 | 73 | ||
| 74 | The boot loader must provide either a tagged list or a dtb image for | ||
| 75 | passing configuration data to the kernel. The physical address of the | ||
| 76 | boot data is passed to the kernel in register r2. | ||
| 77 | |||
| 78 | 4a. Setup the kernel tagged list | ||
| 79 | -------------------------------- | ||
| 80 | |||
| 75 | The boot loader must create and initialise the kernel tagged list. | 81 | The boot loader must create and initialise the kernel tagged list. |
| 76 | A valid tagged list starts with ATAG_CORE and ends with ATAG_NONE. | 82 | A valid tagged list starts with ATAG_CORE and ends with ATAG_NONE. |
| 77 | The ATAG_CORE tag may or may not be empty. An empty ATAG_CORE tag | 83 | The ATAG_CORE tag may or may not be empty. An empty ATAG_CORE tag |
| @@ -101,6 +107,24 @@ The tagged list must be placed in a region of memory where neither | |||
| 101 | the kernel decompressor nor initrd 'bootp' program will overwrite | 107 | the kernel decompressor nor initrd 'bootp' program will overwrite |
| 102 | it. The recommended placement is in the first 16KiB of RAM. | 108 | it. The recommended placement is in the first 16KiB of RAM. |
| 103 | 109 | ||
| 110 | 4b. Setup the device tree | ||
| 111 | ------------------------- | ||
| 112 | |||
| 113 | The boot loader must load a device tree image (dtb) into system ram | ||
| 114 | at a 64bit aligned address and initialize it with the boot data. The | ||
| 115 | dtb format is documented in Documentation/devicetree/booting-without-of.txt. | ||
| 116 | The kernel will look for the dtb magic value of 0xd00dfeed at the dtb | ||
| 117 | physical address to determine if a dtb has been passed instead of a | ||
| 118 | tagged list. | ||
| 119 | |||
| 120 | The boot loader must pass at a minimum the size and location of the | ||
| 121 | system memory, and the root filesystem location. The dtb must be | ||
| 122 | placed in a region of memory where the kernel decompressor will not | ||
| 123 | overwrite it. The recommended placement is in the first 16KiB of RAM | ||
| 124 | with the caveat that it may not be located at physical address 0 since | ||
| 125 | the kernel interprets a value of 0 in r2 to mean neither a tagged list | ||
| 126 | nor a dtb were passed. | ||
| 127 | |||
| 104 | 5. Calling the kernel image | 128 | 5. Calling the kernel image |
| 105 | --------------------------- | 129 | --------------------------- |
| 106 | 130 | ||
| @@ -125,7 +149,8 @@ In either case, the following conditions must be met: | |||
| 125 | - CPU register settings | 149 | - CPU register settings |
| 126 | r0 = 0, | 150 | r0 = 0, |
| 127 | r1 = machine type number discovered in (3) above. | 151 | r1 = machine type number discovered in (3) above. |
| 128 | r2 = physical address of tagged list in system RAM. | 152 | r2 = physical address of tagged list in system RAM, or |
| 153 | physical address of device tree block (dtb) in system RAM | ||
| 129 | 154 | ||
| 130 | - CPU mode | 155 | - CPU mode |
| 131 | All forms of interrupts must be disabled (IRQs and FIQs) | 156 | All forms of interrupts must be disabled (IRQs and FIQs) |
diff --git a/Documentation/arm/Samsung/Overview.txt b/Documentation/arm/Samsung/Overview.txt index c3094ea51aa7..658abb258cef 100644 --- a/Documentation/arm/Samsung/Overview.txt +++ b/Documentation/arm/Samsung/Overview.txt | |||
| @@ -14,7 +14,6 @@ Introduction | |||
| 14 | - S3C24XX: See Documentation/arm/Samsung-S3C24XX/Overview.txt for full list | 14 | - S3C24XX: See Documentation/arm/Samsung-S3C24XX/Overview.txt for full list |
| 15 | - S3C64XX: S3C6400 and S3C6410 | 15 | - S3C64XX: S3C6400 and S3C6410 |
| 16 | - S5P6440 | 16 | - S5P6440 |
| 17 | - S5P6442 | ||
| 18 | - S5PC100 | 17 | - S5PC100 |
| 19 | - S5PC110 / S5PV210 | 18 | - S5PC110 / S5PV210 |
| 20 | 19 | ||
| @@ -36,7 +35,6 @@ Configuration | |||
| 36 | unifying all the SoCs into one kernel. | 35 | unifying all the SoCs into one kernel. |
| 37 | 36 | ||
| 38 | s5p6440_defconfig - S5P6440 specific default configuration | 37 | s5p6440_defconfig - S5P6440 specific default configuration |
| 39 | s5p6442_defconfig - S5P6442 specific default configuration | ||
| 40 | s5pc100_defconfig - S5PC100 specific default configuration | 38 | s5pc100_defconfig - S5PC100 specific default configuration |
| 41 | s5pc110_defconfig - S5PC110 specific default configuration | 39 | s5pc110_defconfig - S5PC110 specific default configuration |
| 42 | s5pv210_defconfig - S5PV210 specific default configuration | 40 | s5pv210_defconfig - S5PV210 specific default configuration |
diff --git a/Documentation/devicetree/booting-without-of.txt b/Documentation/devicetree/booting-without-of.txt index 50619a0720a8..7c1329de0596 100644 --- a/Documentation/devicetree/booting-without-of.txt +++ b/Documentation/devicetree/booting-without-of.txt | |||
| @@ -12,8 +12,9 @@ Table of Contents | |||
| 12 | ================= | 12 | ================= |
| 13 | 13 | ||
| 14 | I - Introduction | 14 | I - Introduction |
| 15 | 1) Entry point for arch/powerpc | 15 | 1) Entry point for arch/arm |
| 16 | 2) Entry point for arch/x86 | 16 | 2) Entry point for arch/powerpc |
| 17 | 3) Entry point for arch/x86 | ||
| 17 | 18 | ||
| 18 | II - The DT block format | 19 | II - The DT block format |
| 19 | 1) Header | 20 | 1) Header |
| @@ -148,7 +149,46 @@ upgrades without significantly impacting the kernel code or cluttering | |||
| 148 | it with special cases. | 149 | it with special cases. |
| 149 | 150 | ||
| 150 | 151 | ||
| 151 | 1) Entry point for arch/powerpc | 152 | 1) Entry point for arch/arm |
| 153 | --------------------------- | ||
| 154 | |||
| 155 | There is one single entry point to the kernel, at the start | ||
| 156 | of the kernel image. That entry point supports two calling | ||
| 157 | conventions. A summary of the interface is described here. A full | ||
| 158 | description of the boot requirements is documented in | ||
| 159 | Documentation/arm/Booting | ||
| 160 | |||
| 161 | a) ATAGS interface. Minimal information is passed from firmware | ||
| 162 | to the kernel with a tagged list of predefined parameters. | ||
| 163 | |||
| 164 | r0 : 0 | ||
| 165 | |||
| 166 | r1 : Machine type number | ||
| 167 | |||
| 168 | r2 : Physical address of tagged list in system RAM | ||
| 169 | |||
| 170 | b) Entry with a flattened device-tree block. Firmware loads the | ||
| 171 | physical address of the flattened device tree block (dtb) into r2, | ||
| 172 | r1 is not used, but it is considered good practise to use a valid | ||
| 173 | machine number as described in Documentation/arm/Booting. | ||
| 174 | |||
| 175 | r0 : 0 | ||
| 176 | |||
| 177 | r1 : Valid machine type number. When using a device tree, | ||
| 178 | a single machine type number will often be assigned to | ||
| 179 | represent a class or family of SoCs. | ||
| 180 | |||
| 181 | r2 : physical pointer to the device-tree block | ||
| 182 | (defined in chapter II) in RAM. Device tree can be located | ||
| 183 | anywhere in system RAM, but it should be aligned on a 64 bit | ||
| 184 | boundary. | ||
| 185 | |||
| 186 | The kernel will differentiate between ATAGS and device tree booting by | ||
| 187 | reading the memory pointed to by r2 and looking for either the flattened | ||
| 188 | device tree block magic value (0xd00dfeed) or the ATAG_CORE value at | ||
| 189 | offset 0x4 from r2 (0x54410001). | ||
| 190 | |||
| 191 | 2) Entry point for arch/powerpc | ||
| 152 | ------------------------------- | 192 | ------------------------------- |
| 153 | 193 | ||
| 154 | There is one single entry point to the kernel, at the start | 194 | There is one single entry point to the kernel, at the start |
| @@ -226,7 +266,7 @@ it with special cases. | |||
| 226 | cannot support both configurations with Book E and configurations | 266 | cannot support both configurations with Book E and configurations |
| 227 | with classic Powerpc architectures. | 267 | with classic Powerpc architectures. |
| 228 | 268 | ||
| 229 | 2) Entry point for arch/x86 | 269 | 3) Entry point for arch/x86 |
| 230 | ------------------------------- | 270 | ------------------------------- |
| 231 | 271 | ||
| 232 | There is one single 32bit entry point to the kernel at code32_start, | 272 | There is one single 32bit entry point to the kernel at code32_start, |
diff --git a/Documentation/dmaengine.txt b/Documentation/dmaengine.txt index 0c1c2f63c0a9..5a0cb1ef6164 100644 --- a/Documentation/dmaengine.txt +++ b/Documentation/dmaengine.txt | |||
| @@ -1 +1,96 @@ | |||
| 1 | See Documentation/crypto/async-tx-api.txt | 1 | DMA Engine API Guide |
| 2 | ==================== | ||
| 3 | |||
| 4 | Vinod Koul <vinod dot koul at intel.com> | ||
| 5 | |||
| 6 | NOTE: For DMA Engine usage in async_tx please see: | ||
| 7 | Documentation/crypto/async-tx-api.txt | ||
| 8 | |||
| 9 | |||
| 10 | Below is a guide to device driver writers on how to use the Slave-DMA API of the | ||
| 11 | DMA Engine. This is applicable only for slave DMA usage only. | ||
| 12 | |||
| 13 | The slave DMA usage consists of following steps | ||
| 14 | 1. Allocate a DMA slave channel | ||
| 15 | 2. Set slave and controller specific parameters | ||
| 16 | 3. Get a descriptor for transaction | ||
| 17 | 4. Submit the transaction and wait for callback notification | ||
| 18 | |||
| 19 | 1. Allocate a DMA slave channel | ||
| 20 | Channel allocation is slightly different in the slave DMA context, client | ||
| 21 | drivers typically need a channel from a particular DMA controller only and even | ||
| 22 | in some cases a specific channel is desired. To request a channel | ||
| 23 | dma_request_channel() API is used. | ||
| 24 | |||
| 25 | Interface: | ||
| 26 | struct dma_chan *dma_request_channel(dma_cap_mask_t mask, | ||
| 27 | dma_filter_fn filter_fn, | ||
| 28 | void *filter_param); | ||
| 29 | where dma_filter_fn is defined as: | ||
| 30 | typedef bool (*dma_filter_fn)(struct dma_chan *chan, void *filter_param); | ||
| 31 | |||
| 32 | When the optional 'filter_fn' parameter is set to NULL dma_request_channel | ||
| 33 | simply returns the first channel that satisfies the capability mask. Otherwise, | ||
| 34 | when the mask parameter is insufficient for specifying the necessary channel, | ||
| 35 | the filter_fn routine can be used to disposition the available channels in the | ||
| 36 | system. The filter_fn routine is called once for each free channel in the | ||
| 37 | system. Upon seeing a suitable channel filter_fn returns DMA_ACK which flags | ||
| 38 | that channel to be the return value from dma_request_channel. A channel | ||
| 39 | allocated via this interface is exclusive to the caller, until | ||
| 40 | dma_release_channel() is called. | ||
| 41 | |||
| 42 | 2. Set slave and controller specific parameters | ||
| 43 | Next step is always to pass some specific information to the DMA driver. Most of | ||
| 44 | the generic information which a slave DMA can use is in struct dma_slave_config. | ||
| 45 | It allows the clients to specify DMA direction, DMA addresses, bus widths, DMA | ||
| 46 | burst lengths etc. If some DMA controllers have more parameters to be sent then | ||
| 47 | they should try to embed struct dma_slave_config in their controller specific | ||
| 48 | structure. That gives flexibility to client to pass more parameters, if | ||
| 49 | required. | ||
| 50 | |||
| 51 | Interface: | ||
| 52 | int dmaengine_slave_config(struct dma_chan *chan, | ||
| 53 | struct dma_slave_config *config) | ||
| 54 | |||
| 55 | 3. Get a descriptor for transaction | ||
| 56 | For slave usage the various modes of slave transfers supported by the | ||
| 57 | DMA-engine are: | ||
| 58 | slave_sg - DMA a list of scatter gather buffers from/to a peripheral | ||
| 59 | dma_cyclic - Perform a cyclic DMA operation from/to a peripheral till the | ||
| 60 | operation is explicitly stopped. | ||
| 61 | The non NULL return of this transfer API represents a "descriptor" for the given | ||
| 62 | transaction. | ||
| 63 | |||
| 64 | Interface: | ||
| 65 | struct dma_async_tx_descriptor *(*chan->device->device_prep_dma_sg)( | ||
| 66 | struct dma_chan *chan, | ||
| 67 | struct scatterlist *dst_sg, unsigned int dst_nents, | ||
| 68 | struct scatterlist *src_sg, unsigned int src_nents, | ||
| 69 | unsigned long flags); | ||
| 70 | struct dma_async_tx_descriptor *(*chan->device->device_prep_dma_cyclic)( | ||
| 71 | struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, | ||
| 72 | size_t period_len, enum dma_data_direction direction); | ||
| 73 | |||
| 74 | 4. Submit the transaction and wait for callback notification | ||
| 75 | To schedule the transaction to be scheduled by dma device, the "descriptor" | ||
| 76 | returned in above (3) needs to be submitted. | ||
| 77 | To tell the dma driver that a transaction is ready to be serviced, the | ||
| 78 | descriptor->submit() callback needs to be invoked. This chains the descriptor to | ||
| 79 | the pending queue. | ||
| 80 | The transactions in the pending queue can be activated by calling the | ||
| 81 | issue_pending API. If channel is idle then the first transaction in queue is | ||
| 82 | started and subsequent ones queued up. | ||
| 83 | On completion of the DMA operation the next in queue is submitted and a tasklet | ||
| 84 | triggered. The tasklet would then call the client driver completion callback | ||
| 85 | routine for notification, if set. | ||
| 86 | Interface: | ||
| 87 | void dma_async_issue_pending(struct dma_chan *chan); | ||
| 88 | |||
| 89 | ============================================================================== | ||
| 90 | |||
| 91 | Additional usage notes for dma driver writers | ||
| 92 | 1/ Although DMA engine specifies that completion callback routines cannot submit | ||
| 93 | any new operations, but typically for slave DMA subsequent transaction may not | ||
| 94 | be available for submit prior to callback routine being called. This requirement | ||
| 95 | is not a requirement for DMA-slave devices. But they should take care to drop | ||
| 96 | the spin-lock they might be holding before calling the callback routine | ||
diff --git a/Documentation/filesystems/nfs/idmapper.txt b/Documentation/filesystems/nfs/idmapper.txt index b9b4192ea8b5..9c8fd6148656 100644 --- a/Documentation/filesystems/nfs/idmapper.txt +++ b/Documentation/filesystems/nfs/idmapper.txt | |||
| @@ -47,8 +47,8 @@ request-key will find the first matching line and corresponding program. In | |||
| 47 | this case, /some/other/program will handle all uid lookups and | 47 | this case, /some/other/program will handle all uid lookups and |
| 48 | /usr/sbin/nfs.idmap will handle gid, user, and group lookups. | 48 | /usr/sbin/nfs.idmap will handle gid, user, and group lookups. |
| 49 | 49 | ||
| 50 | See <file:Documentation/keys-request-keys.txt> for more information about the | 50 | See <file:Documentation/security/keys-request-keys.txt> for more information |
| 51 | request-key function. | 51 | about the request-key function. |
| 52 | 52 | ||
| 53 | 53 | ||
| 54 | ========= | 54 | ========= |
diff --git a/Documentation/lockstat.txt b/Documentation/lockstat.txt index 9c0a80d17a23..cef00d42ed5b 100644 --- a/Documentation/lockstat.txt +++ b/Documentation/lockstat.txt | |||
| @@ -12,8 +12,9 @@ Because things like lock contention can severely impact performance. | |||
| 12 | - HOW | 12 | - HOW |
| 13 | 13 | ||
| 14 | Lockdep already has hooks in the lock functions and maps lock instances to | 14 | Lockdep already has hooks in the lock functions and maps lock instances to |
| 15 | lock classes. We build on that. The graph below shows the relation between | 15 | lock classes. We build on that (see Documentation/lockdep-design.txt). |
| 16 | the lock functions and the various hooks therein. | 16 | The graph below shows the relation between the lock functions and the various |
| 17 | hooks therein. | ||
| 17 | 18 | ||
| 18 | __acquire | 19 | __acquire |
| 19 | | | 20 | | |
| @@ -128,6 +129,37 @@ points are the points we're contending with. | |||
| 128 | 129 | ||
| 129 | The integer part of the time values is in us. | 130 | The integer part of the time values is in us. |
| 130 | 131 | ||
| 132 | Dealing with nested locks, subclasses may appear: | ||
| 133 | |||
| 134 | 32............................................................................................................................................................................................... | ||
| 135 | 33 | ||
| 136 | 34 &rq->lock: 13128 13128 0.43 190.53 103881.26 97454 3453404 0.00 401.11 13224683.11 | ||
| 137 | 35 --------- | ||
| 138 | 36 &rq->lock 645 [<ffffffff8103bfc4>] task_rq_lock+0x43/0x75 | ||
| 139 | 37 &rq->lock 297 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a | ||
| 140 | 38 &rq->lock 360 [<ffffffff8103c4c5>] select_task_rq_fair+0x1f0/0x74a | ||
| 141 | 39 &rq->lock 428 [<ffffffff81045f98>] scheduler_tick+0x46/0x1fb | ||
| 142 | 40 --------- | ||
| 143 | 41 &rq->lock 77 [<ffffffff8103bfc4>] task_rq_lock+0x43/0x75 | ||
| 144 | 42 &rq->lock 174 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a | ||
| 145 | 43 &rq->lock 4715 [<ffffffff8103ed4b>] double_rq_lock+0x42/0x54 | ||
| 146 | 44 &rq->lock 893 [<ffffffff81340524>] schedule+0x157/0x7b8 | ||
| 147 | 45 | ||
| 148 | 46............................................................................................................................................................................................... | ||
| 149 | 47 | ||
| 150 | 48 &rq->lock/1: 11526 11488 0.33 388.73 136294.31 21461 38404 0.00 37.93 109388.53 | ||
| 151 | 49 ----------- | ||
| 152 | 50 &rq->lock/1 11526 [<ffffffff8103ed58>] double_rq_lock+0x4f/0x54 | ||
| 153 | 51 ----------- | ||
| 154 | 52 &rq->lock/1 5645 [<ffffffff8103ed4b>] double_rq_lock+0x42/0x54 | ||
| 155 | 53 &rq->lock/1 1224 [<ffffffff81340524>] schedule+0x157/0x7b8 | ||
| 156 | 54 &rq->lock/1 4336 [<ffffffff8103ed58>] double_rq_lock+0x4f/0x54 | ||
| 157 | 55 &rq->lock/1 181 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a | ||
| 158 | |||
| 159 | Line 48 shows statistics for the second subclass (/1) of &rq->lock class | ||
| 160 | (subclass starts from 0), since in this case, as line 50 suggests, | ||
| 161 | double_rq_lock actually acquires a nested lock of two spinlocks. | ||
| 162 | |||
| 131 | View the top contending locks: | 163 | View the top contending locks: |
| 132 | 164 | ||
| 133 | # grep : /proc/lock_stat | head | 165 | # grep : /proc/lock_stat | head |
diff --git a/Documentation/networking/dns_resolver.txt b/Documentation/networking/dns_resolver.txt index 04ca06325b08..7f531ad83285 100644 --- a/Documentation/networking/dns_resolver.txt +++ b/Documentation/networking/dns_resolver.txt | |||
| @@ -139,8 +139,8 @@ the key will be discarded and recreated when the data it holds has expired. | |||
| 139 | dns_query() returns a copy of the value attached to the key, or an error if | 139 | dns_query() returns a copy of the value attached to the key, or an error if |
| 140 | that is indicated instead. | 140 | that is indicated instead. |
| 141 | 141 | ||
| 142 | See <file:Documentation/keys-request-key.txt> for further information about | 142 | See <file:Documentation/security/keys-request-key.txt> for further |
| 143 | request-key function. | 143 | information about request-key function. |
| 144 | 144 | ||
| 145 | 145 | ||
| 146 | ========= | 146 | ========= |
diff --git a/Documentation/power/regulator/machine.txt b/Documentation/power/regulator/machine.txt index bdec39b9bd75..b42419b52e44 100644 --- a/Documentation/power/regulator/machine.txt +++ b/Documentation/power/regulator/machine.txt | |||
| @@ -53,11 +53,11 @@ static struct regulator_init_data regulator1_data = { | |||
| 53 | 53 | ||
| 54 | Regulator-1 supplies power to Regulator-2. This relationship must be registered | 54 | Regulator-1 supplies power to Regulator-2. This relationship must be registered |
| 55 | with the core so that Regulator-1 is also enabled when Consumer A enables its | 55 | with the core so that Regulator-1 is also enabled when Consumer A enables its |
| 56 | supply (Regulator-2). The supply regulator is set by the supply_regulator_dev | 56 | supply (Regulator-2). The supply regulator is set by the supply_regulator |
| 57 | field below:- | 57 | field below:- |
| 58 | 58 | ||
| 59 | static struct regulator_init_data regulator2_data = { | 59 | static struct regulator_init_data regulator2_data = { |
| 60 | .supply_regulator_dev = &platform_regulator1_device.dev, | 60 | .supply_regulator = "regulator_name", |
| 61 | .constraints = { | 61 | .constraints = { |
| 62 | .min_uV = 1800000, | 62 | .min_uV = 1800000, |
| 63 | .max_uV = 2000000, | 63 | .max_uV = 2000000, |
diff --git a/Documentation/scsi/ChangeLog.megaraid_sas b/Documentation/scsi/ChangeLog.megaraid_sas index 4d9ce73ff730..9ed1d9d96783 100644 --- a/Documentation/scsi/ChangeLog.megaraid_sas +++ b/Documentation/scsi/ChangeLog.megaraid_sas | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | Release Date : Wed. May 11, 2011 17:00:00 PST 2010 - | ||
| 2 | (emaild-id:megaraidlinux@lsi.com) | ||
| 3 | Adam Radford | ||
| 4 | Current Version : 00.00.05.38-rc1 | ||
| 5 | Old Version : 00.00.05.34-rc1 | ||
| 6 | 1. Remove MSI-X black list, use MFI_REG_STATE.ready.msiEnable. | ||
| 7 | 2. Remove un-used function megasas_return_cmd_for_smid(). | ||
| 8 | 3. Check MFI_REG_STATE.fault.resetAdapter in megasas_reset_fusion(). | ||
| 9 | 4. Disable interrupts/free_irq() in megasas_shutdown(). | ||
| 10 | 5. Fix bug where AENs could be lost in probe() and resume(). | ||
| 11 | 6. Convert 6,10,12 byte CDB's to 16 byte CDB for large LBA's for FastPath | ||
| 12 | IO. | ||
| 13 | 7. Add 1078 OCR support. | ||
| 14 | ------------------------------------------------------------------------------- | ||
| 1 | Release Date : Thu. Feb 24, 2011 17:00:00 PST 2010 - | 15 | Release Date : Thu. Feb 24, 2011 17:00:00 PST 2010 - |
| 2 | (emaild-id:megaraidlinux@lsi.com) | 16 | (emaild-id:megaraidlinux@lsi.com) |
| 3 | Adam Radford | 17 | Adam Radford |
diff --git a/Documentation/security/00-INDEX b/Documentation/security/00-INDEX new file mode 100644 index 000000000000..19bc49439cac --- /dev/null +++ b/Documentation/security/00-INDEX | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | 00-INDEX | ||
| 2 | - this file. | ||
| 3 | SELinux.txt | ||
| 4 | - how to get started with the SELinux security enhancement. | ||
| 5 | Smack.txt | ||
| 6 | - documentation on the Smack Linux Security Module. | ||
| 7 | apparmor.txt | ||
| 8 | - documentation on the AppArmor security extension. | ||
| 9 | credentials.txt | ||
| 10 | - documentation about credentials in Linux. | ||
| 11 | keys-request-key.txt | ||
| 12 | - description of the kernel key request service. | ||
| 13 | keys-trusted-encrypted.txt | ||
| 14 | - info on the Trusted and Encrypted keys in the kernel key ring service. | ||
| 15 | keys.txt | ||
| 16 | - description of the kernel key retention service. | ||
| 17 | tomoyo.txt | ||
| 18 | - documentation on the TOMOYO Linux Security Module. | ||
diff --git a/Documentation/SELinux.txt b/Documentation/security/SELinux.txt index 07eae00f3314..07eae00f3314 100644 --- a/Documentation/SELinux.txt +++ b/Documentation/security/SELinux.txt | |||
diff --git a/Documentation/Smack.txt b/Documentation/security/Smack.txt index e9dab41c0fe0..e9dab41c0fe0 100644 --- a/Documentation/Smack.txt +++ b/Documentation/security/Smack.txt | |||
diff --git a/Documentation/apparmor.txt b/Documentation/security/apparmor.txt index 93c1fd7d0635..93c1fd7d0635 100644 --- a/Documentation/apparmor.txt +++ b/Documentation/security/apparmor.txt | |||
diff --git a/Documentation/credentials.txt b/Documentation/security/credentials.txt index 995baf379c07..fc0366cbd7ce 100644 --- a/Documentation/credentials.txt +++ b/Documentation/security/credentials.txt | |||
| @@ -216,7 +216,7 @@ The Linux kernel supports the following types of credentials: | |||
| 216 | When a process accesses a key, if not already present, it will normally be | 216 | When a process accesses a key, if not already present, it will normally be |
| 217 | cached on one of these keyrings for future accesses to find. | 217 | cached on one of these keyrings for future accesses to find. |
| 218 | 218 | ||
| 219 | For more information on using keys, see Documentation/keys.txt. | 219 | For more information on using keys, see Documentation/security/keys.txt. |
| 220 | 220 | ||
| 221 | (5) LSM | 221 | (5) LSM |
| 222 | 222 | ||
diff --git a/Documentation/keys-request-key.txt b/Documentation/security/keys-request-key.txt index 69686ad12c66..51987bfecfed 100644 --- a/Documentation/keys-request-key.txt +++ b/Documentation/security/keys-request-key.txt | |||
| @@ -3,8 +3,8 @@ | |||
| 3 | =================== | 3 | =================== |
| 4 | 4 | ||
| 5 | The key request service is part of the key retention service (refer to | 5 | The key request service is part of the key retention service (refer to |
| 6 | Documentation/keys.txt). This document explains more fully how the requesting | 6 | Documentation/security/keys.txt). This document explains more fully how |
| 7 | algorithm works. | 7 | the requesting algorithm works. |
| 8 | 8 | ||
| 9 | The process starts by either the kernel requesting a service by calling | 9 | The process starts by either the kernel requesting a service by calling |
| 10 | request_key*(): | 10 | request_key*(): |
diff --git a/Documentation/keys-trusted-encrypted.txt b/Documentation/security/keys-trusted-encrypted.txt index 8fb79bc1ac4b..8fb79bc1ac4b 100644 --- a/Documentation/keys-trusted-encrypted.txt +++ b/Documentation/security/keys-trusted-encrypted.txt | |||
diff --git a/Documentation/keys.txt b/Documentation/security/keys.txt index 6523a9e6f293..4d75931d2d79 100644 --- a/Documentation/keys.txt +++ b/Documentation/security/keys.txt | |||
| @@ -434,7 +434,7 @@ The main syscalls are: | |||
| 434 | /sbin/request-key will be invoked in an attempt to obtain a key. The | 434 | /sbin/request-key will be invoked in an attempt to obtain a key. The |
| 435 | callout_info string will be passed as an argument to the program. | 435 | callout_info string will be passed as an argument to the program. |
| 436 | 436 | ||
| 437 | See also Documentation/keys-request-key.txt. | 437 | See also Documentation/security/keys-request-key.txt. |
| 438 | 438 | ||
| 439 | 439 | ||
| 440 | The keyctl syscall functions are: | 440 | The keyctl syscall functions are: |
| @@ -864,7 +864,7 @@ payload contents" for more information. | |||
| 864 | If successful, the key will have been attached to the default keyring for | 864 | If successful, the key will have been attached to the default keyring for |
| 865 | implicitly obtained request-key keys, as set by KEYCTL_SET_REQKEY_KEYRING. | 865 | implicitly obtained request-key keys, as set by KEYCTL_SET_REQKEY_KEYRING. |
| 866 | 866 | ||
| 867 | See also Documentation/keys-request-key.txt. | 867 | See also Documentation/security/keys-request-key.txt. |
| 868 | 868 | ||
| 869 | 869 | ||
| 870 | (*) To search for a key, passing auxiliary data to the upcaller, call: | 870 | (*) To search for a key, passing auxiliary data to the upcaller, call: |
diff --git a/Documentation/tomoyo.txt b/Documentation/security/tomoyo.txt index 200a2d37cbc8..200a2d37cbc8 100644 --- a/Documentation/tomoyo.txt +++ b/Documentation/security/tomoyo.txt | |||
