linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] libata-dev: move the CDB-intr DMA blacklisting
@ 2006-06-22  5:00 Albert Lee
  2006-06-23  3:26 ` Jeff Garzik
  0 siblings, 1 reply; 2+ messages in thread
From: Albert Lee @ 2006-06-22  5:00 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: IDE Linux, Doug Maxey, Unicorn Chang

Move the DMA blacklisting of the CDB-intr devices
from ata_check_atapi_dma() to ata_dma_blacklisted(), where it makes more sense.

Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
---

Patch against upstream branch (d7a80dad2fe19a2b8c119c8e9cba605474a75a2b).
For your review, thanks.

--- upstream0/drivers/scsi/libata-core.c	2006-06-22 11:27:14.000000000 +0800
+++ upstream1/drivers/scsi/libata-core.c	2006-06-22 11:47:17.000000000 +0800
@@ -2943,6 +2943,14 @@ static int ata_dma_blacklisted(const str
 	unsigned int nlen, rlen;
 	int i;
 
+	/* We don't support polling DMA.
+	 * DMA blacklist those ATAPI devices with CDB-intr (and use PIO)
+	 * if the LLDD handles only interrupts in the HSM_ST_LAST state.
+	 */
+	if ((dev->ap->flags & ATA_FLAG_PIO_POLLING) &&
+	    (dev->flags & ATA_DFLAG_CDB_INTR))
+		return 1;
+
 	ata_id_string(dev->id, model_num, ATA_ID_PROD_OFS,
 			  sizeof(model_num));
 	ata_id_string(dev->id, model_rev, ATA_ID_FW_REV_OFS,
@@ -3235,15 +3243,6 @@ int ata_check_atapi_dma(struct ata_queue
 	if (ap->ops->check_atapi_dma)
 		rc = ap->ops->check_atapi_dma(qc);
 
-	/* We don't support polling DMA.
-	 * Use PIO if the LLDD handles only interrupts in
-	 * the HSM_ST_LAST state and the ATAPI device
-	 * generates CDB interrupts.
-	 */
-	if ((ap->flags & ATA_FLAG_PIO_POLLING) &&
-	    (qc->dev->flags & ATA_DFLAG_CDB_INTR))
-		rc = 1;
-
 	return rc;
 }
 /**
@@ -4551,7 +4550,7 @@ unsigned int ata_qc_issue_prot(struct at
 			break;
 		case ATA_PROT_ATAPI_DMA:
 			if (qc->dev->flags & ATA_DFLAG_CDB_INTR)
-				/* see ata_check_atapi_dma() */
+				/* see ata_dma_blacklisted() */
 				BUG();
 			break;
 		default:


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/1] libata-dev: move the CDB-intr DMA blacklisting
  2006-06-22  5:00 [PATCH 1/1] libata-dev: move the CDB-intr DMA blacklisting Albert Lee
@ 2006-06-23  3:26 ` Jeff Garzik
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff Garzik @ 2006-06-23  3:26 UTC (permalink / raw)
  To: albertl; +Cc: IDE Linux, Doug Maxey, Unicorn Chang

applied


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-06-23  3:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-22  5:00 [PATCH 1/1] libata-dev: move the CDB-intr DMA blacklisting Albert Lee
2006-06-23  3:26 ` Jeff Garzik

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).