Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 70901
b: refs/heads/master
c: 8bf50f7
h: refs/heads/master
i:
  70899: 6eaac88
v: v3
  • Loading branch information
Mike Miller (OS Dev) authored and Jens Axboe committed Oct 17, 2007
1 parent 002d8dc commit a7a4296
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9e91fdb32d449a6b57f8236a793ae2f3df79b4d8
refs/heads/master: 8bf50f71cbfc7d043f0f135da72b3feefeaa0eb8
11 changes: 8 additions & 3 deletions trunk/drivers/block/cciss.c
Original file line number Diff line number Diff line change
Expand Up @@ -3035,15 +3035,20 @@ static int cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev)
}
#endif

/* Disabling DMA prefetch for the P600
* An ASIC bug may result in a prefetch beyond
* physical memory.
/* Disabling DMA prefetch and refetch for the P600.
* An ASIC bug may result in accesses to invalid memory addresses.
* We've disabled prefetch for some time now. Testing with XEN
* kernels revealed a bug in the refetch if dom0 resides on a P600.
*/
if(board_id == 0x3225103C) {
__u32 dma_prefetch;
__u32 dma_refetch;
dma_prefetch = readl(c->vaddr + I2O_DMA1_CFG);
dma_prefetch |= 0x8000;
writel(dma_prefetch, c->vaddr + I2O_DMA1_CFG);
pci_read_config_dword(pdev, PCI_COMMAND_PARITY, &dma_refetch);
dma_refetch |= 0x1;
pci_write_config_dword(pdev, PCI_COMMAND_PARITY, dma_refetch);
}

#ifdef CCISS_DEBUG
Expand Down

0 comments on commit a7a4296

Please sign in to comment.