aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-iops.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-01-25 16:17:06 -0500
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-01-25 16:17:06 -0500
commit650d841d9e053a618dd8ce753422f91b493cf2f6 (patch)
tree70f81acbf856e4a4d8126bdf6d60144b374cc1a9 /drivers/ide/ide-iops.c
parentcd2a2d969761c26542095c01324201ca0b3ee896 (diff)
ide: add struct ide_taskfile (take 2)
* Don't set write-only ide_task_t.hobRegister[6] and ide_task_t.hobRegister[7] in idedisk_set_max_address_ext(). * Add struct ide_taskfile and use it in ide_task_t instead of tfRegister[] and hobRegister[]. * Remove no longer needed IDE_CONTROL_OFFSET_HOB define. * Add #ifndef/#endif __KERNEL__ around definitions of {task,hob}_struct_t. While at it: * Use ATA_LBA define for LBA bit (0x40) as suggested by Tejun Heo. v2: * Add missing newlines. (Noticed by Sergei) * Use ~ATA_LBA instead of 0xBF. (Noticed by Sergei) * Use unnamed unions for error/feature and status/command. (Suggested by Sergei). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-iops.c')
-rw-r--r--drivers/ide/ide-iops.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c
index f4e8a0cf06e2..4aac1cc7101d 100644
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -642,9 +642,9 @@ no_80w:
642 642
643int ide_ata66_check (ide_drive_t *drive, ide_task_t *args) 643int ide_ata66_check (ide_drive_t *drive, ide_task_t *args)
644{ 644{
645 if ((args->tfRegister[IDE_COMMAND_OFFSET] == WIN_SETFEATURES) && 645 if (args->tf.command == WIN_SETFEATURES &&
646 (args->tfRegister[IDE_SECTOR_OFFSET] > XFER_UDMA_2) && 646 args->tf.lbal > XFER_UDMA_2 &&
647 (args->tfRegister[IDE_FEATURE_OFFSET] == SETFEATURES_XFER)) { 647 args->tf.feature == SETFEATURES_XFER) {
648 if (eighty_ninty_three(drive) == 0) { 648 if (eighty_ninty_three(drive) == 0) {
649 printk(KERN_WARNING "%s: UDMA speeds >UDMA33 cannot " 649 printk(KERN_WARNING "%s: UDMA speeds >UDMA33 cannot "
650 "be set\n", drive->name); 650 "be set\n", drive->name);
@@ -662,9 +662,9 @@ int ide_ata66_check (ide_drive_t *drive, ide_task_t *args)
662 */ 662 */
663int set_transfer (ide_drive_t *drive, ide_task_t *args) 663int set_transfer (ide_drive_t *drive, ide_task_t *args)
664{ 664{
665 if ((args->tfRegister[IDE_COMMAND_OFFSET] == WIN_SETFEATURES) && 665 if (args->tf.command == WIN_SETFEATURES &&
666 (args->tfRegister[IDE_SECTOR_OFFSET] >= XFER_SW_DMA_0) && 666 args->tf.lbal >= XFER_SW_DMA_0 &&
667 (args->tfRegister[IDE_FEATURE_OFFSET] == SETFEATURES_XFER) && 667 args->tf.feature == SETFEATURES_XFER &&
668 (drive->id->dma_ultra || 668 (drive->id->dma_ultra ||
669 drive->id->dma_mword || 669 drive->id->dma_mword ||
670 drive->id->dma_1word)) 670 drive->id->dma_1word))