aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/scsi
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/scsi')
-rw-r--r--Documentation/scsi/00-INDEX6
-rw-r--r--Documentation/scsi/53c700.txt21
-rw-r--r--Documentation/scsi/ChangeLog.lpfc2
-rw-r--r--Documentation/scsi/ChangeLog.megaraid_sas58
-rw-r--r--Documentation/scsi/LICENSE.qla2xxx43
-rw-r--r--Documentation/scsi/LICENSE.qla4xxx289
-rw-r--r--Documentation/scsi/aic79xx.txt2
-rw-r--r--Documentation/scsi/aic7xxx.txt2
-rw-r--r--Documentation/scsi/aic7xxx_old.txt2
-rw-r--r--Documentation/scsi/bfa.txt82
-rw-r--r--Documentation/scsi/bnx2fc.txt75
-rw-r--r--Documentation/scsi/hptiop.txt69
-rw-r--r--Documentation/scsi/libsas.txt15
-rw-r--r--Documentation/scsi/osst.txt2
-rw-r--r--Documentation/scsi/scsi-generic.txt2
-rw-r--r--Documentation/scsi/scsi-parameters.txt6
-rw-r--r--Documentation/scsi/scsi_mid_low_api.txt7
-rw-r--r--Documentation/scsi/st.txt10
-rw-r--r--Documentation/scsi/tmscsim.txt2
-rw-r--r--Documentation/scsi/ufs.txt133
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
29LICENSE.qla2xxx 29LICENSE.qla2xxx
30 - License for QLogic Linux Fibre Channel HBA Driver firmware. 30 - License for QLogic Linux Fibre Channel HBA Driver firmware.
31LICENSE.qla4xxx
32 - License for QLogic Linux iSCSI HBA Driver.
33Mylex.txt 31Mylex.txt
34 - info on driver for Mylex adapters 32 - info on driver for Mylex adapters
35NinjaSCSI.txt 33NinjaSCSI.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
57hptiop.txt 55hptiop.txt
58 - HIGHPOINT ROCKETRAID 3xxx RAID DRIVER 56 - HIGHPOINT ROCKETRAID 3xxx RAID DRIVER
57ibmmca.txt
58 - info on driver for IBM adapters with MCA bus
59in2000.txt 59in2000.txt
60 - info on in2000 driver 60 - info on in2000 driver
61libsas.txt 61libsas.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
93tmscsim.txt 93tmscsim.txt
94 - info on driver for AM53c974 based adapters 94 - info on driver for AM53c974 based adapters
95ufs.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.
16Compile Time Flags 16Compile Time Flags
17================== 17==================
18 18
19A compile time flag is: 19The driver may be either io mapped or memory mapped. This is
20selectable by configuration flags:
21
22CONFIG_53C700_MEM_MAPPED
23
24define if the driver is memory mapped.
25
26CONFIG_53C700_IO_MAPPED
27
28define if the driver is to be io mapped.
29
30One or other of the above flags *must* be defined.
31
32Other flags are:
20 33
21CONFIG_53C700_LE_ON_BE 34CONFIG_53C700_LE_ON_BE
22 35
23define if the chipset must be supported in little endian mode on a big 36define if the chipset must be supported in little endian mode on a big
24endian architecture (used for the 700 on parisc). 37endian architecture (used for the 700 on parisc).
25 38
39CONFIG_53C700_USE_CONSISTENT
40
41allocate consistent memory (should only be used if your architecture
42has a mixture of consistent and inconsistent memory). Fully
43consistent or fully inconsistent architectures should not define this.
44
26 45
27Using the Chip Core Driver 46Using 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 @@
1Release Date : Mon. Oct 1, 2012 17:00:00 PST 2012 -
2 (emaild-id:megaraidlinux@lsi.com)
3 Adam Radford
4Current Version : 06.504.01.00-rc1
5Old 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-------------------------------------------------------------------------------
14Release Date : Tue. Jun 17, 2012 17:00:00 PST 2012 -
15 (emaild-id:megaraidlinux@lsi.com)
16 Adam Radford/Kashyap Desai
17Current Version : 00.00.06.18-rc1
18Old 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-------------------------------------------------------------------------------
24Release Date : Mon. Mar 19, 2012 17:00:00 PST 2012 -
25 (emaild-id:megaraidlinux@lsi.com)
26 Adam Radford
27Current Version : 00.00.06.15-rc1
28Old Version : 00.00.06.14-rc1
29 1. Optimize HostMSIxVectors setting.
30 2. Add fpRead/WriteCapable, fpRead/WriteAcrossStripe checks.
31-------------------------------------------------------------------------------
32Release Date : Fri. Jan 6, 2012 17:00:00 PST 2010 -
33 (emaild-id:megaraidlinux@lsi.com)
34 Adam Radford
35Current Version : 00.00.06.14-rc1
36Old 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-------------------------------------------------------------------------------
42Release Date : Wed. Oct 5, 2011 17:00:00 PST 2010 -
43 (emaild-id:megaraidlinux@lsi.com)
44 Adam Radford
45Current Version : 00.00.06.12-rc1
46Old 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-------------------------------------------------------------------------------
57Release Date : Tue. Jul 26, 2011 17:00:00 PST 2010 - 1Release 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.
5413 Older Version : 00.00.02.02 4853 Older Version : 00.00.02.02
542i. Register 16 byte CDB capability with scsi midlayer 486i. 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 @@
1Copyright (c) 2003-2012 QLogic Corporation 1Copyright (c) 2003-2011 QLogic Corporation
2QLogic Linux FC-FCoE Driver 2QLogic Linux/ESX Fibre Channel HBA Driver
3 3
4This program includes a device driver for Linux 3.x. 4This program includes a device driver for Linux 2.6/ESX that may be
5distributed with QLogic hardware specific firmware binary file.
5You may modify and redistribute the device driver code under the 6You may modify and redistribute the device driver code under the
6GNU General Public License (a copy of which is attached hereto as 7GNU General Public License (a copy of which is attached hereto as
7Exhibit A) published by the Free Software Foundation (version 2). 8Exhibit A) published by the Free Software Foundation (version 2).
8 9
10You may redistribute the hardware specific firmware binary file
11under 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
26REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE,
27THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY
28EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
30PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR
31BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
32EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
33TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
35ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
36OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38POSSIBILITY OF SUCH DAMAGE.
39
40USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT
41CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR
42OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT,
43TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN
44ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN
45COMBINATION WITH THIS PROGRAM.
9 46
10 47
11EXHIBIT A 48EXHIBIT 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 @@
1Copyright (c) 2003-2012 QLogic Corporation
2QLogic Linux iSCSI Driver
3
4This program includes a device driver for Linux 3.x.
5You may modify and redistribute the device driver code under the
6GNU General Public License (a copy of which is attached hereto as
7Exhibit A) published by the Free Software Foundation (version 2).
8
9
10EXHIBIT 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
23freedom to share and change it. By contrast, the GNU General Public
24License is intended to guarantee your freedom to share and change free
25software--to make sure the software is free for all its users. This
26General Public License applies to most of the Free Software
27Foundation's software and to any other program whose authors commit to
28using it. (Some other Free Software Foundation software is covered by
29the GNU Lesser General Public License instead.) You can apply it to
30your programs, too.
31
32 When we speak of free software, we are referring to freedom, not
33price. Our General Public Licenses are designed to make sure that you
34have the freedom to distribute copies of free software (and charge for
35this service if you wish), that you receive source code or can get it
36if you want it, that you can change the software or use pieces of it
37in 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
40anyone to deny you these rights or to ask you to surrender the rights.
41These restrictions translate to certain responsibilities for you if you
42distribute copies of the software, or if you modify it.
43
44 For example, if you distribute copies of such a program, whether
45gratis or for a fee, you must give the recipients all the rights that
46you have. You must make sure that they, too, receive or can get the
47source code. And you must show them these terms so they know their
48rights.
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,
52distribute and/or modify the software.
53
54 Also, for each author's protection and ours, we want to make certain
55that everyone understands that there is no warranty for this free
56software. If the software is modified by someone else and passed on, we
57want its recipients to know that what they have is not the original, so
58that any problems introduced by others will not reflect on the original
59authors' reputations.
60
61 Finally, any free program is threatened constantly by software
62patents. We wish to avoid the danger that redistributors of a free
63program will individually obtain patent licenses, in effect making the
64program proprietary. To prevent this, we have made it clear that any
65patent must be licensed for everyone's free use or not licensed at all.
66
67 The precise terms and conditions for copying, distribution and
68modification 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
74a notice placed by the copyright holder saying it may be distributed
75under the terms of this General Public License. The "Program", below,
76refers to any such program or work, and a "work based on the Program"
77means either the Program or any derivative work under copyright law:
78that is to say, a work containing the Program or a portion of it,
79either verbatim or with modifications and/or translated into another
80language. (Hereinafter, translation is included without limitation in
81the term "modification".) Each licensee is addressed as "you".
82
83Activities other than copying, distribution and modification are not
84covered by this License; they are outside its scope. The act of
85running the Program is not restricted, and the output from the Program
86is covered only if its contents constitute a work based on the
87Program (independent of having been made by running the Program).
88Whether that is true depends on what the Program does.
89
90 1. You may copy and distribute verbatim copies of the Program's
91source code as you receive it, in any medium, provided that you
92conspicuously and appropriately publish on each copy an appropriate
93copyright notice and disclaimer of warranty; keep intact all the
94notices that refer to this License and to the absence of any warranty;
95and give any other recipients of the Program a copy of this License
96along with the Program.
97
98You may charge a fee for the physical act of transferring a copy, and
99you 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
102of it, thus forming a work based on the Program, and copy and
103distribute such modifications or work under the terms of Section 1
104above, 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
125These requirements apply to the modified work as a whole. If
126identifiable sections of that work are not derived from the Program,
127and can be reasonably considered independent and separate works in
128themselves, then this License, and its terms, do not apply to those
129sections when you distribute them as separate works. But when you
130distribute the same sections as part of a whole which is a work based
131on the Program, the distribution of the whole must be on the terms of
132this License, whose permissions for other licensees extend to the
133entire whole, and thus to each and every part regardless of who wrote it.
134
135Thus, it is not the intent of this section to claim rights or contest
136your rights to work written entirely by you; rather, the intent is to
137exercise the right to control the distribution of derivative or
138collective works based on the Program.
139
140In addition, mere aggregation of another work not based on the Program
141with the Program (or with a work based on the Program) on a volume of
142a storage or distribution medium does not bring the other work under
143the scope of this License.
144
145 3. You may copy and distribute the Program (or a work based on it,
146under Section 2) in object code or executable form under the terms of
147Sections 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
166The source code for a work means the preferred form of the work for
167making modifications to it. For an executable work, complete source
168code means all the source code for all modules it contains, plus any
169associated interface definition files, plus the scripts used to
170control compilation and installation of the executable. However, as a
171special exception, the source code distributed need not include
172anything that is normally distributed (in either source or binary
173form) with the major components (compiler, kernel, and so on) of the
174operating system on which the executable runs, unless that component
175itself accompanies the executable.
176
177If distribution of executable or object code is made by offering
178access to copy from a designated place, then offering equivalent
179access to copy the source code from the same place counts as
180distribution of the source code, even though third parties are not
181compelled to copy the source along with the object code.
182
183 4. You may not copy, modify, sublicense, or distribute the Program
184except as expressly provided under this License. Any attempt
185otherwise to copy, modify, sublicense or distribute the Program is
186void, and will automatically terminate your rights under this License.
187However, parties who have received copies, or rights, from you under
188this License will not have their licenses terminated so long as such
189parties remain in full compliance.
190
191 5. You are not required to accept this License, since you have not
192signed it. However, nothing else grants you permission to modify or
193distribute the Program or its derivative works. These actions are
194prohibited by law if you do not accept this License. Therefore, by
195modifying or distributing the Program (or any work based on the
196Program), you indicate your acceptance of this License to do so, and
197all its terms and conditions for copying, distributing or modifying
198the Program or works based on it.
199
200 6. Each time you redistribute the Program (or any work based on the
201Program), the recipient automatically receives a license from the
202original licensor to copy, distribute or modify the Program subject to
203these terms and conditions. You may not impose any further
204restrictions on the recipients' exercise of the rights granted herein.
205You are not responsible for enforcing compliance by third parties to
206this License.
207
208 7. If, as a consequence of a court judgment or allegation of patent
209infringement or for any other reason (not limited to patent issues),
210conditions are imposed on you (whether by court order, agreement or
211otherwise) that contradict the conditions of this License, they do not
212excuse you from the conditions of this License. If you cannot
213distribute so as to satisfy simultaneously your obligations under this
214License and any other pertinent obligations, then as a consequence you
215may not distribute the Program at all. For example, if a patent
216license would not permit royalty-free redistribution of the Program by
217all those who receive copies directly or indirectly through you, then
218the only way you could satisfy both it and this License would be to
219refrain entirely from distribution of the Program.
220
221If any portion of this section is held invalid or unenforceable under
222any particular circumstance, the balance of the section is intended to
223apply and the section as a whole is intended to apply in other
224circumstances.
225
226It is not the purpose of this section to induce you to infringe any
227patents or other property right claims or to contest validity of any
228such claims; this section has the sole purpose of protecting the
229integrity of the free software distribution system, which is
230implemented by public license practices. Many people have made
231generous contributions to the wide range of software distributed
232through that system in reliance on consistent application of that
233system; it is up to the author/donor to decide if he or she is willing
234to distribute software through any other system and a licensee cannot
235impose that choice.
236
237This section is intended to make thoroughly clear what is believed to
238be a consequence of the rest of this License.
239
240 8. If the distribution and/or use of the Program is restricted in
241certain countries either by patents or by copyrighted interfaces, the
242original copyright holder who places the Program under this License
243may add an explicit geographical distribution limitation excluding
244those countries, so that distribution is permitted only in or among
245countries not thus excluded. In such case, this License incorporates
246the limitation as if written in the body of this License.
247
248 9. The Free Software Foundation may publish revised and/or new versions
249of the General Public License from time to time. Such new versions will
250be similar in spirit to the present version, but may differ in detail to
251address new problems or concerns.
252
253Each version is given a distinguishing version number. If the Program
254specifies a version number of this License which applies to it and "any
255later version", you have the option of following the terms and conditions
256either of that version or of any later version published by the Free
257Software Foundation. If the Program does not specify a version number of
258this License, you may choose any version ever published by the Free Software
259Foundation.
260
261 10. If you wish to incorporate parts of the Program into other free
262programs whose distribution conditions are different, write to the author
263to ask for permission. For software which is copyrighted by the Free
264Software Foundation, write to the Free Software Foundation; we sometimes
265make exceptions for this. Our decision will be guided by the two goals
266of preserving the free status of all derivatives of our free software and
267of 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
272FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
273OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
274PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
275OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
276MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
277TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
278PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
279REPAIR OR CORRECTION.
280
281 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
282WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
283REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
284INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
285OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
286TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
287YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
288PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
289POSSIBILITY 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 @@
1Linux driver for Brocade FC/FCOE adapters
2
3
4Supported Hardware
5------------------
6
7bfa 3.0.2.2 driver supports all Brocade FC/FCOE adapters. Below is a list of
8adapter 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
31Firmware download
32-----------------
33
34The latest Firmware package for 3.0.2.2 bfa driver can be found at:
35
36http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page
37
38and 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
45Configuration & Management utility download
46-------------------------------------------
47
48The latest driver configuration & management utility for 3.0.2.2 bfa driver can
49be found at:
50
51http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page
52
53and 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
60Documentation
61-------------
62
63The latest Administration's Guide, Installation and Reference Manual,
64Troubleshooting Guide, and Release Notes for the corresponding out-of-box
65driver can be found at:
66
67http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page
68
69and use the following inbox and out-of-box driver version mapping to find
70the corresponding documentation:
71
72 Inbox Version Out-of-box Version
73
74 v3.0.2.2 v3.0.0.0
75
76
77Support
78-------
79
80For general product and support info, go to the Brocade website at:
81
82http://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 @@
1Operating FCoE using bnx2fc
2===========================
3Broadcom FCoE offload through bnx2fc is full stateful hardware offload that
4cooperates with all interfaces provided by the Linux ecosystem for FC/FCoE and
5SCSI controllers. As such, FCoE functionality, once enabled is largely
6transparent. Devices discovered on the SAN will be registered and unregistered
7automatically with the upper storage layers.
8
9Despite the fact that the Broadcom's FCoE offload is fully offloaded, it does
10depend on the state of the network interfaces to operate. As such, the network
11interface (e.g. eth0) associated with the FCoE offload initiator must be 'up'.
12It is recommended that the network interfaces be configured to be brought up
13automatically at boot time.
14
15Furthermore, the Broadcom FCoE offload solution creates VLAN interfaces to
16support the VLANs that have been discovered for FCoE operation (e.g.
17eth0.1001-fcoe). Do not delete or disable these interfaces or FCoE operation
18will be disrupted.
19
20Driver Usage Model:
21===================
22
231. Ensure that fcoe-utils package is installed.
24
252. Configure the interfaces on which bnx2fc driver has to operate on.
26Here 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
343. Ensure that "bnx2fc" is in SUPPORTED_DRIVERS list in /etc/fcoe/config.
35
364. Start fcoe service. (service fcoe start). If Broadcom devices are present in
37the system, bnx2fc driver would automatically claim the interfaces, starts vlan
38discovery and log into the targets.
39
405. "Symbolic Name" in 'fcoeadm -i' output would display if bnx2fc has claimed
41the interface.
42Eg:
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
626. Verify the vlan discovery is performed by running ifconfig and notice
63<INTERFACE>.<VLAN>-fcoe interfaces are automatically created.
64
65Refer to fcoeadm manpage for more information on fcoeadm operations to
66create/destroy interfaces or to display lun/target information.
67
68NOTE:
69====
70** Broadcom FCoE capable devices implement a DCBX/LLDP client on-chip. Only one
71LLDP client is allowed per interface. For proper operation all host software
72based DCBX/LLDP clients (e.g. lldpad) must be disabled. To disable lldpad on a
73given interface, run the following command:
74
75lldptool 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
40For Marvell not Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1: 40For 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
58For Marvell Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1:
59 58
60 BAR0 offset Register 59I/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
81I/O Request Workflow of Not Marvell Frey
82------------------------------------------
83 61
84All queued requests are handled via inbound/outbound queue port. 62All queued requests are handled via inbound/outbound queue port.
85A request packet can be allocated in either IOP or host memory. 63A 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
123of an inbound message. 101of an inbound message.
124 102
125 103
126I/O Request Workflow of Marvell Frey
127--------------------------------------
128
129All queued requests are handled via inbound/outbound list.
130
131To 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
160Non-queued requests (reset communication/reset/flush etc) can be sent via PCIe
161Function 0 to CPU Message A register. The CPU to PCIe Function 0 Message register
162with the same value indicates the completion of message.
163
164
165User-level Interface 104User-level Interface
166--------------------- 105---------------------
167 106
@@ -173,7 +112,7 @@ The driver exposes following sysfs attributes:
173 112
174 113
175----------------------------------------------------------------------------- 114-----------------------------------------------------------------------------
176Copyright (C) 2006-2012 HighPoint Technologies, Inc. All Rights Reserved. 115Copyright (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
401When an external entity, entity other than the LLDD or the
402SAS Layer, wants to work with a struct domain_device, it
403_must_ call kobject_get() when getting a handle on the
404device and kobject_put() when it is done with the device.
405
406This 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
401DISCOVERY 416DISCOVERY
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.
66If you want to have the module autoloaded on access to /dev/osst, you may 66If you want to have the module autoloaded on access to /dev/osst, you may
67add something like 67add something like
68alias char-major-206 osst 68alias char-major-206 osst
69to a file under /etc/modprobe.d/ directory. 69to your /etc/modprobe.conf (before 2.6: modules.conf).
70 70
71You may find it convenient to create a symbolic link 71You may find it convenient to create a symbolic link
72ln -s nosst0 /dev/tape 72ln -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
63Both packages will work in the lk 2.4 series however sg3_utils offers more 63Both packages will work in the lk 2.4 series however sg3_utils offers more
64capabilities. They can be found at: http://sg.danny.cz/sg/sg3_utils.html and 64capabilities. They can be found at: http://sg.danny.cz/sg/sg3_utils.html and
65freecode.com 65freshmeat.net
66 66
67Another approach is to look at the applications that use the sg driver. 67Another approach is to look at the applications that use the sg driver.
68These include cdrecord, cdparanoia, SANE and cdrdao. 68These 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
30and thus represent two hosts. Like most modern HBAs, each aic7xxx host 30and thus represent two hosts. Like most modern HBAs, each aic7xxx host
31has its own PCI device address. [The one-to-one correspondence between 31has its own PCI device address. [The one-to-one correspondence between
32a SCSI host and a PCI device is common but not required (e.g. with 32a SCSI host and a PCI device is common but not required (e.g. with
33ISA adapters).] 33ISA or MCA adapters).]
34 34
35The SCSI mid level isolates an LLD from other layers such as the SCSI 35The SCSI mid level isolates an LLD from other layers such as the SCSI
36upper layer drivers and the block layer. 36upper 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
55about the USB mass storage driver see the 55about 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
58The Linux kernel source Documentation/DocBook/scsidrivers.tmpl file
59refers to this file. With the appropriate DocBook tool-set, this permits
60users to generate html, ps and pdf renderings of information within this
61file (e.g. the interface functions).
62
58Driver structure 63Driver structure
59================ 64================
60Traditionally an LLD for the SCSI subsystem has been at least two files in 65Traditionally 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
113MINOR NUMBERS 113MINOR NUMBERS
114 114
115The tape driver currently supports up to 2^17 drives if 4 modes for 115The tape driver currently supports 128 drives by default. This number
116each drive are used. 116can be increased by editing st.h and recompiling the driver if
117necessary. The upper limit is 2^17 drives if 4 modes for each drive
118are used.
117 119
118The minor numbers consist of the following bit fields: 120The 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
104One more warning: I used to overclock my PCI bus to 41.67 MHz. My Tekram 104One more warning: I used to overclock my PCI bus to 41.67 MHz. My Tekram
105DC390F (Sym53c875) accepted this as well as my Millennium. But the Am53C974 105DC390F (Sym53c875) accepted this as well as my Millenium. But the Am53C974
106produced errors and started to corrupt my disks. So don't do that! A 37.50 106produced errors and started to corrupt my disks. So don't do that! A 37.50
107MHz PCI bus works for me, though, but I don't recommend using higher clocks 107MHz PCI bus works for me, though, but I don't recommend using higher clocks
108than the 33.33 MHz being in the PCI spec. 108than 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
5Contents
6--------
7
81. Overview
92. UFS Architecture Overview
10 2.1 Application Layer
11 2.2 UFS Transport Protocol(UTP) layer
12 2.3 UFS Interconnect(UIC) Layer
133. 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
201. Overview
21-----------
22
23Universal Flash Storage(UFS) is a storage specification for flash devices.
24It is aimed to provide a universal storage interface for both
25embedded and removable flash memory based storage in mobile
26devices such as smart phones and tablet computers. The specification
27is defined by JEDEC Solid State Technology Association. UFS is based
28on MIPI M-PHY physical layer standard. UFS uses MIPI M-PHY as the
29physical layer and MIPI Unipro as the link layer.
30
31The 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
422. UFS Architecture Overview
43----------------------------
44
45UFS has a layered communication architecture which is based on SCSI
46SAM-5 architectural model.
47
48UFS communication architecture consists of following layers,
49
502.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
672.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
812.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
913. UFSHCD Overview
92------------------
93
94The UFS host controller driver is based on Linux SCSI Framework.
95UFSHCD is a low level device driver which acts as an interface between
96SCSI Midlayer and PCIe based UFS host controllers.
97
98The current UFSHCD implementation supports following functionality,
99
1003.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
1063.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
1143.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
1193.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
128In this version of UFSHCD Query requests and power management
129functionality are not implemented.
130
131UFS Specifications can be found at,
132UFS - http://www.jedec.org/sites/default/files/docs/JESD220.pdf
133UFSHCI - http://www.jedec.org/sites/default/files/docs/JESD223.pdf