Subject: Re: Ethernet adapter
To: Marcus Comstedt <marcus@idonex.se>
From: Jason R Thorpe <thorpej@zembu.com>
List: tech-kern
Date: 01/28/2001 14:46:30
On Sun, Jan 28, 2001 at 11:33:41PM +0100, Marcus Comstedt wrote:
[ BCC'd to port-dreamcast, and redirected to teck-kern -- this could be
considered a generic bus_dma issue. ]
> Ok, I've found the PCI configuration space (I was fooled by the fact
> that SEGA has set a different VID/DID in the EEPROM), so I guess I
> should just make a proper PCI bus implementation and use if_rtk_pci.
> There is one problem though. There is only 32K of DMA space available
> (AFAICT, PCI DMA goes to an embedded memory in the PCI bridge chip),
> and the rtl81x9reg.h has a hardcoded RX buffer size of 64K. Clearly
> this must be changed to 16K or 8K for the Dreamcast. Any ideas on a
> nice way to do this?
This is an issue that could affect at least one Alpha system, as well --
The Avalon A12 Multiprocessor -- the PCI on that system can't DMA to
main memory, only to an SRAM buffer (it's used for the Ethernet on that
device, as well :-)
I'm not really sure the best way to do this -- I guess a maybe a new
bus_dma call -- bus_dma_availspace()? That could return the amount
of DMA space currently available.
I suspect the only systems on which this is really an issue are those
which have a PCI bus that's designed to deal with exactly one device.
--
-- Jason R. Thorpe <thorpej@zembu.com>