public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 5/8] cciss: disable DMA prefetch for P600
@ 2006-11-01 22:06 Mike Miller (OS Dev)
  2006-11-02 14:12 ` Jens Axboe
  0 siblings, 1 reply; 2+ messages in thread
From: Mike Miller (OS Dev) @ 2006-11-01 22:06 UTC (permalink / raw)
  To: akpm, jens.axboe; +Cc: linux-kernel, linux-scsi


PATCH 5/8 

This disables DMA prefetch for the P600 on IPF. A chip bug may result in
a DMA prefetch going falling off into holes in memory. On Proliant x86[_64]
systems the top page of memory is mapped out and the io hole below 4GB is
similiarly protected because the memory at the lower boundary of the hole 
is used by ACPI and other things.
Please consider this for inclusion.

Thanks,
mikem

Signed-off-by: Mike Miller <mike.miller@hp.com>

 cciss.c     |   14 ++++++++++++++
 cciss_cmd.h |    1 +
 2 files changed, 15 insertions(+)
--------------------------------------------------------------------------------
diff -urNp linux-2.6-p00004/drivers/block/cciss.c linux-2.6/drivers/block/cciss.c
--- linux-2.6-p00004/drivers/block/cciss.c	2006-10-31 15:20:25.000000000 -0600
+++ linux-2.6/drivers/block/cciss.c	2006-10-31 15:42:59.000000000 -0600
@@ -2997,6 +2997,20 @@ static int cciss_pci_init(ctlr_info_t *c
 	}
 #endif
 
+#ifdef CONFIG_IA64
+	{
+		/* DMA prefetch must be disabled on P600 on platforms that may
+		 * present noncontiguous memory.
+		 */
+		__u32 dma_prefetch
+		if(board_id == 0x3225103C) {
+			dma_prefetch = readl(c->vaddr + I2O_DMA1_CFG);
+			dma_prefetch |= 0x8000;
+			writel(dma_prefetch, c->vaddr + I2O_DMA1_CFG);
+		}
+	}
+#endif /* CONFIG_IA64 */
+
 #ifdef CCISS_DEBUG
 	printk("Trying to put board into Simple mode\n");
 #endif				/* CCISS_DEBUG */
diff -urNp linux-2.6-p00004/drivers/block/cciss_cmd.h linux-2.6/drivers/block/cciss_cmd.h
--- linux-2.6-p00004/drivers/block/cciss_cmd.h	2006-10-31 14:31:05.000000000 -0600
+++ linux-2.6/drivers/block/cciss_cmd.h	2006-10-31 15:43:18.000000000 -0600
@@ -55,6 +55,7 @@
 #define I2O_INT_MASK            0x34
 #define I2O_IBPOST_Q            0x40
 #define I2O_OBPOST_Q            0x44
+#define I2O_DMA1_CFG		0x214
 
 //Configuration Table
 #define CFGTBL_ChangeReq        0x00000001l

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

end of thread, other threads:[~2006-11-02 14:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-01 22:06 [PATCH 5/8] cciss: disable DMA prefetch for P600 Mike Miller (OS Dev)
2006-11-02 14:12 ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox