linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Dave Dillow <dave@thedillows.org>
Cc: linux-ide@vger.kernel.org
Subject: Re: [PATCH, RFT, v2] sata_mv: convert to new EH
Date: Tue, 06 Mar 2007 01:01:02 -0500	[thread overview]
Message-ID: <45ED039E.20608@garzik.org> (raw)
In-Reply-To: <1173158201.3416.8.camel@obelisk.thedillows.org>

[-- Attachment #1: Type: text/plain, Size: 941 bytes --]

Dave Dillow wrote:
> BUG: at drivers/ata/sata_mv.c:1245 mv_qc_issue()
> BUG: at drivers/ata/sata_mv.c:1245 mv_qc_issue()
> BUG: at drivers/ata/sata_mv.c:1245 mv_qc_issue()
> BUG: at drivers/ata/sata_mv.c:1245 mv_qc_issue()
> BUG: at drivers/ata/sata_mv.c:1291 mv_get_crpb_status()

Well, all these seem to be WARN_ON() statements that will fire if NCQ 
queueing is enabled, which it should not be.

I also note that my test disk is not NCQ-capable, but the testers like 
you getting the BUG: output are attaching NCQ-capable disks.

So it sounds like something changes for the worst in NCQ land, which is 
area I did not touch for the new-EH work.  However, I do remember 
cleaning up the EDMA configuration in a patch (also sent upstream).

Does the attached patch fix things?  It should apply on top of 
linux-2.6.git upstream, or libata-dev.git#mv-eh.  This patch merely 
reverts commit e728eabea110da90e69c05855e3a11174edb77ef.

	Jeff



[-- Attachment #2: patch.sata_mv-edma-cfg-revert --]
[-- Type: text/plain, Size: 1538 bytes --]

diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 89ffe07..96cba99 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -871,27 +871,23 @@ static void mv_edma_cfg(struct mv_host_priv *hpriv, void __iomem *port_mmio)
 	u32 cfg = readl(port_mmio + EDMA_CFG_OFS);
 
 	/* set up non-NCQ EDMA configuration */
+	cfg &= ~0x1f;		/* clear queue depth */
+	cfg &= ~EDMA_CFG_NCQ;	/* clear NCQ mode */
 	cfg &= ~(1 << 9);	/* disable equeue */
 
-	if (IS_GEN_I(hpriv)) {
-		cfg &= ~0x1f;		/* clear queue depth */
+	if (IS_GEN_I(hpriv))
 		cfg |= (1 << 8);	/* enab config burst size mask */
-	}
 
-	else if (IS_GEN_II(hpriv)) {
-		cfg &= ~0x1f;		/* clear queue depth */
+	else if (IS_GEN_II(hpriv))
 		cfg |= EDMA_CFG_RD_BRST_EXT | EDMA_CFG_WR_BUFF_LEN;
-		cfg &= ~(EDMA_CFG_NCQ | EDMA_CFG_NCQ_GO_ON_ERR); /* clear NCQ */
-	}
 
 	else if (IS_GEN_IIE(hpriv)) {
-		cfg |= (1 << 23);	/* do not mask PM field in rx'd FIS */
-		cfg |= (1 << 22);	/* enab 4-entry host queue cache */
+		cfg |= (1 << 23);	/* dis RX PM port mask */
+		cfg &= ~(1 << 16);	/* dis FIS-based switching (for now) */
 		cfg &= ~(1 << 19);	/* dis 128-entry queue (for now?) */
 		cfg |= (1 << 18);	/* enab early completion */
-		cfg |= (1 << 17);	/* enab cut-through (dis stor&forwrd) */
-		cfg &= ~(1 << 16);	/* dis FIS-based switching (for now) */
-		cfg &= ~(EDMA_CFG_NCQ | EDMA_CFG_NCQ_GO_ON_ERR); /* clear NCQ */
+		cfg |= (1 << 17);	/* enab host q cache */
+		cfg |= (1 << 22);	/* enab cutthrough */
 	}
 
 	writelfl(cfg, port_mmio + EDMA_CFG_OFS);

  parent reply	other threads:[~2007-03-06  6:01 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-25 23:34 [PATCH, RFT, v2] sata_mv: convert to new EH Jeff Garzik
2007-03-02  0:54 ` Andre Tomt
2007-03-02  1:11   ` Jeff Garzik
2007-03-06  5:16 ` Dave Dillow
2007-03-06  5:26   ` Jeff Garzik
2007-03-06  6:01   ` Jeff Garzik [this message]
2007-03-06  6:53     ` dean gaudet
2007-03-06  6:57     ` Dave Dillow
2007-05-25 13:56       ` [PATCH, RFT, v3] " Jeff Garzik
2007-05-26  3:16         ` [PATCH, RFT, v4] " Jeff Garzik
2007-05-26  7:53           ` dean gaudet
2007-05-26 20:56             ` Jeff Garzik
2007-05-26 21:11               ` Dave Dillow
2007-05-26 21:38                 ` Jeff Garzik
2007-05-27  1:46                   ` Dave Dillow

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=45ED039E.20608@garzik.org \
    --to=jeff@garzik.org \
    --cc=dave@thedillows.org \
    --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).