Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
ide: update references to Documentation/ide/ide.txt (v2)
ide: move ide.txt to Documentation/ide/
ide: fix buggy code in ide_register_hw()
ide: fix enabling DMA on it821x in "smart" mode
ide-cd: mark REQ_TYPE_ATA_PC write requests with REQ_RW flag

+57 -43
-2
Documentation/00-INDEX
··· 183 183 - directory with info about Linux on Intel 32 bit architecture. 184 184 ia64/ 185 185 - directory with info about Linux on Intel 64 bit architecture. 186 - ide.txt 187 - - important info for users of ATA devices (IDE/EIDE disks and CD-ROMS). 188 186 infiniband/ 189 187 - directory with documents concerning Linux InfiniBand support. 190 188 initrd.txt
+9 -9
Documentation/cdrom/ide-cd
··· 45 45 --------------- 46 46 47 47 0. The ide-cd relies on the ide disk driver. See 48 - Documentation/ide.txt for up-to-date information on the ide 48 + Documentation/ide/ide.txt for up-to-date information on the ide 49 49 driver. 50 50 51 51 1. Make sure that the ide and ide-cd drivers are compiled into the ··· 64 64 65 65 Depending on what type of IDE interface you have, you may need to 66 66 specify additional configuration options. See 67 - Documentation/ide.txt. 67 + Documentation/ide/ide.txt. 68 68 69 69 2. You should also ensure that the iso9660 filesystem is either 70 70 compiled into the kernel or available as a loadable module. You ··· 84 84 on the primary IDE interface are called `hda' and `hdb', 85 85 respectively. The drives on the secondary interface are called 86 86 `hdc' and `hdd'. (Interfaces at other locations get other letters 87 - in the third position; see Documentation/ide.txt.) 87 + in the third position; see Documentation/ide/ide.txt.) 88 88 89 89 If you want your CDROM drive to be found automatically by the 90 90 driver, you should make sure your IDE interface uses either the ··· 93 93 be jumpered as `master'. (If for some reason you cannot configure 94 94 your system in this manner, you can probably still use the driver. 95 95 You may have to pass extra configuration information to the kernel 96 - when you boot, however. See Documentation/ide.txt for more 96 + when you boot, however. See Documentation/ide/ide.txt for more 97 97 information.) 98 98 99 99 4. Boot the system. If the drive is recognized, you should see a ··· 201 201 This section discusses some common problems encountered when trying to 202 202 use the driver, and some possible solutions. Note that if you are 203 203 experiencing problems, you should probably also review 204 - Documentation/ide.txt for current information about the underlying 204 + Documentation/ide/ide.txt for current information about the underlying 205 205 IDE support code. Some of these items apply only to earlier versions 206 206 of the driver, but are mentioned here for completeness. 207 207 ··· 211 211 a. Drive is not detected during booting. 212 212 213 213 - Review the configuration instructions above and in 214 - Documentation/ide.txt, and check how your hardware is 214 + Documentation/ide/ide.txt, and check how your hardware is 215 215 configured. 216 216 217 217 - If your drive is the only device on an IDE interface, it should ··· 219 219 220 220 - If your IDE interface is not at the standard addresses of 0x170 221 221 or 0x1f0, you'll need to explicitly inform the driver using a 222 - lilo option. See Documentation/ide.txt. (This feature was 222 + lilo option. See Documentation/ide/ide.txt. (This feature was 223 223 added around kernel version 1.3.30.) 224 224 225 225 - If the autoprobing is not finding your drive, you can tell the ··· 245 245 Support for some interfaces needing extra initialization is 246 246 provided in later 1.3.x kernels. You may need to turn on 247 247 additional kernel configuration options to get them to work; 248 - see Documentation/ide.txt. 248 + see Documentation/ide/ide.txt. 249 249 250 250 Even if support is not available for your interface, you may be 251 251 able to get it to work with the following procedure. First boot ··· 299 299 be worked around by specifying the `serialize' option when 300 300 booting. Recent kernels should be able to detect the need for 301 301 this automatically in most cases, but the detection is not 302 - foolproof. See Documentation/ide.txt for more information 302 + foolproof. See Documentation/ide/ide.txt for more information 303 303 about the `serialize' option and the CMD640B. 304 304 305 305 - Note that many MS-DOS CDROM drivers will work with such buggy
+10 -10
Documentation/ide.txt Documentation/ide/ide.txt
··· 3 3 4 4 ============================================================================== 5 5 6 - 6 + 7 7 The hdparm utility can be used to control various IDE features on a 8 8 running system. It is packaged separately. Please Look for it on popular 9 9 linux FTP sites. 10 - 10 + 11 11 12 12 13 13 *** IMPORTANT NOTICES: BUGGY IDE CHIPSETS CAN CORRUPT DATA!! ··· 51 51 52 52 ================================================================================ 53 53 54 - This is the multiple IDE interface driver, as evolved from hd.c. 54 + This is the multiple IDE interface driver, as evolved from hd.c. 55 55 56 56 It supports up to 9 IDE interfaces per default, on one or more IRQs (usually 57 57 14 & 15). There can be up to two drives per interface, as per the ATA-6 spec. ··· 215 215 -------------------------------------------------------- 216 216 217 217 "hdx=" is recognized for all "x" from "a" to "h", such as "hdc". 218 - 218 + 219 219 "idex=" is recognized for all "x" from "0" to "3", such as "ide1". 220 220 221 221 "hdx=noprobe" : drive may be present, but do not probe for it 222 - 222 + 223 223 "hdx=none" : drive is NOT present, ignore cmos and do not probe 224 - 224 + 225 225 "hdx=nowerr" : ignore the WRERR_STAT bit on this drive 226 - 226 + 227 227 "hdx=cdrom" : drive is present, and is a cdrom drive 228 - 228 + 229 229 "hdx=cyl,head,sect" : disk drive is present, with specified geometry 230 230 231 231 "hdx=remap" : remap access of sector 0 to sector 1 (for EZDrive) ··· 261 261 "idex=base" : probe for an interface at the addr specified, 262 262 where "base" is usually 0x1f0 or 0x170 263 263 and "ctl" is assumed to be "base"+0x206 264 - 264 + 265 265 "idex=base,ctl" : specify both base and ctl 266 266 267 267 "idex=base,ctl,irq" : specify base, ctl, and irq number ··· 272 272 to take effect. 273 273 274 274 "idex=four" : four drives on idex and ide(x^1) share same ports 275 - 275 + 276 276 "idex=reset" : reset interface after probe 277 277 278 278 "idex=ata66" : informs the interface that it has an 80c cable
+12
Documentation/ide/00-INDEX
··· 1 + 00-INDEX 2 + - this file 3 + ChangeLog.ide-cd.1994-2004 4 + - ide-cd changelog 5 + ChangeLog.ide-floppy.1996-2002 6 + - ide-floppy changelog 7 + ChangeLog.ide-tape.1995-2002 8 + - ide-tape changelog 9 + ide-tape.txt 10 + - info on the IDE ATAPI streaming tape driver 11 + ide.txt 12 + - important info for users of ATA devices (IDE/EIDE disks and CD-ROMS).
+4 -4
Documentation/kernel-parameters.txt
··· 712 712 Format: <cyl>,<head>,<sect> 713 713 714 714 hd?= [HW] (E)IDE subsystem 715 - hd?lun= See Documentation/ide.txt. 715 + hd?lun= See Documentation/ide/ide.txt. 716 716 717 717 highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact 718 718 size of <nn>. This works even on boxes that have no ··· 766 766 767 767 ide= [HW] (E)IDE subsystem 768 768 Format: ide=nodma or ide=doubler or ide=reverse 769 - See Documentation/ide.txt. 769 + See Documentation/ide/ide.txt. 770 770 771 771 ide?= [HW] (E)IDE subsystem 772 772 Format: ide?=noprobe or chipset specific parameters. 773 - See Documentation/ide.txt. 773 + See Documentation/ide/ide.txt. 774 774 775 775 idebus= [HW] (E)IDE subsystem - VLB/PCI bus speed 776 - See Documentation/ide.txt. 776 + See Documentation/ide/ide.txt. 777 777 778 778 idle= [X86] 779 779 Format: idle=poll or idle=mwait
+15 -15
drivers/ide/Kconfig
··· 50 50 To compile this driver as a module, choose M here: the 51 51 module will be called ide. 52 52 53 - For further information, please read <file:Documentation/ide.txt>. 53 + For further information, please read <file:Documentation/ide/ide.txt>. 54 54 55 55 If unsure, say Y. 56 56 ··· 77 77 Useful information about large (>540 MB) IDE disks, multiple 78 78 interfaces, what to do if ATA/IDE devices are not automatically 79 79 detected, sound card ATA/IDE ports, module support, and other 80 - topics, is contained in <file:Documentation/ide.txt>. For detailed 80 + topics, is contained in <file:Documentation/ide/ide.txt>. For detailed 81 81 information about hard drives, consult the Disk-HOWTO and the 82 82 Multi-Disk-HOWTO, available from 83 83 <http://www.tldp.org/docs.html#howto>. ··· 87 87 <ftp://ibiblio.org/pub/Linux/system/hardware/>. 88 88 89 89 To compile this driver as a module, choose M here and read 90 - <file:Documentation/ide.txt>. The module will be called ide-mod. 90 + <file:Documentation/ide/ide.txt>. The module will be called ide-mod. 91 91 Do not compile this driver as a module if your root file system (the 92 92 one containing the directory /) is located on an IDE device. 93 93 ··· 98 98 99 99 if BLK_DEV_IDE 100 100 101 - comment "Please see Documentation/ide.txt for help/info on IDE drives" 101 + comment "Please see Documentation/ide/ide.txt for help/info on IDE drives" 102 102 103 103 config BLK_DEV_IDE_SATA 104 104 bool "Support for SATA (deprecated; conflicts with libata SATA driver)" ··· 235 235 along with other IDE devices, as "hdb" or "hdc", or something 236 236 similar, and will be mapped to a character device such as "ht0" 237 237 (check the boot messages with dmesg). Be sure to consult the 238 - <file:drivers/ide/ide-tape.c> and <file:Documentation/ide.txt> files 239 - for usage information. 238 + <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.txt> 239 + files for usage information. 240 240 241 241 To compile this driver as a module, choose M here: the 242 242 module will be called ide-tape. ··· 358 358 359 359 The CMD640 chip is also used on add-in cards by Acculogic, and on 360 360 the "CSA-6400E PCI to IDE controller" that some people have. For 361 - details, read <file:Documentation/ide.txt>. 361 + details, read <file:Documentation/ide/ide.txt>. 362 362 363 363 config BLK_DEV_CMD640_ENHANCED 364 364 bool "CMD640 enhanced support" ··· 366 366 help 367 367 This option includes support for setting/autotuning PIO modes and 368 368 prefetch on CMD640 IDE interfaces. For details, read 369 - <file:Documentation/ide.txt>. If you have a CMD640 IDE interface 369 + <file:Documentation/ide/ide.txt>. If you have a CMD640 IDE interface 370 370 and your BIOS does not already do this for you, then say Y here. 371 371 Otherwise say N. 372 372 ··· 1069 1069 This driver is enabled at runtime using the "ali14xx.probe" kernel 1070 1070 boot parameter. It enables support for the secondary IDE interface 1071 1071 of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster 1072 - I/O speeds to be set as well. See the files 1073 - <file:Documentation/ide.txt> and <file:drivers/ide/legacy/ali14xx.c> 1074 - for more info. 1072 + I/O speeds to be set as well. 1073 + See the files <file:Documentation/ide/ide.txt> and 1074 + <file:drivers/ide/legacy/ali14xx.c> for more info. 1075 1075 1076 1076 config BLK_DEV_DTC2278 1077 1077 tristate "DTC-2278 support" ··· 1079 1079 This driver is enabled at runtime using the "dtc2278.probe" kernel 1080 1080 boot parameter. It enables support for the secondary IDE interface 1081 1081 of the DTC-2278 card, and permits faster I/O speeds to be set as 1082 - well. See the <file:Documentation/ide.txt> and 1082 + well. See the <file:Documentation/ide/ide.txt> and 1083 1083 <file:drivers/ide/legacy/dtc2278.c> files for more info. 1084 1084 1085 1085 config BLK_DEV_HT6560B ··· 1088 1088 This driver is enabled at runtime using the "ht6560b.probe" kernel 1089 1089 boot parameter. It enables support for the secondary IDE interface 1090 1090 of the Holtek card, and permits faster I/O speeds to be set as well. 1091 - See the <file:Documentation/ide.txt> and 1091 + See the <file:Documentation/ide/ide.txt> and 1092 1092 <file:drivers/ide/legacy/ht6560b.c> files for more info. 1093 1093 1094 1094 config BLK_DEV_QD65XX ··· 1096 1096 help 1097 1097 This driver is enabled at runtime using the "qd65xx.probe" kernel 1098 1098 boot parameter. It permits faster I/O speeds to be set. See the 1099 - <file:Documentation/ide.txt> and <file:drivers/ide/legacy/qd65xx.c> 1099 + <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c> 1100 1100 for more info. 1101 1101 1102 1102 config BLK_DEV_UMC8672 ··· 1105 1105 This driver is enabled at runtime using the "umc8672.probe" kernel 1106 1106 boot parameter. It enables support for the secondary IDE interface 1107 1107 of the UMC-8672, and permits faster I/O speeds to be set as well. 1108 - See the files <file:Documentation/ide.txt> and 1108 + See the files <file:Documentation/ide/ide.txt> and 1109 1109 <file:drivers/ide/legacy/umc8672.c> for more info. 1110 1110 1111 1111 endif
+4
drivers/ide/ide-cd_ioctl.c
··· 457 457 layer. the packet must be complete, as we do not 458 458 touch it at all. */ 459 459 ide_cd_init_rq(drive, &req); 460 + 461 + if (cgc->data_direction == CGC_DATA_WRITE) 462 + req.cmd_flags |= REQ_RW; 463 + 460 464 memcpy(req.cmd, cgc->cmd, CDROM_PACKET_SIZE); 461 465 if (cgc->sense) 462 466 memset(cgc->sense, 0, sizeof(struct request_sense));
+1 -1
drivers/ide/ide-dma.c
··· 713 713 } 714 714 715 715 if (hwif->host_flags & IDE_HFLAG_NO_SET_MODE) 716 - return 0; 716 + return 1; 717 717 718 718 if (ide_set_dma_mode(drive, speed)) 719 719 return 0;
+2 -2
drivers/ide/ide.c
··· 667 667 668 668 do { 669 669 hwif = ide_deprecated_find_port(hw->io_ports[IDE_DATA_OFFSET]); 670 - index = hwif->index; 671 670 if (hwif) 672 671 goto found; 673 672 for (index = 0; index < MAX_HWIFS; index++) ··· 674 675 } while (retry--); 675 676 return -1; 676 677 found: 678 + index = hwif->index; 677 679 if (hwif->present) 678 680 ide_unregister(index, 0, 1); 679 681 else if (!hwif->hold) ··· 1180 1180 * ide_setup() gets called VERY EARLY during initialization, 1181 1181 * to handle kernel "command line" strings beginning with "hdx=" or "ide". 1182 1182 * 1183 - * Remember to update Documentation/ide.txt if you change something here. 1183 + * Remember to update Documentation/ide/ide.txt if you change something here. 1184 1184 */ 1185 1185 static int __init ide_setup(char *s) 1186 1186 {