Subject: Re: Various PMac PCI patches

From: Michel Lanners <[email-masked]>
Date: Fri, 20 Aug 1999 19:10:32 +0200 (CEST)

On  19 Aug, this message from Ryan Nielsen echoed through cyberspace:
> Michel Lanners wrote:
>> > isa_io_base is set to the address of bus 0 !
>> > so inl() and friends use wrong address for cards on bus 1.
>> 
>> That's expected (and broken) behaviour right now; I know how to correct
>> the problem, but I need to do some hacking to get it coded right.
> 
> What are you plannering ?
> 
> I got tulip working by #define _IO_BASE DRIVER_IO_BASE (ifdef) in asm/io.h
> and define DRIVER_IO_BASE to a value from pci_io_base(bus) in tulip.c

Fixing IO space addresses in the kernel pci structs, so that any driver
referencing the pci structs gets the right kernel virtual address for
the  ports without fiddling with _IO_BASE. In fact, it means adding an
offset to the address reported in the PCI device's config registers.
This offset id provided by the parent bus bridge.

Michel

-------------------------------------------------------------------------
Michel Lanners                 |  " Read Philosophy.  Study Art.
23, Rue Paul Henkes            |    Ask Questions.  Make Mistakes.
L-1710 Luxembourg              |
email   [email-masked]            |
http://www.cpu.lu/~mlan        |                     Learn Always. "

[[ This message was sent via the linuxppc-dev mailing list.  Replies are ]]
[[ not  forced  back  to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting.   ]]