[parisc-linux] ISA memory access

Jochen Friedrich jochen@scram.de
Tue, 18 Dec 2001 14:22:15 +0100 (CET)


Hi there,

is it necessary to perform something similar to eisa_permute for ISA
memory space? At least on IBM Token Ring cards the driver fails to get
correct data if (memory & 0x300) == 0:

eisa: irq IAR 03 8259-1 irr 00 8259-2 irr 00
eisa: irq 8259-1 isr 00 imr 73 8259-2 isr 00 imr ff
tr0: Int from tok_driver, dev : 102804c0 irq3 regs=102e45c0
tr0: ARB resp: cmd=81
tr0: rbuffer: 7876.
tr0: offsetof data: 08 lan_hdr_len: 10
tr0: llc: FC0D788E rec_buf_addr: 7876 dev->mem_start: D0000
tr0: dsap: FF, ssap: FF, llc: FF, protid: FFFFFF, ethertype: FFFF

this is garbage.

eisa: irq IAR 03 8259-1 irr 00 8259-2 irr 00
eisa: irq 8259-1 isr 00 imr 73 8259-2 isr 00 imr ff
tr0: Int from tok_driver, dev : 102804c0 irq3 regs=102e45c0
tr0: ARB resp: cmd=81
tr0: rbuffer: DFE.
tr0: offsetof data: 08 lan_hdr_len: 10
tr0: llc: FC0D0E16 rec_buf_addr: 0DFE dev->mem_start: D0000
tr0: dsap: AA, ssap: AA, llc: 03, protid: 000000, ethertype: 0800

this is correct.

At the beginning it looked like memory access fails as soon as the buffer
is > 0x400, but the same happens if i reduce the window to 16K and use
memory paging on the adapter. The adapter itself works OK (verified on an
Intel PC).

Cheers,
Jochen