Subject: Re: Broadband adapter == RTL8139C
To: None <itojun@iijlab.net>
From: Marcus Comstedt <marcus@idonex.se>
List: port-dreamcast
Date: 01/26/2001 14:57:03
>>>>> "itojun" == itojun  <itojun@iijlab.net> writes:

  itojun> 	also we need to give drivers io memory base addresses from
  itojun> 	kernel configuration file (device locator), not from hardcoded
  itojun> 	header file values.  i'm trying to look at it...

Here I'm not so sure about the actual benefit.  The reason for having
base addresses in the kernel config file is to be able to support
A) multiple instances of device X or
B) a single instance of device X but at a different base address

For a device like the scif, where there actually exists
implementations with multiple instances, this is fine as you can
verify that your device driver is actualy able to cope with such an
implementation.  For the Dreamcast device drivers, this is not so.

Let me exemplify.  The PVR chip in the Dreamcast has a base address of
0xa05f8000.  However, interrupt masks for the PVR is _not_ set here,
but instead at 0xa05f6900, which is (i believe) a register in the
general "system ASIC" area.  Now, if we imagine a Dreamcast that had a
second PVR chip at a different base address.  Would this use a
different interrupt mask register?  How would the address of this new
interrupt mask register relate to the address of the old one, and the
difference in base address for the PVR?  Until we know such things, I
don't see how just adding a base address setting will solve anything.

I actually had some base addresses in the kernel configuration file at
first, but I removed them as they only caused a lot of irrelevant info
to be printed on the screen at bootup, distracting from the useful
info.


  // Marcus