Re: [PATCH 5/8] resend cciss: disable DMA prefetch on P600

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

 



On Fri, Nov 03, 2006 at 05:42:15PM +0100, Arjan van de Ven wrote:
> On Fri, 2006-11-03 at 09:54 -0600, Mike Miller (OS Dev) wrote:
> > PATCH 5 of 8 resend
> > 
> > This patch unconditionally disables DMA prefetch on the P600 controller. A
> > bug in the ASIC may result in prefetching either beyond the end of memory
> > or to fall off into a memory hole.
> > Please consider this for inclusion.
> > 
> > Thanks,
> > mikem
> > 
> > Signed-off-by: Mike Miller <[email protected]>
> > 
> >  cciss.c     |   13 +++++++++++++
> >  cciss_cmd.h |    1 +
> >  2 files changed, 14 insertions(+)
> > --------------------------------------------------------------------------------
> > diff -urNp linux-2.6-p00004/drivers/block/cciss.c linux-2.6-p00005/drivers/block/cciss.c
> > --- linux-2.6-p00004/drivers/block/cciss.c	2006-10-31 15:20:25.000000000 -0600
> > +++ linux-2.6-p00005/drivers/block/cciss.c	2006-11-03 09:43:55.000000000 -0600
> > @@ -2997,6 +2997,19 @@ 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.
> > +		 */
> > +		__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);
> > +		}
> > +	}
> > +
> 
> if you remove the if() you might as well also remove the {}'s ;)

And fix the spaces around the if() while we're at it, aka:

	/*
	 * Disable DMA prefetch for the P600.
	 * An ASIC bug may result in a prefetch beyond
	 * physical memory.
	 */
	if (board_id == 0x3225103C) {
		u32 dma_prefetch = readl(c->vaddr + I2O_DMA1_CFG);
		writel(dma_prefetch | 0x8000, c->vaddr + I2O_DMA1_CFG);
	}
-
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