[Top] [All Lists]

Re: [PATCH 1/2] libata: Add two more columns to the ata_timing table.

To: David Daney <>
Subject: Re: [PATCH 1/2] libata: Add two more columns to the ata_timing table.
From: Sergei Shtylyov <>
Date: Mon, 08 Dec 2008 21:48:47 +0300
In-reply-to: <>
Organization: MontaVista Software Inc.
Original-recipient: rfc822;
References: <> <> <> <>
User-agent: Mozilla/5.0 (X11; U; Linux i686; rv:1.7.2) Gecko/20040803
David Daney wrote:


David Daney wrote:

The forthcoming OCTEON SOC Compact Flash driver needs a few more
timing values than were available in the ata_timing table.  I add new
columns for write_hold and read_holdz times.  The values were obtained
from the Compact Flash specification Rev 4.1.

Signed-off-by: David Daney <>


diff --git a/include/linux/libata.h b/include/linux/libata.h
index ed3f26e..95fa9f6 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h


 enum ata_xfer_mask {
@@ -864,6 +868,8 @@ struct ata_timing {
     unsigned short cyc8b;        /* t0 for 8-bit I/O */
     unsigned short active;        /* t2 or tD */
     unsigned short recover;        /* t2i or tK */
+    unsigned short write_hold;    /* t4 */
+    unsigned short read_holdz;    /* t6z */

Sorry for failing to notice this before but t6z is again the timing that the host can't control. Therefore I'm seeig no sense in its addition.

The host cannot control t6z, but in some cases (like ours) it needs to be aware of its value. We cannot start driving the bus for access to other devices until the CF stops driving it. We need to know how long to wait until it is safe to use the bus for other things.

Re-read the spec please, the timing you need is t9 and it's much longer than t6 that your driver using instead.

I don't know how your driver is going to use it -- but most probably incorrectly...

Thanks for that vote of confidence.

  You're welcome. :-)

David Daney

MBR, Sergei

<Prev in Thread] Current Thread [Next in Thread>