diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-03-07 13:17:59 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-03-07 13:17:59 -0800 |
commit | bb641ab496d5b8eb835ae1933926fdf23feb5260 (patch) | |
tree | 12d8437158fd16b58fc324fb7e2f8781e2463a9c | |
parent | 4c1aa6f8b9686ddc7221f0f3b63f9b7dd1467543 (diff) | |
parent | 1c10e93828f8861c3f58d647e259de0e2c63b930 (diff) | |
download | linux-stable-bb641ab496d5b8eb835ae1933926fdf23feb5260.tar.gz linux-stable-bb641ab496d5b8eb835ae1933926fdf23feb5260.tar.bz2 linux-stable-bb641ab496d5b8eb835ae1933926fdf23feb5260.zip |
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
-rw-r--r-- | Documentation/00-INDEX | 2 | ||||
-rw-r--r-- | Documentation/cdrom/ide-cd | 18 | ||||
-rw-r--r-- | Documentation/ide/00-INDEX | 12 | ||||
-rw-r--r-- | Documentation/ide/ide.txt (renamed from Documentation/ide.txt) | 20 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 8 | ||||
-rw-r--r-- | drivers/ide/Kconfig | 30 | ||||
-rw-r--r-- | drivers/ide/ide-cd_ioctl.c | 4 | ||||
-rw-r--r-- | drivers/ide/ide-dma.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide.c | 4 |
9 files changed, 57 insertions, 43 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 30b327a116ea..042073f656e5 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX @@ -183,8 +183,6 @@ i386/ - directory with info about Linux on Intel 32 bit architecture. ia64/ - directory with info about Linux on Intel 64 bit architecture. -ide.txt - - important info for users of ATA devices (IDE/EIDE disks and CD-ROMS). infiniband/ - directory with documents concerning Linux InfiniBand support. initrd.txt diff --git a/Documentation/cdrom/ide-cd b/Documentation/cdrom/ide-cd index 29721bfcde12..91c0dcc6fa5c 100644 --- a/Documentation/cdrom/ide-cd +++ b/Documentation/cdrom/ide-cd @@ -45,7 +45,7 @@ This driver provides the following features: --------------- 0. The ide-cd relies on the ide disk driver. See - Documentation/ide.txt for up-to-date information on the ide + Documentation/ide/ide.txt for up-to-date information on the ide driver. 1. Make sure that the ide and ide-cd drivers are compiled into the @@ -64,7 +64,7 @@ This driver provides the following features: Depending on what type of IDE interface you have, you may need to specify additional configuration options. See - Documentation/ide.txt. + Documentation/ide/ide.txt. 2. You should also ensure that the iso9660 filesystem is either compiled into the kernel or available as a loadable module. You @@ -84,7 +84,7 @@ This driver provides the following features: on the primary IDE interface are called `hda' and `hdb', respectively. The drives on the secondary interface are called `hdc' and `hdd'. (Interfaces at other locations get other letters - in the third position; see Documentation/ide.txt.) + in the third position; see Documentation/ide/ide.txt.) If you want your CDROM drive to be found automatically by the driver, you should make sure your IDE interface uses either the @@ -93,7 +93,7 @@ This driver provides the following features: be jumpered as `master'. (If for some reason you cannot configure your system in this manner, you can probably still use the driver. You may have to pass extra configuration information to the kernel - when you boot, however. See Documentation/ide.txt for more + when you boot, however. See Documentation/ide/ide.txt for more information.) 4. Boot the system. If the drive is recognized, you should see a @@ -201,7 +201,7 @@ TEST This section discusses some common problems encountered when trying to use the driver, and some possible solutions. Note that if you are experiencing problems, you should probably also review -Documentation/ide.txt for current information about the underlying +Documentation/ide/ide.txt for current information about the underlying IDE support code. Some of these items apply only to earlier versions of the driver, but are mentioned here for completeness. @@ -211,7 +211,7 @@ from the driver. a. Drive is not detected during booting. - Review the configuration instructions above and in - Documentation/ide.txt, and check how your hardware is + Documentation/ide/ide.txt, and check how your hardware is configured. - If your drive is the only device on an IDE interface, it should @@ -219,7 +219,7 @@ a. Drive is not detected during booting. - If your IDE interface is not at the standard addresses of 0x170 or 0x1f0, you'll need to explicitly inform the driver using a - lilo option. See Documentation/ide.txt. (This feature was + lilo option. See Documentation/ide/ide.txt. (This feature was added around kernel version 1.3.30.) - If the autoprobing is not finding your drive, you can tell the @@ -245,7 +245,7 @@ a. Drive is not detected during booting. Support for some interfaces needing extra initialization is provided in later 1.3.x kernels. You may need to turn on additional kernel configuration options to get them to work; - see Documentation/ide.txt. + see Documentation/ide/ide.txt. Even if support is not available for your interface, you may be able to get it to work with the following procedure. First boot @@ -299,7 +299,7 @@ c. System hangups. be worked around by specifying the `serialize' option when booting. Recent kernels should be able to detect the need for this automatically in most cases, but the detection is not - foolproof. See Documentation/ide.txt for more information + foolproof. See Documentation/ide/ide.txt for more information about the `serialize' option and the CMD640B. - Note that many MS-DOS CDROM drivers will work with such buggy diff --git a/Documentation/ide/00-INDEX b/Documentation/ide/00-INDEX new file mode 100644 index 000000000000..d6b778842b75 --- /dev/null +++ b/Documentation/ide/00-INDEX @@ -0,0 +1,12 @@ +00-INDEX + - this file +ChangeLog.ide-cd.1994-2004 + - ide-cd changelog +ChangeLog.ide-floppy.1996-2002 + - ide-floppy changelog +ChangeLog.ide-tape.1995-2002 + - ide-tape changelog +ide-tape.txt + - info on the IDE ATAPI streaming tape driver +ide.txt + - important info for users of ATA devices (IDE/EIDE disks and CD-ROMS). diff --git a/Documentation/ide.txt b/Documentation/ide/ide.txt index bcd7cd1278ef..e3b3425328b6 100644 --- a/Documentation/ide.txt +++ b/Documentation/ide/ide.txt @@ -3,11 +3,11 @@ ============================================================================== - + The hdparm utility can be used to control various IDE features on a running system. It is packaged separately. Please Look for it on popular linux FTP sites. - + *** IMPORTANT NOTICES: BUGGY IDE CHIPSETS CAN CORRUPT DATA!! @@ -51,7 +51,7 @@ Common pitfalls: ================================================================================ -This is the multiple IDE interface driver, as evolved from hd.c. +This is the multiple IDE interface driver, as evolved from hd.c. It supports up to 9 IDE interfaces per default, on one or more IRQs (usually 14 & 15). There can be up to two drives per interface, as per the ATA-6 spec. @@ -215,17 +215,17 @@ Summary of ide driver parameters for kernel command line -------------------------------------------------------- "hdx=" is recognized for all "x" from "a" to "h", such as "hdc". - + "idex=" is recognized for all "x" from "0" to "3", such as "ide1". "hdx=noprobe" : drive may be present, but do not probe for it - + "hdx=none" : drive is NOT present, ignore cmos and do not probe - + "hdx=nowerr" : ignore the WRERR_STAT bit on this drive - + "hdx=cdrom" : drive is present, and is a cdrom drive - + "hdx=cyl,head,sect" : disk drive is present, with specified geometry "hdx=remap" : remap access of sector 0 to sector 1 (for EZDrive) @@ -261,7 +261,7 @@ Summary of ide driver parameters for kernel command line "idex=base" : probe for an interface at the addr specified, where "base" is usually 0x1f0 or 0x170 and "ctl" is assumed to be "base"+0x206 - + "idex=base,ctl" : specify both base and ctl "idex=base,ctl,irq" : specify base, ctl, and irq number @@ -272,7 +272,7 @@ Summary of ide driver parameters for kernel command line to take effect. "idex=four" : four drives on idex and ide(x^1) share same ports - + "idex=reset" : reset interface after probe "idex=ata66" : informs the interface that it has an 80c cable diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 9a5b6658c65e..533e67febf81 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -712,7 +712,7 @@ and is between 256 and 4096 characters. It is defined in the file Format: <cyl>,<head>,<sect> hd?= [HW] (E)IDE subsystem - hd?lun= See Documentation/ide.txt. + hd?lun= See Documentation/ide/ide.txt. highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact size of <nn>. This works even on boxes that have no @@ -766,14 +766,14 @@ and is between 256 and 4096 characters. It is defined in the file ide= [HW] (E)IDE subsystem Format: ide=nodma or ide=doubler or ide=reverse - See Documentation/ide.txt. + See Documentation/ide/ide.txt. ide?= [HW] (E)IDE subsystem Format: ide?=noprobe or chipset specific parameters. - See Documentation/ide.txt. + See Documentation/ide/ide.txt. idebus= [HW] (E)IDE subsystem - VLB/PCI bus speed - See Documentation/ide.txt. + See Documentation/ide/ide.txt. idle= [X86] Format: idle=poll or idle=mwait diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig index df752e690e47..eed6d8e1b5c7 100644 --- a/drivers/ide/Kconfig +++ b/drivers/ide/Kconfig @@ -50,7 +50,7 @@ menuconfig IDE To compile this driver as a module, choose M here: the module will be called ide. - For further information, please read <file:Documentation/ide.txt>. + For further information, please read <file:Documentation/ide/ide.txt>. If unsure, say Y. @@ -77,7 +77,7 @@ config BLK_DEV_IDE Useful information about large (>540 MB) IDE disks, multiple interfaces, what to do if ATA/IDE devices are not automatically detected, sound card ATA/IDE ports, module support, and other - topics, is contained in <file:Documentation/ide.txt>. For detailed + topics, is contained in <file:Documentation/ide/ide.txt>. For detailed information about hard drives, consult the Disk-HOWTO and the Multi-Disk-HOWTO, available from <http://www.tldp.org/docs.html#howto>. @@ -87,7 +87,7 @@ config BLK_DEV_IDE <ftp://ibiblio.org/pub/Linux/system/hardware/>. To compile this driver as a module, choose M here and read - <file:Documentation/ide.txt>. The module will be called ide-mod. + <file:Documentation/ide/ide.txt>. The module will be called ide-mod. Do not compile this driver as a module if your root file system (the one containing the directory /) is located on an IDE device. @@ -98,7 +98,7 @@ config BLK_DEV_IDE if BLK_DEV_IDE -comment "Please see Documentation/ide.txt for help/info on IDE drives" +comment "Please see Documentation/ide/ide.txt for help/info on IDE drives" config BLK_DEV_IDE_SATA bool "Support for SATA (deprecated; conflicts with libata SATA driver)" @@ -235,8 +235,8 @@ config BLK_DEV_IDETAPE along with other IDE devices, as "hdb" or "hdc", or something similar, and will be mapped to a character device such as "ht0" (check the boot messages with dmesg). Be sure to consult the - <file:drivers/ide/ide-tape.c> and <file:Documentation/ide.txt> files - for usage information. + <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.txt> + files for usage information. To compile this driver as a module, choose M here: the module will be called ide-tape. @@ -358,7 +358,7 @@ config BLK_DEV_CMD640 The CMD640 chip is also used on add-in cards by Acculogic, and on the "CSA-6400E PCI to IDE controller" that some people have. For - details, read <file:Documentation/ide.txt>. + details, read <file:Documentation/ide/ide.txt>. config BLK_DEV_CMD640_ENHANCED bool "CMD640 enhanced support" @@ -366,7 +366,7 @@ config BLK_DEV_CMD640_ENHANCED help This option includes support for setting/autotuning PIO modes and prefetch on CMD640 IDE interfaces. For details, read - <file:Documentation/ide.txt>. If you have a CMD640 IDE interface + <file:Documentation/ide/ide.txt>. If you have a CMD640 IDE interface and your BIOS does not already do this for you, then say Y here. Otherwise say N. @@ -1069,9 +1069,9 @@ config BLK_DEV_ALI14XX This driver is enabled at runtime using the "ali14xx.probe" kernel boot parameter. It enables support for the secondary IDE interface of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster - I/O speeds to be set as well. See the files - <file:Documentation/ide.txt> and <file:drivers/ide/legacy/ali14xx.c> - for more info. + I/O speeds to be set as well. + See the files <file:Documentation/ide/ide.txt> and + <file:drivers/ide/legacy/ali14xx.c> for more info. config BLK_DEV_DTC2278 tristate "DTC-2278 support" @@ -1079,7 +1079,7 @@ config BLK_DEV_DTC2278 This driver is enabled at runtime using the "dtc2278.probe" kernel boot parameter. It enables support for the secondary IDE interface of the DTC-2278 card, and permits faster I/O speeds to be set as - well. See the <file:Documentation/ide.txt> and + well. See the <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/dtc2278.c> files for more info. config BLK_DEV_HT6560B @@ -1088,7 +1088,7 @@ config BLK_DEV_HT6560B This driver is enabled at runtime using the "ht6560b.probe" kernel boot parameter. It enables support for the secondary IDE interface of the Holtek card, and permits faster I/O speeds to be set as well. - See the <file:Documentation/ide.txt> and + See the <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/ht6560b.c> files for more info. config BLK_DEV_QD65XX @@ -1096,7 +1096,7 @@ config BLK_DEV_QD65XX help This driver is enabled at runtime using the "qd65xx.probe" kernel boot parameter. It permits faster I/O speeds to be set. See the - <file:Documentation/ide.txt> and <file:drivers/ide/legacy/qd65xx.c> + <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c> for more info. config BLK_DEV_UMC8672 @@ -1105,7 +1105,7 @@ config BLK_DEV_UMC8672 This driver is enabled at runtime using the "umc8672.probe" kernel boot parameter. It enables support for the secondary IDE interface of the UMC-8672, and permits faster I/O speeds to be set as well. - See the files <file:Documentation/ide.txt> and + See the files <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/umc8672.c> for more info. endif diff --git a/drivers/ide/ide-cd_ioctl.c b/drivers/ide/ide-cd_ioctl.c index b68284de4e85..6d147ce6782f 100644 --- a/drivers/ide/ide-cd_ioctl.c +++ b/drivers/ide/ide-cd_ioctl.c @@ -457,6 +457,10 @@ int ide_cdrom_packet(struct cdrom_device_info *cdi, layer. the packet must be complete, as we do not touch it at all. */ ide_cd_init_rq(drive, &req); + + if (cgc->data_direction == CGC_DATA_WRITE) + req.cmd_flags |= REQ_RW; + memcpy(req.cmd, cgc->cmd, CDROM_PACKET_SIZE); if (cgc->sense) memset(cgc->sense, 0, sizeof(struct request_sense)); diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index 2de99e4be5c9..d61e5788d310 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c @@ -713,7 +713,7 @@ static int ide_tune_dma(ide_drive_t *drive) } if (hwif->host_flags & IDE_HFLAG_NO_SET_MODE) - return 0; + return 1; if (ide_set_dma_mode(drive, speed)) return 0; diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index fa16bc30bbc9..9976f9d627d4 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c @@ -667,7 +667,6 @@ int ide_register_hw(hw_regs_t *hw, void (*quirkproc)(ide_drive_t *), do { hwif = ide_deprecated_find_port(hw->io_ports[IDE_DATA_OFFSET]); - index = hwif->index; if (hwif) goto found; for (index = 0; index < MAX_HWIFS; index++) @@ -675,6 +674,7 @@ int ide_register_hw(hw_regs_t *hw, void (*quirkproc)(ide_drive_t *), } while (retry--); return -1; found: + index = hwif->index; if (hwif->present) ide_unregister(index, 0, 1); else if (!hwif->hold) @@ -1180,7 +1180,7 @@ static int __initdata is_chipset_set[MAX_HWIFS]; * ide_setup() gets called VERY EARLY during initialization, * to handle kernel "command line" strings beginning with "hdx=" or "ide". * - * Remember to update Documentation/ide.txt if you change something here. + * Remember to update Documentation/ide/ide.txt if you change something here. */ static int __init ide_setup(char *s) { |