The polling PIO code path is going to use freeze()/thaw(), regardless of old EH 
or new EH.
Add freeze()/thaw() to old EH LLDDs for the use of polling PIO.

Signed-off-by: Albert Lee <[EMAIL PROTECTED]>
---

diff -Nrup 02_sata_pdc_freeze/drivers/ata/pata_ixp4xx_cf.c 
03_add_thaw_freeze/drivers/ata/pata_ixp4xx_cf.c
--- 02_sata_pdc_freeze/drivers/ata/pata_ixp4xx_cf.c     2007-07-07 
09:58:55.000000000 +0800
+++ 03_add_thaw_freeze/drivers/ata/pata_ixp4xx_cf.c     2007-07-07 
10:39:43.000000000 +0800
@@ -131,6 +131,9 @@ static struct ata_port_operations ixp4xx
        .data_xfer      = ixp4xx_mmio_data_xfer,
        .cable_detect   = ata_cable_40wire,
 
+       .freeze         = ata_bmdma_freeze,
+       .thaw           = ata_bmdma_thaw,
+
        .irq_clear      = ixp4xx_irq_clear,
        .irq_on         = ata_irq_on,
        .irq_ack        = ata_irq_ack,
diff -Nrup 02_sata_pdc_freeze/drivers/ata/pata_scc.c 
03_add_thaw_freeze/drivers/ata/pata_scc.c
--- 02_sata_pdc_freeze/drivers/ata/pata_scc.c   2007-07-07 10:38:55.000000000 
+0800
+++ 03_add_thaw_freeze/drivers/ata/pata_scc.c   2007-07-07 10:39:43.000000000 
+0800
@@ -869,6 +869,18 @@ static void scc_bmdma_freeze (struct ata
 }
 
 /**
+ *     scc_bmdma_thaw - Thaw BMDMA controller port
+ *     @ap: port to thaw
+ *
+ *     Note: Original code is ata_bmdma_thaw().
+ */
+
+static void scc_bmdma_thaw (struct ata_port *ap)
+{
+       scc_irq_on(ap);
+}
+
+/**
  *     scc_pata_prereset - prepare for reset
  *     @ap: ATA port to be reset
  *     @deadline: deadline jiffies for the operation
@@ -1015,6 +1027,7 @@ static const struct ata_port_operations 
        .qc_issue               = ata_qc_issue_prot,
 
        .freeze                 = scc_bmdma_freeze,
+       .thaw                   = scc_bmdma_thaw,
        .error_handler          = scc_error_handler,
        .post_internal_cmd      = scc_bmdma_stop,
 
diff -Nrup 02_sata_pdc_freeze/drivers/ata/pdc_adma.c 
03_add_thaw_freeze/drivers/ata/pdc_adma.c
--- 02_sata_pdc_freeze/drivers/ata/pdc_adma.c   2007-07-07 09:58:55.000000000 
+0800
+++ 03_add_thaw_freeze/drivers/ata/pdc_adma.c   2007-07-07 10:39:43.000000000 
+0800
@@ -171,6 +171,8 @@ static const struct ata_port_operations 
        .qc_issue               = adma_qc_issue,
        .eng_timeout            = adma_eng_timeout,
        .data_xfer              = ata_data_xfer,
+       .freeze                 = ata_bmdma_freeze,
+       .thaw                   = ata_bmdma_thaw,
        .irq_clear              = adma_irq_clear,
        .irq_on                 = ata_irq_on,
        .irq_ack                = ata_irq_ack,
diff -Nrup 02_sata_pdc_freeze/drivers/ata/sata_mv.c 
03_add_thaw_freeze/drivers/ata/sata_mv.c
--- 02_sata_pdc_freeze/drivers/ata/sata_mv.c    2007-07-07 09:58:55.000000000 
+0800
+++ 03_add_thaw_freeze/drivers/ata/sata_mv.c    2007-07-07 10:39:43.000000000 
+0800
@@ -453,6 +453,9 @@ static const struct ata_port_operations 
 
        .eng_timeout            = mv_eng_timeout,
 
+       .freeze                 = ata_bmdma_freeze,
+       .thaw                   = ata_bmdma_thaw,
+
        .irq_clear              = mv_irq_clear,
        .irq_on                 = ata_irq_on,
        .irq_ack                = ata_irq_ack,
@@ -482,6 +485,9 @@ static const struct ata_port_operations 
 
        .eng_timeout            = mv_eng_timeout,
 
+       .freeze                 = ata_bmdma_freeze,
+       .thaw                   = ata_bmdma_thaw,
+
        .irq_clear              = mv_irq_clear,
        .irq_on                 = ata_irq_on,
        .irq_ack                = ata_irq_ack,
@@ -511,6 +517,9 @@ static const struct ata_port_operations 
 
        .eng_timeout            = mv_eng_timeout,
 
+       .freeze                 = ata_bmdma_freeze,
+       .thaw                   = ata_bmdma_thaw,
+
        .irq_clear              = mv_irq_clear,
        .irq_on                 = ata_irq_on,
        .irq_ack                = ata_irq_ack,
diff -Nrup 02_sata_pdc_freeze/drivers/ata/sata_qstor.c 
03_add_thaw_freeze/drivers/ata/sata_qstor.c
--- 02_sata_pdc_freeze/drivers/ata/sata_qstor.c 2007-07-07 09:58:55.000000000 
+0800
+++ 03_add_thaw_freeze/drivers/ata/sata_qstor.c 2007-07-07 10:39:43.000000000 
+0800
@@ -157,6 +157,8 @@ static const struct ata_port_operations 
        .qc_issue               = qs_qc_issue,
        .data_xfer              = ata_data_xfer,
        .eng_timeout            = qs_eng_timeout,
+       .freeze                 = ata_bmdma_freeze,
+       .thaw                   = ata_bmdma_thaw,
        .irq_clear              = qs_irq_clear,
        .irq_on                 = ata_irq_on,
        .irq_ack                = ata_irq_ack,
diff -Nrup 02_sata_pdc_freeze/drivers/ata/sata_sx4.c 
03_add_thaw_freeze/drivers/ata/sata_sx4.c
--- 02_sata_pdc_freeze/drivers/ata/sata_sx4.c   2007-07-07 09:58:55.000000000 
+0800
+++ 03_add_thaw_freeze/drivers/ata/sata_sx4.c   2007-07-07 10:39:43.000000000 
+0800
@@ -203,6 +203,8 @@ static const struct ata_port_operations 
        .qc_issue               = pdc20621_qc_issue_prot,
        .data_xfer              = ata_data_xfer,
        .eng_timeout            = pdc_eng_timeout,
+       .freeze                 = ata_bmdma_freeze,
+       .thaw                   = ata_bmdma_thaw,
        .irq_clear              = pdc20621_irq_clear,
        .irq_on                 = ata_irq_on,
        .irq_ack                = ata_irq_ack,


-
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