linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Albert Lee <albertcc@tw.ibm.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: IDE Linux <linux-ide@vger.kernel.org>
Subject: Re: [PATCH] libata-dev-2.6: pdc2027x timing register fix for 100MHz adapters
Date: Thu, 24 Feb 2005 13:57:00 +0800	[thread overview]
Message-ID: <421D6CAC.3020308@tw.ibm.com> (raw)
In-Reply-To: <003f01c50905$c8090d10$6401a8c0@tw.ibm.com>


> Albert Lee wrote:
>   I did not get the pdc2027x timing registers right for the 100 MHz adapters.
> For the 100MHz adapters, the hardware will automatically set the timing registers to the correct value.
> No need to set the timing register by software table lookup.
> (The values in the lookup table are for 133Mhz adapters, which are incorrect for 100MHz adapters.)
> 
>   Attached please find the patch against the libata-dev-2.6 tree for your review. Thanks.
> 

Jeff,

  Please ignore my previous pdc2027x timing registers patch.
Attached please find the resubmitted patch against libata-dev-2.6 tree for your review. Thanks.

  Changes:
1. For the 100MHz pdc20268 and pdc20270 adapters, rely on the hardware to set the timing registers.

2. Add the new .bmdma_stop and .bmdma_status to pdc2027x_pata100_ops and pdc2027x_pata133_ops.


Albert

Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
=============================================================================================
--- libata-dev-2.6/drivers/scsi/pata_pdc2027x.c	2005-02-21 17:23:03.000000000 +0800
+++ libata-dev-2.6-mod/drivers/scsi/pata_pdc2027x.c	2005-02-24 13:55:03.000000000 +0800
@@ -29,7 +29,7 @@
 #include <asm/io.h>

 #define DRV_NAME	"pata_pdc2027x"
-#define DRV_VERSION	"0.55"
+#define DRV_VERSION	"0.57"
 #undef PDC_DEBUG

 #ifdef PDC_DEBUG
@@ -130,7 +130,34 @@
 	.bios_param		= ata_std_bios_param,
 };

-static struct ata_port_operations pdc2027x_pata_ops = {
+static struct ata_port_operations pdc2027x_pata100_ops = {
+	.port_disable		= ata_port_disable,
+
+	.tf_load		= ata_tf_load,
+	.tf_read		= ata_tf_read,
+	.check_status		= ata_check_status,
+	.exec_command		= ata_exec_command,
+	.dev_select		= ata_std_dev_select,
+
+	.phy_reset		= pdc2027x_phy_reset,
+
+	.check_atapi_dma	= pdc2027x_check_atapi_dma,
+	.bmdma_setup		= ata_bmdma_setup,
+	.bmdma_start		= ata_bmdma_start,
+	.bmdma_stop		= ata_bmdma_stop,
+	.bmdma_status		= ata_bmdma_status,
+	.qc_prep		= ata_qc_prep,
+	.qc_issue		= ata_qc_issue_prot,
+	.eng_timeout		= ata_eng_timeout,
+
+	.irq_handler		= ata_interrupt,
+	.irq_clear		= ata_bmdma_irq_clear,
+
+	.port_start		= ata_port_start,
+	.port_stop		= ata_port_stop,
+};
+
+static struct ata_port_operations pdc2027x_pata133_ops = {
 	.port_disable		= ata_port_disable,
 	.set_piomode		= pdc2027x_set_piomode,
 	.set_dmamode		= pdc2027x_set_dmamode,
@@ -147,6 +174,8 @@
 	.check_atapi_dma	= pdc2027x_check_atapi_dma,
 	.bmdma_setup		= ata_bmdma_setup,
 	.bmdma_start		= ata_bmdma_start,
+	.bmdma_stop		= ata_bmdma_stop,
+	.bmdma_status		= ata_bmdma_status,
 	.qc_prep		= ata_qc_prep,
 	.qc_issue		= ata_qc_issue_prot,
 	.eng_timeout		= ata_eng_timeout,
@@ -167,7 +196,7 @@
 		.pio_mask	= 0x1f, /* pio0-4 */
 		.mwdma_mask	= 0x07, /* mwdma0-2 */
 		.udma_mask	= ATA_UDMA5, /* udma0-5 */
-		.port_ops	= &pdc2027x_pata_ops,
+		.port_ops	= &pdc2027x_pata100_ops,
 	},
 	/* PDC_UDMA_133 */
 	{
@@ -177,7 +206,7 @@
 		.pio_mask	= 0x1f, /* pio0-4 */
 		.mwdma_mask	= 0x07, /* mwdma0-2 */
 		.udma_mask	= ATA_UDMA6, /* udma0-6 */
-		.port_ops	= &pdc2027x_pata_ops,
+		.port_ops	= &pdc2027x_pata133_ops,
 	},
 };




  reply	other threads:[~2005-02-24  5:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-02  9:01 [PATCH] libata-dev-2.6: pdc2027x timing register fix for 100MHz adapters Albert Lee
2005-02-24  5:57 ` Albert Lee [this message]
2005-02-24  6:10   ` Jeff Garzik
2005-02-24  6:51     ` Albert Lee
2005-02-24  6:56   ` Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=421D6CAC.3020308@tw.ibm.com \
    --to=albertcc@tw.ibm.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).