pata_sil680: only enable MMIO on Cell blades
PATCH 1/1 pata_sil680: only enable MMIO on Cell blades
From: Benjamin Herrenschmidt <[email protected]>
There have been reported regressions of the SIL 680 driver when using MMIO, so this makes it only try MMIO on Cell blades where it's known to be necessary (the host bridge doesn't do PIO on these).
We'll try to find the root problem with MMIO separately.
---
drivers/ata/pata_sil680.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/ata/pata_sil680.c renamed from drivers/ata/pata_sil680.c~pata_sil680-only-enable-mmio-on-cell-blades +5 -1
@@ -229,7 +229,11 @@ static u8 sil680_init_chip(struct pci_dedev_dbg (&pdev->dev,"sil680: BA5_EN = %d clock = %02X\n" , tmpbyte &1 , tmpbyte &0x30 ); - *try_mmio = (tmpbyte &1 ) ||pci_resource_start (pdev,5 ); + *try_mmio =0 ; +#ifdef CONFIG_PPC +if (machine_is (cell)) + *try_mmio = (tmpbyte &1 ) ||pci_resource_start (pdev,5 ); +#endif switch (tmpbyte &0x30 ) {case 0x00 :
_
Quoted 5 lines · On Thu, 2008-03-27 at 00:46 -0700, [email protected] wrote:
From: Benjamin Herrenschmidt <[email protected]>
There have been reported regressions of the SIL 680 driver when using MMIO, so this makes it only try MMIO on Cell blades where it's known to be necessary (the host bridge doesn't do PIO on these).
This should go in .25 please.
Cheers,
Ben.
Quoted 27 lines
We'll try to find the root problem with MMIO separately.
Signed-off-by Benjamin Herrenschmidt <[email protected]>Acked-by Alan Cox <[email protected]>Signed-off-by Andrew Morton <[email protected]>---
drivers/ata/pata_sil680.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)diff -puN
drivers/ata/pata_sil680.c~pata_sil680-only-enable-mmio-on-cell-bladesdrivers/ata/pata_sil680.cdrivers/ata/pata_sil680.c renamed from drivers/ata/pata_sil680.c~pata_sil680-only-enable-mmio-on-cell-blades +5
-1@@ -229,7 +229,11 @@ static u8 sil680_init_chip(struct pci_dedev_dbg (&pdev->dev,"sil680: BA5_EN = %d clock = %02X\n" , tmpbyte &1 , tmpbyte &0x30 ); - *try_mmio = (tmpbyte &1 ) ||pci_resource_start (pdev,5 ); + *try_mmio =0 ; +#ifdef CONFIG_PPC +if (machine_is (cell)) + *try_mmio = (tmpbyte &1 ) ||pci_resource_start (pdev,5 ); +#endif switch (tmpbyte &0x30 ) {case 0x00 :_