summaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-timing.h
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz2008-07-16 20:33:36 +0200
committerBartlomiej Zolnierkiewicz2008-07-16 20:33:36 +0200
commitbd887f72d2a28a8202519e67fd9ed93ee3c4e78d (patch)
treece71b2dc1c1575b16846ea2b57f8c18f1f0fbf93 /drivers/ide/ide-timing.h
parentide: move some bits from ide-timing.h to <linux/ide.h> (diff)
downloadkernel-qcow2-linux-bd887f72d2a28a8202519e67fd9ed93ee3c4e78d.tar.gz
kernel-qcow2-linux-bd887f72d2a28a8202519e67fd9ed93ee3c4e78d.tar.xz
kernel-qcow2-linux-bd887f72d2a28a8202519e67fd9ed93ee3c4e78d.zip
ide: remove XFER_* masks from ide-timing.h
* Check requested xfer mode against xfer modes instead of XFER_* masks in ide_timing_compute() and cs5535.c::cs5535_set_speed(). * Remove XFER_[MODE,MWDMA,EPIO,PIO] masks. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-timing.h')
-rw-r--r--drivers/ide/ide-timing.h24
1 files changed, 7 insertions, 17 deletions
diff --git a/drivers/ide/ide-timing.h b/drivers/ide/ide-timing.h
index 724879910ac8..a401d8f82b50 100644
--- a/drivers/ide/ide-timing.h
+++ b/drivers/ide/ide-timing.h
@@ -70,11 +70,6 @@ static struct ide_timing ide_timing[] = {
#define ENOUGH(v,unit) (((v)-1)/(unit)+1)
#define EZ(v,unit) ((v)?ENOUGH(v,unit):0)
-#define XFER_MODE 0xf0
-#define XFER_MWDMA 0x20
-#define XFER_EPIO 0x01
-#define XFER_PIO 0x00
-
static void ide_timing_quantize(struct ide_timing *t, struct ide_timing *q, int T, int UT)
{
q->setup = EZ(t->setup * 1000, T);
@@ -137,17 +132,12 @@ static int ide_timing_compute(ide_drive_t *drive, u8 speed,
memset(&p, 0, sizeof(p));
- switch (speed & XFER_MODE) {
-
- case XFER_PIO:
- if (speed <= XFER_PIO_2) p.cycle = p.cyc8b = id->eide_pio;
- else p.cycle = p.cyc8b = id->eide_pio_iordy;
- break;
-
- case XFER_MWDMA:
- p.cycle = id->eide_dma_min;
- break;
- }
+ if (speed <= XFER_PIO_2)
+ p.cycle = p.cyc8b = id->eide_pio;
+ else if (speed <= XFER_PIO_5)
+ p.cycle = p.cyc8b = id->eide_pio_iordy;
+ else if (speed >= XFER_MW_DMA_0 && speed <= XFER_MW_DMA_2)
+ p.cycle = id->eide_dma_min;
ide_timing_merge(&p, t, t, IDE_TIMING_CYCLE | IDE_TIMING_CYC8B);
}
@@ -164,7 +154,7 @@ static int ide_timing_compute(ide_drive_t *drive, u8 speed,
* slower/equal than the fastest PIO timing.
*/
- if ((speed & XFER_MODE) != XFER_PIO) {
+ if (speed >= XFER_SW_DMA_0) {
u8 pio = ide_get_best_pio_mode(drive, 255, 5);
ide_timing_compute(drive, XFER_PIO_0 + pio, &p, T, UT);
ide_timing_merge(&p, t, t, IDE_TIMING_ALL);