lkml.org 
[lkml]   [1999]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: Alpha: virt_to_bus/GFP_DMA problem
Date

> How can this work, if the device only respects the lower 24 bit of the
> address it is given? If it sets up a DMA cycle at that address,
> whereas system memory as seen from the bus starts at say 1GB, then the
> behavior of the machine is unspecified: it may reject the cycle (I
> guess, need to check PCI docs for that) or allow the DMA data to go
> somewhere random - hopefully just into blue air.
>

most of the PCI alpha's support scatter gather in the chipset. ie you can
dynamically setup multiple bus->phys windows in the chipset.

so you could map any part of pci bus address to anywhere in physical space.
With multiple windows you could even map a contigious pci bus space to a
fragmented range of physical addresses.

Tru64 uses this for scatter gather support, even to 4GB+ phys addresses.
However linux doesn't use this feature at all. On linux we just setup two
2GB static mappings.

> In this situation we simply have to say this device does not work in
> this box and not allow it to be initialized.
>
> Ingo> probably the right solution is to introduce an Alpha-specific
> Ingo> DMA24BIT zone?
>
> Hmmm, there are several devices out there that will only do 24bit,
> 30bit and 31bit DMA respectively - we need a generic solution I think.
>

support for the 21172/21174 style hardware scatter gather would be nice and
generic.. :)

> Jes

paul jakma

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.051 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site