diff options
Diffstat (limited to 'Documentation/scsi')
-rw-r--r-- | Documentation/scsi/00-INDEX | 6 | ||||
-rw-r--r-- | Documentation/scsi/53c700.txt | 21 | ||||
-rw-r--r-- | Documentation/scsi/ChangeLog.lpfc | 2 | ||||
-rw-r--r-- | Documentation/scsi/ChangeLog.megaraid_sas | 58 | ||||
-rw-r--r-- | Documentation/scsi/LICENSE.qla2xxx | 43 | ||||
-rw-r--r-- | Documentation/scsi/LICENSE.qla4xxx | 289 | ||||
-rw-r--r-- | Documentation/scsi/aic79xx.txt | 2 | ||||
-rw-r--r-- | Documentation/scsi/aic7xxx.txt | 2 | ||||
-rw-r--r-- | Documentation/scsi/aic7xxx_old.txt | 2 | ||||
-rw-r--r-- | Documentation/scsi/bfa.txt | 82 | ||||
-rw-r--r-- | Documentation/scsi/bnx2fc.txt | 75 | ||||
-rw-r--r-- | Documentation/scsi/hptiop.txt | 69 | ||||
-rw-r--r-- | Documentation/scsi/libsas.txt | 15 | ||||
-rw-r--r-- | Documentation/scsi/osst.txt | 2 | ||||
-rw-r--r-- | Documentation/scsi/scsi-generic.txt | 2 | ||||
-rw-r--r-- | Documentation/scsi/scsi-parameters.txt | 6 | ||||
-rw-r--r-- | Documentation/scsi/scsi_mid_low_api.txt | 7 | ||||
-rw-r--r-- | Documentation/scsi/st.txt | 10 | ||||
-rw-r--r-- | Documentation/scsi/tmscsim.txt | 2 | ||||
-rw-r--r-- | Documentation/scsi/ufs.txt | 133 |
20 files changed, 105 insertions, 723 deletions
diff --git a/Documentation/scsi/00-INDEX b/Documentation/scsi/00-INDEX index 9b0787f965e..c2e18e10985 100644 --- a/Documentation/scsi/00-INDEX +++ b/Documentation/scsi/00-INDEX | |||
@@ -28,8 +28,6 @@ LICENSE.FlashPoint | |||
28 | - Licence of the Flashpoint driver | 28 | - Licence of the Flashpoint driver |
29 | LICENSE.qla2xxx | 29 | LICENSE.qla2xxx |
30 | - License for QLogic Linux Fibre Channel HBA Driver firmware. | 30 | - License for QLogic Linux Fibre Channel HBA Driver firmware. |
31 | LICENSE.qla4xxx | ||
32 | - License for QLogic Linux iSCSI HBA Driver. | ||
33 | Mylex.txt | 31 | Mylex.txt |
34 | - info on driver for Mylex adapters | 32 | - info on driver for Mylex adapters |
35 | NinjaSCSI.txt | 33 | NinjaSCSI.txt |
@@ -56,6 +54,8 @@ g_NCR5380.txt | |||
56 | - info on driver for NCR5380 and NCR53c400 based adapters | 54 | - info on driver for NCR5380 and NCR53c400 based adapters |
57 | hptiop.txt | 55 | hptiop.txt |
58 | - HIGHPOINT ROCKETRAID 3xxx RAID DRIVER | 56 | - HIGHPOINT ROCKETRAID 3xxx RAID DRIVER |
57 | ibmmca.txt | ||
58 | - info on driver for IBM adapters with MCA bus | ||
59 | in2000.txt | 59 | in2000.txt |
60 | - info on in2000 driver | 60 | - info on in2000 driver |
61 | libsas.txt | 61 | libsas.txt |
@@ -92,5 +92,3 @@ sym53c8xx_2.txt | |||
92 | - info on second generation driver for sym53c8xx based adapters | 92 | - info on second generation driver for sym53c8xx based adapters |
93 | tmscsim.txt | 93 | tmscsim.txt |
94 | - info on driver for AM53c974 based adapters | 94 | - info on driver for AM53c974 based adapters |
95 | ufs.txt | ||
96 | - info on Universal Flash Storage(UFS) and UFS host controller driver. | ||
diff --git a/Documentation/scsi/53c700.txt b/Documentation/scsi/53c700.txt index e31aceb6df1..0da681d497a 100644 --- a/Documentation/scsi/53c700.txt +++ b/Documentation/scsi/53c700.txt | |||
@@ -16,13 +16,32 @@ fill in to get the driver working. | |||
16 | Compile Time Flags | 16 | Compile Time Flags |
17 | ================== | 17 | ================== |
18 | 18 | ||
19 | A compile time flag is: | 19 | The driver may be either io mapped or memory mapped. This is |
20 | selectable by configuration flags: | ||
21 | |||
22 | CONFIG_53C700_MEM_MAPPED | ||
23 | |||
24 | define if the driver is memory mapped. | ||
25 | |||
26 | CONFIG_53C700_IO_MAPPED | ||
27 | |||
28 | define if the driver is to be io mapped. | ||
29 | |||
30 | One or other of the above flags *must* be defined. | ||
31 | |||
32 | Other flags are: | ||
20 | 33 | ||
21 | CONFIG_53C700_LE_ON_BE | 34 | CONFIG_53C700_LE_ON_BE |
22 | 35 | ||
23 | define if the chipset must be supported in little endian mode on a big | 36 | define if the chipset must be supported in little endian mode on a big |
24 | endian architecture (used for the 700 on parisc). | 37 | endian architecture (used for the 700 on parisc). |
25 | 38 | ||
39 | CONFIG_53C700_USE_CONSISTENT | ||
40 | |||
41 | allocate consistent memory (should only be used if your architecture | ||
42 | has a mixture of consistent and inconsistent memory). Fully | ||
43 | consistent or fully inconsistent architectures should not define this. | ||
44 | |||
26 | 45 | ||
27 | Using the Chip Core Driver | 46 | Using the Chip Core Driver |
28 | ========================== | 47 | ========================== |
diff --git a/Documentation/scsi/ChangeLog.lpfc b/Documentation/scsi/ChangeLog.lpfc index 2f6d595f95e..c56ec99d7b2 100644 --- a/Documentation/scsi/ChangeLog.lpfc +++ b/Documentation/scsi/ChangeLog.lpfc | |||
@@ -1718,7 +1718,7 @@ Changes from 20040319 to 20040326 | |||
1718 | * lpfc_els_timeout_handler() now uses system timer. | 1718 | * lpfc_els_timeout_handler() now uses system timer. |
1719 | * Further cleanup of #ifdef powerpc | 1719 | * Further cleanup of #ifdef powerpc |
1720 | * lpfc_scsi_timeout_handler() now uses system timer. | 1720 | * lpfc_scsi_timeout_handler() now uses system timer. |
1721 | * Replace common driver's own defines for endianness w/ Linux's | 1721 | * Replace common driver's own defines for endianess w/ Linux's |
1722 | __BIG_ENDIAN etc. | 1722 | __BIG_ENDIAN etc. |
1723 | * Added #ifdef IPFC for all IPFC specific code. | 1723 | * Added #ifdef IPFC for all IPFC specific code. |
1724 | * lpfc_disc_retry_rptlun() now uses system timer. | 1724 | * lpfc_disc_retry_rptlun() now uses system timer. |
diff --git a/Documentation/scsi/ChangeLog.megaraid_sas b/Documentation/scsi/ChangeLog.megaraid_sas index da03146c182..1b6e27ddb7f 100644 --- a/Documentation/scsi/ChangeLog.megaraid_sas +++ b/Documentation/scsi/ChangeLog.megaraid_sas | |||
@@ -1,59 +1,3 @@ | |||
1 | Release Date : Mon. Oct 1, 2012 17:00:00 PST 2012 - | ||
2 | (emaild-id:megaraidlinux@lsi.com) | ||
3 | Adam Radford | ||
4 | Current Version : 06.504.01.00-rc1 | ||
5 | Old Version : 00.00.06.18-rc1 | ||
6 | 1. Removed un-needed completion_lock spinlock calls. | ||
7 | 2. Add module param for configurable MSI-X vector count. | ||
8 | 3. Load io_request DataLength in bytes. | ||
9 | 4. Add array boundary check for SystemPD. | ||
10 | 5. Add SystemPD FastPath support. | ||
11 | 6. Remove duplicate code. | ||
12 | 7. Version, Changelog, Copyright update. | ||
13 | ------------------------------------------------------------------------------- | ||
14 | Release Date : Tue. Jun 17, 2012 17:00:00 PST 2012 - | ||
15 | (emaild-id:megaraidlinux@lsi.com) | ||
16 | Adam Radford/Kashyap Desai | ||
17 | Current Version : 00.00.06.18-rc1 | ||
18 | Old Version : 00.00.06.15-rc1 | ||
19 | 1. Fix Copyright dates. | ||
20 | 2. Add throttlequeuedepth module parameter. | ||
21 | 3. Add resetwaittime module parameter. | ||
22 | 4. Move poll_aen_lock initializer. | ||
23 | ------------------------------------------------------------------------------- | ||
24 | Release Date : Mon. Mar 19, 2012 17:00:00 PST 2012 - | ||
25 | (emaild-id:megaraidlinux@lsi.com) | ||
26 | Adam Radford | ||
27 | Current Version : 00.00.06.15-rc1 | ||
28 | Old Version : 00.00.06.14-rc1 | ||
29 | 1. Optimize HostMSIxVectors setting. | ||
30 | 2. Add fpRead/WriteCapable, fpRead/WriteAcrossStripe checks. | ||
31 | ------------------------------------------------------------------------------- | ||
32 | Release Date : Fri. Jan 6, 2012 17:00:00 PST 2010 - | ||
33 | (emaild-id:megaraidlinux@lsi.com) | ||
34 | Adam Radford | ||
35 | Current Version : 00.00.06.14-rc1 | ||
36 | Old Version : 00.00.06.12-rc1 | ||
37 | 1. Fix reglockFlags for degraded raid5/6 for MR 9360/9380. | ||
38 | 2. Mask off flags in ioctl path to prevent memory scribble with older | ||
39 | MegaCLI versions. | ||
40 | 3. Remove poll_mode_io module paramater, sysfs node, and associated code. | ||
41 | ------------------------------------------------------------------------------- | ||
42 | Release Date : Wed. Oct 5, 2011 17:00:00 PST 2010 - | ||
43 | (emaild-id:megaraidlinux@lsi.com) | ||
44 | Adam Radford | ||
45 | Current Version : 00.00.06.12-rc1 | ||
46 | Old Version : 00.00.05.40-rc1 | ||
47 | 1. Continue booting immediately if FW in FAULT at driver load time. | ||
48 | 2. Increase default cmds per lun to 256. | ||
49 | 3. Fix mismatch in megasas_reset_fusion() mutex lock-unlock. | ||
50 | 4. Remove some un-necessary code. | ||
51 | 5. Clear state change interrupts for Fusion/Invader. | ||
52 | 6. Clear FUSION_IN_RESET before enabling interrupts. | ||
53 | 7. Add support for MegaRAID 9360/9380 12GB/s controllers. | ||
54 | 8. Add multiple MSI-X vector/multiple reply queue support. | ||
55 | 9. Add driver workaround for PERC5/1068 kdump kernel panic. | ||
56 | ------------------------------------------------------------------------------- | ||
57 | Release Date : Tue. Jul 26, 2011 17:00:00 PST 2010 - | 1 | Release Date : Tue. Jul 26, 2011 17:00:00 PST 2010 - |
58 | (emaild-id:megaraidlinux@lsi.com) | 2 | (emaild-id:megaraidlinux@lsi.com) |
59 | Adam Radford | 3 | Adam Radford |
@@ -541,7 +485,7 @@ i. Support for 1078 type (ppc IOP) controller, device id : 0x60 added. | |||
541 | 3 Older Version : 00.00.02.02 | 485 | 3 Older Version : 00.00.02.02 |
542 | i. Register 16 byte CDB capability with scsi midlayer | 486 | i. Register 16 byte CDB capability with scsi midlayer |
543 | 487 | ||
544 | "This patch properly registers the 16 byte command length capability of the | 488 | "Ths patch properly registers the 16 byte command length capability of the |
545 | megaraid_sas controlled hardware with the scsi midlayer. All megaraid_sas | 489 | megaraid_sas controlled hardware with the scsi midlayer. All megaraid_sas |
546 | hardware supports 16 byte CDB's." | 490 | hardware supports 16 byte CDB's." |
547 | 491 | ||
diff --git a/Documentation/scsi/LICENSE.qla2xxx b/Documentation/scsi/LICENSE.qla2xxx index 27a91cf43d6..19e7cd4bba6 100644 --- a/Documentation/scsi/LICENSE.qla2xxx +++ b/Documentation/scsi/LICENSE.qla2xxx | |||
@@ -1,11 +1,48 @@ | |||
1 | Copyright (c) 2003-2012 QLogic Corporation | 1 | Copyright (c) 2003-2011 QLogic Corporation |
2 | QLogic Linux FC-FCoE Driver | 2 | QLogic Linux/ESX Fibre Channel HBA Driver |
3 | 3 | ||
4 | This program includes a device driver for Linux 3.x. | 4 | This program includes a device driver for Linux 2.6/ESX that may be |
5 | distributed with QLogic hardware specific firmware binary file. | ||
5 | You may modify and redistribute the device driver code under the | 6 | You may modify and redistribute the device driver code under the |
6 | GNU General Public License (a copy of which is attached hereto as | 7 | GNU General Public License (a copy of which is attached hereto as |
7 | Exhibit A) published by the Free Software Foundation (version 2). | 8 | Exhibit A) published by the Free Software Foundation (version 2). |
8 | 9 | ||
10 | You may redistribute the hardware specific firmware binary file | ||
11 | under the following terms: | ||
12 | |||
13 | 1. Redistribution of source code (only if applicable), | ||
14 | must retain the above copyright notice, this list of | ||
15 | conditions and the following disclaimer. | ||
16 | |||
17 | 2. Redistribution in binary form must reproduce the above | ||
18 | copyright notice, this list of conditions and the | ||
19 | following disclaimer in the documentation and/or other | ||
20 | materials provided with the distribution. | ||
21 | |||
22 | 3. The name of QLogic Corporation may not be used to | ||
23 | endorse or promote products derived from this software | ||
24 | without specific prior written permission | ||
25 | |||
26 | REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE, | ||
27 | THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY | ||
28 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
29 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | ||
30 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR | ||
31 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
32 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | ||
33 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
35 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
36 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
37 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
38 | POSSIBILITY OF SUCH DAMAGE. | ||
39 | |||
40 | USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT | ||
41 | CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR | ||
42 | OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT, | ||
43 | TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN | ||
44 | ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN | ||
45 | COMBINATION WITH THIS PROGRAM. | ||
9 | 46 | ||
10 | 47 | ||
11 | EXHIBIT A | 48 | EXHIBIT A |
diff --git a/Documentation/scsi/LICENSE.qla4xxx b/Documentation/scsi/LICENSE.qla4xxx deleted file mode 100644 index 78c169f0d7c..00000000000 --- a/Documentation/scsi/LICENSE.qla4xxx +++ /dev/null | |||
@@ -1,289 +0,0 @@ | |||
1 | Copyright (c) 2003-2012 QLogic Corporation | ||
2 | QLogic Linux iSCSI Driver | ||
3 | |||
4 | This program includes a device driver for Linux 3.x. | ||
5 | You may modify and redistribute the device driver code under the | ||
6 | GNU General Public License (a copy of which is attached hereto as | ||
7 | Exhibit A) published by the Free Software Foundation (version 2). | ||
8 | |||
9 | |||
10 | EXHIBIT A | ||
11 | |||
12 | GNU GENERAL PUBLIC LICENSE | ||
13 | Version 2, June 1991 | ||
14 | |||
15 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | ||
16 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
17 | Everyone is permitted to copy and distribute verbatim copies | ||
18 | of this license document, but changing it is not allowed. | ||
19 | |||
20 | Preamble | ||
21 | |||
22 | The licenses for most software are designed to take away your | ||
23 | freedom to share and change it. By contrast, the GNU General Public | ||
24 | License is intended to guarantee your freedom to share and change free | ||
25 | software--to make sure the software is free for all its users. This | ||
26 | General Public License applies to most of the Free Software | ||
27 | Foundation's software and to any other program whose authors commit to | ||
28 | using it. (Some other Free Software Foundation software is covered by | ||
29 | the GNU Lesser General Public License instead.) You can apply it to | ||
30 | your programs, too. | ||
31 | |||
32 | When we speak of free software, we are referring to freedom, not | ||
33 | price. Our General Public Licenses are designed to make sure that you | ||
34 | have the freedom to distribute copies of free software (and charge for | ||
35 | this service if you wish), that you receive source code or can get it | ||
36 | if you want it, that you can change the software or use pieces of it | ||
37 | in new free programs; and that you know you can do these things. | ||
38 | |||
39 | To protect your rights, we need to make restrictions that forbid | ||
40 | anyone to deny you these rights or to ask you to surrender the rights. | ||
41 | These restrictions translate to certain responsibilities for you if you | ||
42 | distribute copies of the software, or if you modify it. | ||
43 | |||
44 | For example, if you distribute copies of such a program, whether | ||
45 | gratis or for a fee, you must give the recipients all the rights that | ||
46 | you have. You must make sure that they, too, receive or can get the | ||
47 | source code. And you must show them these terms so they know their | ||
48 | rights. | ||
49 | |||
50 | We protect your rights with two steps: (1) copyright the software, and | ||
51 | (2) offer you this license which gives you legal permission to copy, | ||
52 | distribute and/or modify the software. | ||
53 | |||
54 | Also, for each author's protection and ours, we want to make certain | ||
55 | that everyone understands that there is no warranty for this free | ||
56 | software. If the software is modified by someone else and passed on, we | ||
57 | want its recipients to know that what they have is not the original, so | ||
58 | that any problems introduced by others will not reflect on the original | ||
59 | authors' reputations. | ||
60 | |||
61 | Finally, any free program is threatened constantly by software | ||
62 | patents. We wish to avoid the danger that redistributors of a free | ||
63 | program will individually obtain patent licenses, in effect making the | ||
64 | program proprietary. To prevent this, we have made it clear that any | ||
65 | patent must be licensed for everyone's free use or not licensed at all. | ||
66 | |||
67 | The precise terms and conditions for copying, distribution and | ||
68 | modification follow. | ||
69 | |||
70 | GNU GENERAL PUBLIC LICENSE | ||
71 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
72 | |||
73 | 0. This License applies to any program or other work which contains | ||
74 | a notice placed by the copyright holder saying it may be distributed | ||
75 | under the terms of this General Public License. The "Program", below, | ||
76 | refers to any such program or work, and a "work based on the Program" | ||
77 | means either the Program or any derivative work under copyright law: | ||
78 | that is to say, a work containing the Program or a portion of it, | ||
79 | either verbatim or with modifications and/or translated into another | ||
80 | language. (Hereinafter, translation is included without limitation in | ||
81 | the term "modification".) Each licensee is addressed as "you". | ||
82 | |||
83 | Activities other than copying, distribution and modification are not | ||
84 | covered by this License; they are outside its scope. The act of | ||
85 | running the Program is not restricted, and the output from the Program | ||
86 | is covered only if its contents constitute a work based on the | ||
87 | Program (independent of having been made by running the Program). | ||
88 | Whether that is true depends on what the Program does. | ||
89 | |||
90 | 1. You may copy and distribute verbatim copies of the Program's | ||
91 | source code as you receive it, in any medium, provided that you | ||
92 | conspicuously and appropriately publish on each copy an appropriate | ||
93 | copyright notice and disclaimer of warranty; keep intact all the | ||
94 | notices that refer to this License and to the absence of any warranty; | ||
95 | and give any other recipients of the Program a copy of this License | ||
96 | along with the Program. | ||
97 | |||
98 | You may charge a fee for the physical act of transferring a copy, and | ||
99 | you may at your option offer warranty protection in exchange for a fee. | ||
100 | |||
101 | 2. You may modify your copy or copies of the Program or any portion | ||
102 | of it, thus forming a work based on the Program, and copy and | ||
103 | distribute such modifications or work under the terms of Section 1 | ||
104 | above, provided that you also meet all of these conditions: | ||
105 | |||
106 | a) You must cause the modified files to carry prominent notices | ||
107 | stating that you changed the files and the date of any change. | ||
108 | |||
109 | b) You must cause any work that you distribute or publish, that in | ||
110 | whole or in part contains or is derived from the Program or any | ||
111 | part thereof, to be licensed as a whole at no charge to all third | ||
112 | parties under the terms of this License. | ||
113 | |||
114 | c) If the modified program normally reads commands interactively | ||
115 | when run, you must cause it, when started running for such | ||
116 | interactive use in the most ordinary way, to print or display an | ||
117 | announcement including an appropriate copyright notice and a | ||
118 | notice that there is no warranty (or else, saying that you provide | ||
119 | a warranty) and that users may redistribute the program under | ||
120 | these conditions, and telling the user how to view a copy of this | ||
121 | License. (Exception: if the Program itself is interactive but | ||
122 | does not normally print such an announcement, your work based on | ||
123 | the Program is not required to print an announcement.) | ||
124 | |||
125 | These requirements apply to the modified work as a whole. If | ||
126 | identifiable sections of that work are not derived from the Program, | ||
127 | and can be reasonably considered independent and separate works in | ||
128 | themselves, then this License, and its terms, do not apply to those | ||
129 | sections when you distribute them as separate works. But when you | ||
130 | distribute the same sections as part of a whole which is a work based | ||
131 | on the Program, the distribution of the whole must be on the terms of | ||
132 | this License, whose permissions for other licensees extend to the | ||
133 | entire whole, and thus to each and every part regardless of who wrote it. | ||
134 | |||
135 | Thus, it is not the intent of this section to claim rights or contest | ||
136 | your rights to work written entirely by you; rather, the intent is to | ||
137 | exercise the right to control the distribution of derivative or | ||
138 | collective works based on the Program. | ||
139 | |||
140 | In addition, mere aggregation of another work not based on the Program | ||
141 | with the Program (or with a work based on the Program) on a volume of | ||
142 | a storage or distribution medium does not bring the other work under | ||
143 | the scope of this License. | ||
144 | |||
145 | 3. You may copy and distribute the Program (or a work based on it, | ||
146 | under Section 2) in object code or executable form under the terms of | ||
147 | Sections 1 and 2 above provided that you also do one of the following: | ||
148 | |||
149 | a) Accompany it with the complete corresponding machine-readable | ||
150 | source code, which must be distributed under the terms of Sections | ||
151 | 1 and 2 above on a medium customarily used for software interchange; or, | ||
152 | |||
153 | b) Accompany it with a written offer, valid for at least three | ||
154 | years, to give any third party, for a charge no more than your | ||
155 | cost of physically performing source distribution, a complete | ||
156 | machine-readable copy of the corresponding source code, to be | ||
157 | distributed under the terms of Sections 1 and 2 above on a medium | ||
158 | customarily used for software interchange; or, | ||
159 | |||
160 | c) Accompany it with the information you received as to the offer | ||
161 | to distribute corresponding source code. (This alternative is | ||
162 | allowed only for noncommercial distribution and only if you | ||
163 | received the program in object code or executable form with such | ||
164 | an offer, in accord with Subsection b above.) | ||
165 | |||
166 | The source code for a work means the preferred form of the work for | ||
167 | making modifications to it. For an executable work, complete source | ||
168 | code means all the source code for all modules it contains, plus any | ||
169 | associated interface definition files, plus the scripts used to | ||
170 | control compilation and installation of the executable. However, as a | ||
171 | special exception, the source code distributed need not include | ||
172 | anything that is normally distributed (in either source or binary | ||
173 | form) with the major components (compiler, kernel, and so on) of the | ||
174 | operating system on which the executable runs, unless that component | ||
175 | itself accompanies the executable. | ||
176 | |||
177 | If distribution of executable or object code is made by offering | ||
178 | access to copy from a designated place, then offering equivalent | ||
179 | access to copy the source code from the same place counts as | ||
180 | distribution of the source code, even though third parties are not | ||
181 | compelled to copy the source along with the object code. | ||
182 | |||
183 | 4. You may not copy, modify, sublicense, or distribute the Program | ||
184 | except as expressly provided under this License. Any attempt | ||
185 | otherwise to copy, modify, sublicense or distribute the Program is | ||
186 | void, and will automatically terminate your rights under this License. | ||
187 | However, parties who have received copies, or rights, from you under | ||
188 | this License will not have their licenses terminated so long as such | ||
189 | parties remain in full compliance. | ||
190 | |||
191 | 5. You are not required to accept this License, since you have not | ||
192 | signed it. However, nothing else grants you permission to modify or | ||
193 | distribute the Program or its derivative works. These actions are | ||
194 | prohibited by law if you do not accept this License. Therefore, by | ||
195 | modifying or distributing the Program (or any work based on the | ||
196 | Program), you indicate your acceptance of this License to do so, and | ||
197 | all its terms and conditions for copying, distributing or modifying | ||
198 | the Program or works based on it. | ||
199 | |||
200 | 6. Each time you redistribute the Program (or any work based on the | ||
201 | Program), the recipient automatically receives a license from the | ||
202 | original licensor to copy, distribute or modify the Program subject to | ||
203 | these terms and conditions. You may not impose any further | ||
204 | restrictions on the recipients' exercise of the rights granted herein. | ||
205 | You are not responsible for enforcing compliance by third parties to | ||
206 | this License. | ||
207 | |||
208 | 7. If, as a consequence of a court judgment or allegation of patent | ||
209 | infringement or for any other reason (not limited to patent issues), | ||
210 | conditions are imposed on you (whether by court order, agreement or | ||
211 | otherwise) that contradict the conditions of this License, they do not | ||
212 | excuse you from the conditions of this License. If you cannot | ||
213 | distribute so as to satisfy simultaneously your obligations under this | ||
214 | License and any other pertinent obligations, then as a consequence you | ||
215 | may not distribute the Program at all. For example, if a patent | ||
216 | license would not permit royalty-free redistribution of the Program by | ||
217 | all those who receive copies directly or indirectly through you, then | ||
218 | the only way you could satisfy both it and this License would be to | ||
219 | refrain entirely from distribution of the Program. | ||
220 | |||
221 | If any portion of this section is held invalid or unenforceable under | ||
222 | any particular circumstance, the balance of the section is intended to | ||
223 | apply and the section as a whole is intended to apply in other | ||
224 | circumstances. | ||
225 | |||
226 | It is not the purpose of this section to induce you to infringe any | ||
227 | patents or other property right claims or to contest validity of any | ||
228 | such claims; this section has the sole purpose of protecting the | ||
229 | integrity of the free software distribution system, which is | ||
230 | implemented by public license practices. Many people have made | ||
231 | generous contributions to the wide range of software distributed | ||
232 | through that system in reliance on consistent application of that | ||
233 | system; it is up to the author/donor to decide if he or she is willing | ||
234 | to distribute software through any other system and a licensee cannot | ||
235 | impose that choice. | ||
236 | |||
237 | This section is intended to make thoroughly clear what is believed to | ||
238 | be a consequence of the rest of this License. | ||
239 | |||
240 | 8. If the distribution and/or use of the Program is restricted in | ||
241 | certain countries either by patents or by copyrighted interfaces, the | ||
242 | original copyright holder who places the Program under this License | ||
243 | may add an explicit geographical distribution limitation excluding | ||
244 | those countries, so that distribution is permitted only in or among | ||
245 | countries not thus excluded. In such case, this License incorporates | ||
246 | the limitation as if written in the body of this License. | ||
247 | |||
248 | 9. The Free Software Foundation may publish revised and/or new versions | ||
249 | of the General Public License from time to time. Such new versions will | ||
250 | be similar in spirit to the present version, but may differ in detail to | ||
251 | address new problems or concerns. | ||
252 | |||
253 | Each version is given a distinguishing version number. If the Program | ||
254 | specifies a version number of this License which applies to it and "any | ||
255 | later version", you have the option of following the terms and conditions | ||
256 | either of that version or of any later version published by the Free | ||
257 | Software Foundation. If the Program does not specify a version number of | ||
258 | this License, you may choose any version ever published by the Free Software | ||
259 | Foundation. | ||
260 | |||
261 | 10. If you wish to incorporate parts of the Program into other free | ||
262 | programs whose distribution conditions are different, write to the author | ||
263 | to ask for permission. For software which is copyrighted by the Free | ||
264 | Software Foundation, write to the Free Software Foundation; we sometimes | ||
265 | make exceptions for this. Our decision will be guided by the two goals | ||
266 | of preserving the free status of all derivatives of our free software and | ||
267 | of promoting the sharing and reuse of software generally. | ||
268 | |||
269 | NO WARRANTY | ||
270 | |||
271 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||
272 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | ||
273 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||
274 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||
275 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
276 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | ||
277 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | ||
278 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||
279 | REPAIR OR CORRECTION. | ||
280 | |||
281 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||
282 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||
283 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||
284 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||
285 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||
286 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||
287 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||
288 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||
289 | POSSIBILITY OF SUCH DAMAGES. | ||
diff --git a/Documentation/scsi/aic79xx.txt b/Documentation/scsi/aic79xx.txt index e2d3273000d..64ac7093c87 100644 --- a/Documentation/scsi/aic79xx.txt +++ b/Documentation/scsi/aic79xx.txt | |||
@@ -215,7 +215,7 @@ The following information is available in this file: | |||
215 | INCORRECTLY CAN RENDER YOUR SYSTEM INOPERABLE. | 215 | INCORRECTLY CAN RENDER YOUR SYSTEM INOPERABLE. |
216 | USE THEM WITH CAUTION. | 216 | USE THEM WITH CAUTION. |
217 | 217 | ||
218 | Put a .conf file in the /etc/modprobe.d/ directory and add/edit a | 218 | Edit the file "modprobe.conf" in the directory /etc and add/edit a |
219 | line containing 'options aic79xx aic79xx=[command[,command...]]' where | 219 | line containing 'options aic79xx aic79xx=[command[,command...]]' where |
220 | 'command' is one or more of the following: | 220 | 'command' is one or more of the following: |
221 | ----------------------------------------------------------------- | 221 | ----------------------------------------------------------------- |
diff --git a/Documentation/scsi/aic7xxx.txt b/Documentation/scsi/aic7xxx.txt index 7c5d0223d44..18f8d1905e6 100644 --- a/Documentation/scsi/aic7xxx.txt +++ b/Documentation/scsi/aic7xxx.txt | |||
@@ -190,7 +190,7 @@ The following information is available in this file: | |||
190 | INCORRECTLY CAN RENDER YOUR SYSTEM INOPERABLE. | 190 | INCORRECTLY CAN RENDER YOUR SYSTEM INOPERABLE. |
191 | USE THEM WITH CAUTION. | 191 | USE THEM WITH CAUTION. |
192 | 192 | ||
193 | Put a .conf file in the /etc/modprobe.d directory and add/edit a | 193 | Edit the file "modprobe.conf" in the directory /etc and add/edit a |
194 | line containing 'options aic7xxx aic7xxx=[command[,command...]]' where | 194 | line containing 'options aic7xxx aic7xxx=[command[,command...]]' where |
195 | 'command' is one or more of the following: | 195 | 'command' is one or more of the following: |
196 | ----------------------------------------------------------------- | 196 | ----------------------------------------------------------------- |
diff --git a/Documentation/scsi/aic7xxx_old.txt b/Documentation/scsi/aic7xxx_old.txt index ecfc474f36a..7bd210ab45a 100644 --- a/Documentation/scsi/aic7xxx_old.txt +++ b/Documentation/scsi/aic7xxx_old.txt | |||
@@ -444,7 +444,7 @@ linux-1.1.x and fairly stable since linux-1.2.x, and are also in FreeBSD | |||
444 | Kernel Compile options | 444 | Kernel Compile options |
445 | ------------------------------ | 445 | ------------------------------ |
446 | The various kernel compile time options for this driver are now fairly | 446 | The various kernel compile time options for this driver are now fairly |
447 | well documented in the file drivers/scsi/Kconfig. In order to | 447 | well documented in the file Documentation/Configure.help. In order to |
448 | see this documentation, you need to use one of the advanced configuration | 448 | see this documentation, you need to use one of the advanced configuration |
449 | programs (menuconfig and xconfig). If you are using the "make menuconfig" | 449 | programs (menuconfig and xconfig). If you are using the "make menuconfig" |
450 | method of configuring your kernel, then you would simply highlight the | 450 | method of configuring your kernel, then you would simply highlight the |
diff --git a/Documentation/scsi/bfa.txt b/Documentation/scsi/bfa.txt deleted file mode 100644 index f2d6e9d1791..00000000000 --- a/Documentation/scsi/bfa.txt +++ /dev/null | |||
@@ -1,82 +0,0 @@ | |||
1 | Linux driver for Brocade FC/FCOE adapters | ||
2 | |||
3 | |||
4 | Supported Hardware | ||
5 | ------------------ | ||
6 | |||
7 | bfa 3.0.2.2 driver supports all Brocade FC/FCOE adapters. Below is a list of | ||
8 | adapter models with corresponding PCIIDs. | ||
9 | |||
10 | PCIID Model | ||
11 | |||
12 | 1657:0013:1657:0014 425 4Gbps dual port FC HBA | ||
13 | 1657:0013:1657:0014 825 8Gbps PCIe dual port FC HBA | ||
14 | 1657:0013:103c:1742 HP 82B 8Gbps PCIedual port FC HBA | ||
15 | 1657:0013:103c:1744 HP 42B 4Gbps dual port FC HBA | ||
16 | 1657:0017:1657:0014 415 4Gbps single port FC HBA | ||
17 | 1657:0017:1657:0014 815 8Gbps single port FC HBA | ||
18 | 1657:0017:103c:1741 HP 41B 4Gbps single port FC HBA | ||
19 | 1657:0017:103c 1743 HP 81B 8Gbps single port FC HBA | ||
20 | 1657:0021:103c:1779 804 8Gbps FC HBA for HP Bladesystem c-class | ||
21 | |||
22 | 1657:0014:1657:0014 1010 10Gbps single port CNA - FCOE | ||
23 | 1657:0014:1657:0014 1020 10Gbps dual port CNA - FCOE | ||
24 | 1657:0014:1657:0014 1007 10Gbps dual port CNA - FCOE | ||
25 | 1657:0014:1657:0014 1741 10Gbps dual port CNA - FCOE | ||
26 | |||
27 | 1657:0022:1657:0024 1860 16Gbps FC HBA | ||
28 | 1657:0022:1657:0022 1860 10Gbps CNA - FCOE | ||
29 | |||
30 | |||
31 | Firmware download | ||
32 | ----------------- | ||
33 | |||
34 | The latest Firmware package for 3.0.2.2 bfa driver can be found at: | ||
35 | |||
36 | http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page | ||
37 | |||
38 | and then click following respective util package link: | ||
39 | |||
40 | Version Link | ||
41 | |||
42 | v3.0.0.0 Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2 | ||
43 | |||
44 | |||
45 | Configuration & Management utility download | ||
46 | ------------------------------------------- | ||
47 | |||
48 | The latest driver configuration & management utility for 3.0.2.2 bfa driver can | ||
49 | be found at: | ||
50 | |||
51 | http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page | ||
52 | |||
53 | and then click following respective util pacakge link | ||
54 | |||
55 | Version Link | ||
56 | |||
57 | v3.0.2.0 Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2 | ||
58 | |||
59 | |||
60 | Documentation | ||
61 | ------------- | ||
62 | |||
63 | The latest Administration's Guide, Installation and Reference Manual, | ||
64 | Troubleshooting Guide, and Release Notes for the corresponding out-of-box | ||
65 | driver can be found at: | ||
66 | |||
67 | http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page | ||
68 | |||
69 | and use the following inbox and out-of-box driver version mapping to find | ||
70 | the corresponding documentation: | ||
71 | |||
72 | Inbox Version Out-of-box Version | ||
73 | |||
74 | v3.0.2.2 v3.0.0.0 | ||
75 | |||
76 | |||
77 | Support | ||
78 | ------- | ||
79 | |||
80 | For general product and support info, go to the Brocade website at: | ||
81 | |||
82 | http://www.brocade.com/services-support/index.page | ||
diff --git a/Documentation/scsi/bnx2fc.txt b/Documentation/scsi/bnx2fc.txt deleted file mode 100644 index 80823556d62..00000000000 --- a/Documentation/scsi/bnx2fc.txt +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | Operating FCoE using bnx2fc | ||
2 | =========================== | ||
3 | Broadcom FCoE offload through bnx2fc is full stateful hardware offload that | ||
4 | cooperates with all interfaces provided by the Linux ecosystem for FC/FCoE and | ||
5 | SCSI controllers. As such, FCoE functionality, once enabled is largely | ||
6 | transparent. Devices discovered on the SAN will be registered and unregistered | ||
7 | automatically with the upper storage layers. | ||
8 | |||
9 | Despite the fact that the Broadcom's FCoE offload is fully offloaded, it does | ||
10 | depend on the state of the network interfaces to operate. As such, the network | ||
11 | interface (e.g. eth0) associated with the FCoE offload initiator must be 'up'. | ||
12 | It is recommended that the network interfaces be configured to be brought up | ||
13 | automatically at boot time. | ||
14 | |||
15 | Furthermore, the Broadcom FCoE offload solution creates VLAN interfaces to | ||
16 | support the VLANs that have been discovered for FCoE operation (e.g. | ||
17 | eth0.1001-fcoe). Do not delete or disable these interfaces or FCoE operation | ||
18 | will be disrupted. | ||
19 | |||
20 | Driver Usage Model: | ||
21 | =================== | ||
22 | |||
23 | 1. Ensure that fcoe-utils package is installed. | ||
24 | |||
25 | 2. Configure the interfaces on which bnx2fc driver has to operate on. | ||
26 | Here are the steps to configure: | ||
27 | a. cd /etc/fcoe | ||
28 | b. copy cfg-ethx to cfg-eth5 if FCoE has to be enabled on eth5. | ||
29 | c. Repeat this for all the interfaces where FCoE has to be enabled. | ||
30 | d. Edit all the cfg-eth files to set "no" for DCB_REQUIRED** field, and | ||
31 | "yes" for AUTO_VLAN. | ||
32 | e. Other configuration parameters should be left as default | ||
33 | |||
34 | 3. Ensure that "bnx2fc" is in SUPPORTED_DRIVERS list in /etc/fcoe/config. | ||
35 | |||
36 | 4. Start fcoe service. (service fcoe start). If Broadcom devices are present in | ||
37 | the system, bnx2fc driver would automatically claim the interfaces, starts vlan | ||
38 | discovery and log into the targets. | ||
39 | |||
40 | 5. "Symbolic Name" in 'fcoeadm -i' output would display if bnx2fc has claimed | ||
41 | the interface. | ||
42 | Eg: | ||
43 | [root@bh2 ~]# fcoeadm -i | ||
44 | Description: NetXtreme II BCM57712 10 Gigabit Ethernet | ||
45 | Revision: 01 | ||
46 | Manufacturer: Broadcom Corporation | ||
47 | Serial Number: 0010186FD558 | ||
48 | Driver: bnx2x 1.70.00-0 | ||
49 | Number of Ports: 2 | ||
50 | |||
51 | Symbolic Name: bnx2fc v1.0.5 over eth5.4 | ||
52 | OS Device Name: host11 | ||
53 | Node Name: 0x10000010186FD559 | ||
54 | Port Name: 0x20000010186FD559 | ||
55 | FabricName: 0x2001000DECB3B681 | ||
56 | Speed: 10 Gbit | ||
57 | Supported Speed: 10 Gbit | ||
58 | MaxFrameSize: 2048 | ||
59 | FC-ID (Port ID): 0x0F0377 | ||
60 | State: Online | ||
61 | |||
62 | 6. Verify the vlan discovery is performed by running ifconfig and notice | ||
63 | <INTERFACE>.<VLAN>-fcoe interfaces are automatically created. | ||
64 | |||
65 | Refer to fcoeadm manpage for more information on fcoeadm operations to | ||
66 | create/destroy interfaces or to display lun/target information. | ||
67 | |||
68 | NOTE: | ||
69 | ==== | ||
70 | ** Broadcom FCoE capable devices implement a DCBX/LLDP client on-chip. Only one | ||
71 | LLDP client is allowed per interface. For proper operation all host software | ||
72 | based DCBX/LLDP clients (e.g. lldpad) must be disabled. To disable lldpad on a | ||
73 | given interface, run the following command: | ||
74 | |||
75 | lldptool set-lldp -i <interface_name> adminStatus=disabled | ||
diff --git a/Documentation/scsi/hptiop.txt b/Documentation/scsi/hptiop.txt index 4a4f47e759c..9605179711f 100644 --- a/Documentation/scsi/hptiop.txt +++ b/Documentation/scsi/hptiop.txt | |||
@@ -37,7 +37,7 @@ For Intel IOP based adapters, the controller IOP is accessed via PCI BAR0: | |||
37 | 0x40 Inbound Queue Port | 37 | 0x40 Inbound Queue Port |
38 | 0x44 Outbound Queue Port | 38 | 0x44 Outbound Queue Port |
39 | 39 | ||
40 | For Marvell not Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1: | 40 | For Marvell IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1: |
41 | 41 | ||
42 | BAR0 offset Register | 42 | BAR0 offset Register |
43 | 0x20400 Inbound Doorbell Register | 43 | 0x20400 Inbound Doorbell Register |
@@ -55,31 +55,9 @@ For Marvell not Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BA | |||
55 | 0x40-0x1040 Inbound Queue | 55 | 0x40-0x1040 Inbound Queue |
56 | 0x1040-0x2040 Outbound Queue | 56 | 0x1040-0x2040 Outbound Queue |
57 | 57 | ||
58 | For Marvell Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1: | ||
59 | 58 | ||
60 | BAR0 offset Register | 59 | I/O Request Workflow |
61 | 0x0 IOP configuration information. | 60 | ---------------------- |
62 | |||
63 | BAR1 offset Register | ||
64 | 0x4000 Inbound List Base Address Low | ||
65 | 0x4004 Inbound List Base Address High | ||
66 | 0x4018 Inbound List Write Pointer | ||
67 | 0x402C Inbound List Configuration and Control | ||
68 | 0x4050 Outbound List Base Address Low | ||
69 | 0x4054 Outbound List Base Address High | ||
70 | 0x4058 Outbound List Copy Pointer Shadow Base Address Low | ||
71 | 0x405C Outbound List Copy Pointer Shadow Base Address High | ||
72 | 0x4088 Outbound List Interrupt Cause | ||
73 | 0x408C Outbound List Interrupt Enable | ||
74 | 0x1020C PCIe Function 0 Interrupt Enable | ||
75 | 0x10400 PCIe Function 0 to CPU Message A | ||
76 | 0x10420 CPU to PCIe Function 0 Message A | ||
77 | 0x10480 CPU to PCIe Function 0 Doorbell | ||
78 | 0x10484 CPU to PCIe Function 0 Doorbell Enable | ||
79 | |||
80 | |||
81 | I/O Request Workflow of Not Marvell Frey | ||
82 | ------------------------------------------ | ||
83 | 61 | ||
84 | All queued requests are handled via inbound/outbound queue port. | 62 | All queued requests are handled via inbound/outbound queue port. |
85 | A request packet can be allocated in either IOP or host memory. | 63 | A request packet can be allocated in either IOP or host memory. |
@@ -123,45 +101,6 @@ register 0. An outbound message with the same value indicates the completion | |||
123 | of an inbound message. | 101 | of an inbound message. |
124 | 102 | ||
125 | 103 | ||
126 | I/O Request Workflow of Marvell Frey | ||
127 | -------------------------------------- | ||
128 | |||
129 | All queued requests are handled via inbound/outbound list. | ||
130 | |||
131 | To send a request to the controller: | ||
132 | |||
133 | - Allocate a free request in host DMA coherent memory. | ||
134 | |||
135 | Requests allocated in host memory must be aligned on 32-bytes boundary. | ||
136 | |||
137 | - Fill the request with index of the request in the flag. | ||
138 | |||
139 | Fill a free inbound list unit with the physical address and the size of | ||
140 | the request. | ||
141 | |||
142 | Set up the inbound list write pointer with the index of previous unit, | ||
143 | round to 0 if the index reaches the supported count of requests. | ||
144 | |||
145 | - Post the inbound list writer pointer to IOP. | ||
146 | |||
147 | - The IOP process the request. When the request is completed, the flag of | ||
148 | the request with or-ed IOPMU_QUEUE_MASK_HOST_BITS will be put into a | ||
149 | free outbound list unit and the index of the outbound list unit will be | ||
150 | put into the copy pointer shadow register. An outbound interrupt will be | ||
151 | generated. | ||
152 | |||
153 | - The host read the outbound list copy pointer shadow register and compare | ||
154 | with previous saved read ponter N. If they are different, the host will | ||
155 | read the (N+1)th outbound list unit. | ||
156 | |||
157 | The host get the index of the request from the (N+1)th outbound list | ||
158 | unit and complete the request. | ||
159 | |||
160 | Non-queued requests (reset communication/reset/flush etc) can be sent via PCIe | ||
161 | Function 0 to CPU Message A register. The CPU to PCIe Function 0 Message register | ||
162 | with the same value indicates the completion of message. | ||
163 | |||
164 | |||
165 | User-level Interface | 104 | User-level Interface |
166 | --------------------- | 105 | --------------------- |
167 | 106 | ||
@@ -173,7 +112,7 @@ The driver exposes following sysfs attributes: | |||
173 | 112 | ||
174 | 113 | ||
175 | ----------------------------------------------------------------------------- | 114 | ----------------------------------------------------------------------------- |
176 | Copyright (C) 2006-2012 HighPoint Technologies, Inc. All Rights Reserved. | 115 | Copyright (C) 2006-2009 HighPoint Technologies, Inc. All Rights Reserved. |
177 | 116 | ||
178 | This file is distributed in the hope that it will be useful, | 117 | This file is distributed in the hope that it will be useful, |
179 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 118 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
diff --git a/Documentation/scsi/libsas.txt b/Documentation/scsi/libsas.txt index 3cc9c7843e1..aa54f54c4a5 100644 --- a/Documentation/scsi/libsas.txt +++ b/Documentation/scsi/libsas.txt | |||
@@ -398,6 +398,21 @@ struct sas_task { | |||
398 | task_done -- callback when the task has finished execution | 398 | task_done -- callback when the task has finished execution |
399 | }; | 399 | }; |
400 | 400 | ||
401 | When an external entity, entity other than the LLDD or the | ||
402 | SAS Layer, wants to work with a struct domain_device, it | ||
403 | _must_ call kobject_get() when getting a handle on the | ||
404 | device and kobject_put() when it is done with the device. | ||
405 | |||
406 | This does two things: | ||
407 | A) implements proper kfree() for the device; | ||
408 | B) increments/decrements the kref for all players: | ||
409 | domain_device | ||
410 | all domain_device's ... (if past an expander) | ||
411 | port | ||
412 | host adapter | ||
413 | pci device | ||
414 | and up the ladder, etc. | ||
415 | |||
401 | DISCOVERY | 416 | DISCOVERY |
402 | --------- | 417 | --------- |
403 | 418 | ||
diff --git a/Documentation/scsi/osst.txt b/Documentation/scsi/osst.txt index 00c8ebb2fd1..ad86c6d1e89 100644 --- a/Documentation/scsi/osst.txt +++ b/Documentation/scsi/osst.txt | |||
@@ -66,7 +66,7 @@ recognized. | |||
66 | If you want to have the module autoloaded on access to /dev/osst, you may | 66 | If you want to have the module autoloaded on access to /dev/osst, you may |
67 | add something like | 67 | add something like |
68 | alias char-major-206 osst | 68 | alias char-major-206 osst |
69 | to a file under /etc/modprobe.d/ directory. | 69 | to your /etc/modprobe.conf (before 2.6: modules.conf). |
70 | 70 | ||
71 | You may find it convenient to create a symbolic link | 71 | You may find it convenient to create a symbolic link |
72 | ln -s nosst0 /dev/tape | 72 | ln -s nosst0 /dev/tape |
diff --git a/Documentation/scsi/scsi-generic.txt b/Documentation/scsi/scsi-generic.txt index 51be20a6a14..0a22ab8ea0c 100644 --- a/Documentation/scsi/scsi-generic.txt +++ b/Documentation/scsi/scsi-generic.txt | |||
@@ -62,7 +62,7 @@ There are two packages of sg utilities: | |||
62 | and earlier | 62 | and earlier |
63 | Both packages will work in the lk 2.4 series however sg3_utils offers more | 63 | Both packages will work in the lk 2.4 series however sg3_utils offers more |
64 | capabilities. They can be found at: http://sg.danny.cz/sg/sg3_utils.html and | 64 | capabilities. They can be found at: http://sg.danny.cz/sg/sg3_utils.html and |
65 | freecode.com | 65 | freshmeat.net |
66 | 66 | ||
67 | Another approach is to look at the applications that use the sg driver. | 67 | Another approach is to look at the applications that use the sg driver. |
68 | These include cdrecord, cdparanoia, SANE and cdrdao. | 68 | These include cdrecord, cdparanoia, SANE and cdrdao. |
diff --git a/Documentation/scsi/scsi-parameters.txt b/Documentation/scsi/scsi-parameters.txt index 2bfd6f6d2d3..21e5798526e 100644 --- a/Documentation/scsi/scsi-parameters.txt +++ b/Documentation/scsi/scsi-parameters.txt | |||
@@ -37,6 +37,9 @@ parameters may be changed at runtime by the command | |||
37 | 37 | ||
38 | eata= [HW,SCSI] | 38 | eata= [HW,SCSI] |
39 | 39 | ||
40 | fd_mcs= [HW,SCSI] | ||
41 | See header of drivers/scsi/fd_mcs.c. | ||
42 | |||
40 | fdomain= [HW,SCSI] | 43 | fdomain= [HW,SCSI] |
41 | See header of drivers/scsi/fdomain.c. | 44 | See header of drivers/scsi/fdomain.c. |
42 | 45 | ||
@@ -45,6 +48,9 @@ parameters may be changed at runtime by the command | |||
45 | 48 | ||
46 | gvp11= [HW,SCSI] | 49 | gvp11= [HW,SCSI] |
47 | 50 | ||
51 | ibmmcascsi= [HW,MCA,SCSI] IBM MicroChannel SCSI adapter | ||
52 | See Documentation/mca.txt. | ||
53 | |||
48 | in2000= [HW,SCSI] | 54 | in2000= [HW,SCSI] |
49 | See header of drivers/scsi/in2000.c. | 55 | See header of drivers/scsi/in2000.c. |
50 | 56 | ||
diff --git a/Documentation/scsi/scsi_mid_low_api.txt b/Documentation/scsi/scsi_mid_low_api.txt index 2b06aba4fa0..5f17d29c59b 100644 --- a/Documentation/scsi/scsi_mid_low_api.txt +++ b/Documentation/scsi/scsi_mid_low_api.txt | |||
@@ -30,7 +30,7 @@ the motherboard (or both). Some aic7xxx based HBAs are dual controllers | |||
30 | and thus represent two hosts. Like most modern HBAs, each aic7xxx host | 30 | and thus represent two hosts. Like most modern HBAs, each aic7xxx host |
31 | has its own PCI device address. [The one-to-one correspondence between | 31 | has its own PCI device address. [The one-to-one correspondence between |
32 | a SCSI host and a PCI device is common but not required (e.g. with | 32 | a SCSI host and a PCI device is common but not required (e.g. with |
33 | ISA adapters).] | 33 | ISA or MCA adapters).] |
34 | 34 | ||
35 | The SCSI mid level isolates an LLD from other layers such as the SCSI | 35 | The SCSI mid level isolates an LLD from other layers such as the SCSI |
36 | upper layer drivers and the block layer. | 36 | upper layer drivers and the block layer. |
@@ -55,6 +55,11 @@ or in the same directory as the C source code. For example to find a url | |||
55 | about the USB mass storage driver see the | 55 | about the USB mass storage driver see the |
56 | /usr/src/linux/drivers/usb/storage directory. | 56 | /usr/src/linux/drivers/usb/storage directory. |
57 | 57 | ||
58 | The Linux kernel source Documentation/DocBook/scsidrivers.tmpl file | ||
59 | refers to this file. With the appropriate DocBook tool-set, this permits | ||
60 | users to generate html, ps and pdf renderings of information within this | ||
61 | file (e.g. the interface functions). | ||
62 | |||
58 | Driver structure | 63 | Driver structure |
59 | ================ | 64 | ================ |
60 | Traditionally an LLD for the SCSI subsystem has been at least two files in | 65 | Traditionally an LLD for the SCSI subsystem has been at least two files in |
diff --git a/Documentation/scsi/st.txt b/Documentation/scsi/st.txt index f346abbdd6f..691ca292c24 100644 --- a/Documentation/scsi/st.txt +++ b/Documentation/scsi/st.txt | |||
@@ -112,8 +112,10 @@ attempted). | |||
112 | 112 | ||
113 | MINOR NUMBERS | 113 | MINOR NUMBERS |
114 | 114 | ||
115 | The tape driver currently supports up to 2^17 drives if 4 modes for | 115 | The tape driver currently supports 128 drives by default. This number |
116 | each drive are used. | 116 | can be increased by editing st.h and recompiling the driver if |
117 | necessary. The upper limit is 2^17 drives if 4 modes for each drive | ||
118 | are used. | ||
117 | 119 | ||
118 | The minor numbers consist of the following bit fields: | 120 | The minor numbers consist of the following bit fields: |
119 | 121 | ||
@@ -388,10 +390,6 @@ MTSETDRVBUFFER | |||
388 | MT_ST_SYSV sets the SYSV semantics (mode) | 390 | MT_ST_SYSV sets the SYSV semantics (mode) |
389 | MT_ST_NOWAIT enables immediate mode (i.e., don't wait for | 391 | MT_ST_NOWAIT enables immediate mode (i.e., don't wait for |
390 | the command to finish) for some commands (e.g., rewind) | 392 | the command to finish) for some commands (e.g., rewind) |
391 | MT_ST_NOWAIT_EOF enables immediate filemark mode (i.e. when | ||
392 | writing a filemark, don't wait for it to complete). Please | ||
393 | see the BASICS note about MTWEOFI with respect to the | ||
394 | possible dangers of writing immediate filemarks. | ||
395 | MT_ST_SILI enables setting the SILI bit in SCSI commands when | 393 | MT_ST_SILI enables setting the SILI bit in SCSI commands when |
396 | reading in variable block mode to enhance performance when | 394 | reading in variable block mode to enhance performance when |
397 | reading blocks shorter than the byte count; set this only | 395 | reading blocks shorter than the byte count; set this only |
diff --git a/Documentation/scsi/tmscsim.txt b/Documentation/scsi/tmscsim.txt index 3303d218b32..61c0531e044 100644 --- a/Documentation/scsi/tmscsim.txt +++ b/Documentation/scsi/tmscsim.txt | |||
@@ -102,7 +102,7 @@ So take at least the following measures: | |||
102 | ftp://student.physik.uni-dortmund.de/pub/linux/kernel/bootdisk.gz | 102 | ftp://student.physik.uni-dortmund.de/pub/linux/kernel/bootdisk.gz |
103 | 103 | ||
104 | One more warning: I used to overclock my PCI bus to 41.67 MHz. My Tekram | 104 | One more warning: I used to overclock my PCI bus to 41.67 MHz. My Tekram |
105 | DC390F (Sym53c875) accepted this as well as my Millennium. But the Am53C974 | 105 | DC390F (Sym53c875) accepted this as well as my Millenium. But the Am53C974 |
106 | produced errors and started to corrupt my disks. So don't do that! A 37.50 | 106 | produced errors and started to corrupt my disks. So don't do that! A 37.50 |
107 | MHz PCI bus works for me, though, but I don't recommend using higher clocks | 107 | MHz PCI bus works for me, though, but I don't recommend using higher clocks |
108 | than the 33.33 MHz being in the PCI spec. | 108 | than the 33.33 MHz being in the PCI spec. |
diff --git a/Documentation/scsi/ufs.txt b/Documentation/scsi/ufs.txt deleted file mode 100644 index 41a6164592a..00000000000 --- a/Documentation/scsi/ufs.txt +++ /dev/null | |||
@@ -1,133 +0,0 @@ | |||
1 | Universal Flash Storage | ||
2 | ======================= | ||
3 | |||
4 | |||
5 | Contents | ||
6 | -------- | ||
7 | |||
8 | 1. Overview | ||
9 | 2. UFS Architecture Overview | ||
10 | 2.1 Application Layer | ||
11 | 2.2 UFS Transport Protocol(UTP) layer | ||
12 | 2.3 UFS Interconnect(UIC) Layer | ||
13 | 3. UFSHCD Overview | ||
14 | 3.1 UFS controller initialization | ||
15 | 3.2 UTP Transfer requests | ||
16 | 3.3 UFS error handling | ||
17 | 3.4 SCSI Error handling | ||
18 | |||
19 | |||
20 | 1. Overview | ||
21 | ----------- | ||
22 | |||
23 | Universal Flash Storage(UFS) is a storage specification for flash devices. | ||
24 | It is aimed to provide a universal storage interface for both | ||
25 | embedded and removable flash memory based storage in mobile | ||
26 | devices such as smart phones and tablet computers. The specification | ||
27 | is defined by JEDEC Solid State Technology Association. UFS is based | ||
28 | on MIPI M-PHY physical layer standard. UFS uses MIPI M-PHY as the | ||
29 | physical layer and MIPI Unipro as the link layer. | ||
30 | |||
31 | The main goals of UFS is to provide, | ||
32 | * Optimized performance: | ||
33 | For UFS version 1.0 and 1.1 the target performance is as follows, | ||
34 | Support for Gear1 is mandatory (rate A: 1248Mbps, rate B: 1457.6Mbps) | ||
35 | Support for Gear2 is optional (rate A: 2496Mbps, rate B: 2915.2Mbps) | ||
36 | Future version of the standard, | ||
37 | Gear3 (rate A: 4992Mbps, rate B: 5830.4Mbps) | ||
38 | * Low power consumption | ||
39 | * High random IOPs and low latency | ||
40 | |||
41 | |||
42 | 2. UFS Architecture Overview | ||
43 | ---------------------------- | ||
44 | |||
45 | UFS has a layered communication architecture which is based on SCSI | ||
46 | SAM-5 architectural model. | ||
47 | |||
48 | UFS communication architecture consists of following layers, | ||
49 | |||
50 | 2.1 Application Layer | ||
51 | |||
52 | The Application layer is composed of UFS command set layer(UCS), | ||
53 | Task Manager and Device manager. The UFS interface is designed to be | ||
54 | protocol agnostic, however SCSI has been selected as a baseline | ||
55 | protocol for versions 1.0 and 1.1 of UFS protocol layer. | ||
56 | UFS supports subset of SCSI commands defined by SPC-4 and SBC-3. | ||
57 | * UCS: It handles SCSI commands supported by UFS specification. | ||
58 | * Task manager: It handles task management functions defined by the | ||
59 | UFS which are meant for command queue control. | ||
60 | * Device manager: It handles device level operations and device | ||
61 | configuration operations. Device level operations mainly involve | ||
62 | device power management operations and commands to Interconnect | ||
63 | layers. Device level configurations involve handling of query | ||
64 | requests which are used to modify and retrieve configuration | ||
65 | information of the device. | ||
66 | |||
67 | 2.2 UFS Transport Protocol(UTP) layer | ||
68 | |||
69 | UTP layer provides services for | ||
70 | the higher layers through Service Access Points. UTP defines 3 | ||
71 | service access points for higher layers. | ||
72 | * UDM_SAP: Device manager service access point is exposed to device | ||
73 | manager for device level operations. These device level operations | ||
74 | are done through query requests. | ||
75 | * UTP_CMD_SAP: Command service access point is exposed to UFS command | ||
76 | set layer(UCS) to transport commands. | ||
77 | * UTP_TM_SAP: Task management service access point is exposed to task | ||
78 | manager to transport task management functions. | ||
79 | UTP transports messages through UFS protocol information unit(UPIU). | ||
80 | |||
81 | 2.3 UFS Interconnect(UIC) Layer | ||
82 | |||
83 | UIC is the lowest layer of UFS layered architecture. It handles | ||
84 | connection between UFS host and UFS device. UIC consists of | ||
85 | MIPI UniPro and MIPI M-PHY. UIC provides 2 service access points | ||
86 | to upper layer, | ||
87 | * UIC_SAP: To transport UPIU between UFS host and UFS device. | ||
88 | * UIO_SAP: To issue commands to Unipro layers. | ||
89 | |||
90 | |||
91 | 3. UFSHCD Overview | ||
92 | ------------------ | ||
93 | |||
94 | The UFS host controller driver is based on Linux SCSI Framework. | ||
95 | UFSHCD is a low level device driver which acts as an interface between | ||
96 | SCSI Midlayer and PCIe based UFS host controllers. | ||
97 | |||
98 | The current UFSHCD implementation supports following functionality, | ||
99 | |||
100 | 3.1 UFS controller initialization | ||
101 | |||
102 | The initialization module brings UFS host controller to active state | ||
103 | and prepares the controller to transfer commands/response between | ||
104 | UFSHCD and UFS device. | ||
105 | |||
106 | 3.2 UTP Transfer requests | ||
107 | |||
108 | Transfer request handling module of UFSHCD receives SCSI commands | ||
109 | from SCSI Midlayer, forms UPIUs and issues the UPIUs to UFS Host | ||
110 | controller. Also, the module decodes, responses received from UFS | ||
111 | host controller in the form of UPIUs and intimates the SCSI Midlayer | ||
112 | of the status of the command. | ||
113 | |||
114 | 3.3 UFS error handling | ||
115 | |||
116 | Error handling module handles Host controller fatal errors, | ||
117 | Device fatal errors and UIC interconnect layer related errors. | ||
118 | |||
119 | 3.4 SCSI Error handling | ||
120 | |||
121 | This is done through UFSHCD SCSI error handling routines registered | ||
122 | with SCSI Midlayer. Examples of some of the error handling commands | ||
123 | issues by SCSI Midlayer are Abort task, Lun reset and host reset. | ||
124 | UFSHCD Routines to perform these tasks are registered with | ||
125 | SCSI Midlayer through .eh_abort_handler, .eh_device_reset_handler and | ||
126 | .eh_host_reset_handler. | ||
127 | |||
128 | In this version of UFSHCD Query requests and power management | ||
129 | functionality are not implemented. | ||
130 | |||
131 | UFS Specifications can be found at, | ||
132 | UFS - http://www.jedec.org/sites/default/files/docs/JESD220.pdf | ||
133 | UFSHCI - http://www.jedec.org/sites/default/files/docs/JESD223.pdf | ||