[PATCH 5/12] repost: cciss: disable DMA prefetch on P600

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



PATCH 5 of 12

This patch unconditionally disables DMA prefetch on the P600 controller. An
ASIC bug may result in prefetching beyond the end of physical memory.
Please consider this for inclusion.

Thanks,
mikem

Signed-off-by: Mike Miller <[email protected]>

--------------------------------------------------------------------------------

---

 drivers/block/cciss.c     |   11 +++++++++++
 drivers/block/cciss_cmd.h |    1 +
 2 files changed, 12 insertions(+)

diff -puN drivers/block/cciss.c~cciss_p600_dma_for_lx2619-rc4 drivers/block/cciss.c
--- linux-2.6/drivers/block/cciss.c~cciss_p600_dma_for_lx2619-rc4	2006-11-06 13:16:01.000000000 -0600
+++ linux-2.6-root/drivers/block/cciss.c	2006-11-06 13:27:24.000000000 -0600
@@ -2997,6 +2997,17 @@ static int cciss_pci_init(ctlr_info_t *c
 	}
 #endif
 
+	/* Disabling DMA prefetch for the P600
+	 * An ASIC bug may result in a prefetch beyond
+	 * physical memory.
+	 */
+	if(board_id == 0x3225103C) {
+		__u32 dma_prefetch;
+		dma_prefetch = readl(c->vaddr + I2O_DMA1_CFG);
+		dma_prefetch |= 0x8000;
+		writel(dma_prefetch, c->vaddr + I2O_DMA1_CFG);
+	}
+
 #ifdef CCISS_DEBUG
 	printk("Trying to put board into Simple mode\n");
 #endif				/* CCISS_DEBUG */
diff -puN drivers/block/cciss_cmd.h~cciss_p600_dma_for_lx2619-rc4 drivers/block/cciss_cmd.h
--- linux-2.6/drivers/block/cciss_cmd.h~cciss_p600_dma_for_lx2619-rc4	2006-11-06 13:16:01.000000000 -0600
+++ linux-2.6-root/drivers/block/cciss_cmd.h	2006-11-06 13:26:42.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
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux