Hello.

Bartlomiej Zolnierkiewicz wrote:

Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>

Sigh... when I was talking about getting rid of that function, I meant that we need to also decouple UltraDMA from PIO -- which is what this patch misses... Actually, I intended to decouple DMA form PIO in this drivers completely but that would be a next step...

Index: b/drivers/ide/pci/it8213.c
===================================================================
--- a/drivers/ide/pci/it8213.c
+++ b/drivers/ide/pci/it8213.c
@@ -124,7 +93,7 @@ static void it8213_set_dma_mode(ide_driv
        int w_flag              = 0x10 << drive->dn;
        int u_speed             = 0;
        u16                     reg4042, reg4a;
-       u8                      reg48, reg54, reg55;
+       u8                      reg48, reg54, reg55, pio;
pci_read_config_word(dev, maslave, &reg4042);
        pci_read_config_byte(dev, 0x48, &reg48);
@@ -165,7 +134,11 @@ static void it8213_set_dma_mode(ide_driv
                                pci_write_config_byte(dev, 0x54, reg54 | 
v_flag);
                } else
                        pci_write_config_byte(dev, 0x54, reg54 & ~v_flag);
+
+               pio = 4;

   Why let this stupidity live?

        } else {
+               const u8 mwdma_to_pio[] = { 0, 3, 4 };
+
                if (reg48 & u_flag)
                        pci_write_config_byte(dev, 0x48, reg48 & ~u_flag);
                if (reg4a & a_speed)
@@ -174,9 +147,14 @@ static void it8213_set_dma_mode(ide_driv
                        pci_write_config_byte(dev, 0x54, reg54 & ~v_flag);
                if (reg55 & w_flag)
                        pci_write_config_byte(dev, 0x55, (u8) reg55 & ~w_flag);
+
+               if (speed >= XFER_MW_DMA_0)
+                       pio = mwdma_to_pio[speed - XFER_MW_DMA_0];
+               else
+                       pio = 2; /* only SWDMA2 is allowed */

Well, MWDMA0 is also not allowed, so you could have cut on mwdma_to_pio array size.

MBR, Sergei
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to