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]