From: David Howells <[EMAIL PROTECTED]>

Enable the MB93090 motherboard's MB86943 PCI arbiter correctly by assigning to
the register rather than comparing against it.  This is required to support
bus mastering.

Signed-off-by: David Howells <[EMAIL PROTECTED]>
---

 arch/frv/mb93090-mb00/pci-vdk.c |    3 ++-
 include/asm-frv/mb86943a.h      |    3 +++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/arch/frv/mb93090-mb00/pci-vdk.c b/arch/frv/mb93090-mb00/pci-vdk.c
index 0b581e3..6d51f13 100644
--- a/arch/frv/mb93090-mb00/pci-vdk.c
+++ b/arch/frv/mb93090-mb00/pci-vdk.c
@@ -400,7 +400,8 @@ int __init pcibios_init(void)
        __reg_MB86943_pci_sl_mem_base   = __region_CS2 + 0x08000000;
        mb();
 
-       *(volatile unsigned long *)(__region_CS2+0x01300014) == 1;
+       /* enable PCI arbitration */
+       __reg_MB86943_pci_arbiter       = MB86943_PCIARB_EN;
 
        ioport_resource.start   = (__reg_MB86943_sl_pci_io_base << 9) & 
0xfffffc00;
        ioport_resource.end     = (__reg_MB86943_sl_pci_io_range << 9) | 0x3ff;
diff --git a/include/asm-frv/mb86943a.h b/include/asm-frv/mb86943a.h
index b89fd0b..e87ef92 100644
--- a/include/asm-frv/mb86943a.h
+++ b/include/asm-frv/mb86943a.h
@@ -36,4 +36,7 @@
 #define __reg_MB86943_pci_sl_io_base   *(volatile uint32_t *) (__region_CS1 + 
0x70)
 #define __reg_MB86943_pci_sl_mem_base  *(volatile uint32_t *) (__region_CS1 + 
0x78)
 
+#define __reg_MB86943_pci_arbiter      *(volatile uint32_t *) (__region_CS2 + 
0x01300014)
+#define MB86943_PCIARB_EN              0x00000001
+
 #endif /* _ASM_MB86943A_H */

-
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/

Reply via email to