| To: | linux-ide@vger.kernel.org |
|---|---|
| Subject: | [PATCH 2/3] libata: Add special ata_pio_need_iordy() handling for Compact Flash. |
| From: | David Daney <ddaney@caviumnetworks.com> |
| Date: | Mon, 8 Dec 2008 17:39:57 -0800 |
| Cc: | linux-mips@linux-mips.org, David Daney <ddaney@caviumnetworks.com> |
| In-reply-to: | <493DCBEA.9090007@caviumnetworks.com> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <493DCBEA.9090007@caviumnetworks.com> |
| Sender: | linux-mips-bounce@linux-mips.org |
According to the Compact Flash specification r4.1, PIO modes 5 and 6
do not use iordy.
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
drivers/ata/libata-core.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index b156d83..febdcb7 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -1923,6 +1923,10 @@ unsigned int ata_pio_need_iordy(const struct ata_device
*adev)
as the caller should know this */
if (adev->link->ap->flags & ATA_FLAG_NO_IORDY)
return 0;
+ /* CF spec. r4.1 Table 22 says no iordy on PIO5 and PIO6. */
+ if (ata_id_is_cfa(adev->id)
+ && (adev->pio_mode == XFER_PIO_5 || adev->pio_mode == XFER_PIO_6))
+ return 0;
/* PIO3 and higher it is mandatory */
if (adev->pio_mode > XFER_PIO_2)
return 1;
--
1.5.6.5
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [PATCH 3/3] libata: New driver for OCTEON SOC Compact Flash interface (v3)., David Daney |
|---|---|
| Next by Date: | [PATCH 1/3] libata: Add two more columns to the ata_timing table., David Daney |
| Previous by Thread: | [PATCH 3/3] libata: New driver for OCTEON SOC Compact Flash interface (v3)., David Daney |
| Next by Thread: | [PATCH 1/3] libata: Add two more columns to the ata_timing table., David Daney |
| Indexes: | [Date] [Thread] [Top] [All Lists] |