Add readX_relaxed to MPT Fusion driver
Subsystems (2)
PATCH 1/1 Add readX_relaxed to MPT Fusion driver
This patch makes use of readX_relaxed to improve PIO read response times on platforms that define them (currently SGI Altix :-), but it could be used in conjunction with the PCI-X relaxed ordering attribute on another platform in the future).
Quoted 1 line
From what I could see, there was only one PIO read in which
it was unsafe for the response to pass DMA write data, so I made the default readX_relaxed.
jeremy
drivers/message/fusion/mptbase.c +3 -2
@@ -282,7 +282,8 @@ };MODULE_DEVICE_TABLE (pci, mptbase_pci_table); -#define CHIPREG_READ32 (addr) readl(addr) +#define CHIPREG_READ32 (addr) readl_relaxed(addr) +#define CHIPREG_READ32_dmasync (addr) readl(addr)#define CHIPREG_WRITE32 (addr,val) writel(val, addr)#define CHIPREG_PIO_WRITE32 (addr,val) outl(val, (unsigned long)addr)#define CHIPREG_PIO_READ32 (addr) inl((unsigned long)addr)
@@ -347,7 +348,7 @@*/ while (1 ) { -if ((pa =CHIPREG_READ32 (&ioc->chip->ReplyFifo)) ==0xFFFFFFFF ) +if ((pa =CHIPREG_READ32_dmasync (&ioc->chip->ReplyFifo)) ==0xFFFFFFFF )return IRQ_HANDLED ; cb_idx =0 ;