Skip to content

Commit

Permalink
FRV: Enable the MB86943 PCI arbiter correctly
Browse files Browse the repository at this point in the history
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 <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
David Howells authored and Linus Torvalds committed Aug 2, 2007
1 parent b562548 commit 0466887
Showing 2 changed files with 5 additions and 1 deletion.
3 changes: 2 additions & 1 deletion arch/frv/mb93090-mb00/pci-vdk.c
Original file line number Diff line number Diff line change
@@ -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;
3 changes: 3 additions & 0 deletions include/asm-frv/mb86943a.h
Original file line number Diff line number Diff line change
@@ -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 */

0 comments on commit 0466887

Please sign in to comment.