Home | History | Annotate | Download | only in pci
History log of /src/sys/arch/alpha/pci/tsp_dma.c
RevisionDateAuthorComments
 1.22  19-Jul-2021  thorpej For CIA/Pyxis and Tsunami/Typhoon/Titan, save the firmware's idea of
the DMA window configuration, and restore it at shutdown time. Make
sure that all assumptions we've made on the firmware's configuration
of DMA windows is correct.
 1.21  18-Jul-2021  thorpej According to section 8.1.2.2 of the Tsunami/Typhoon hardware reference
manual (DS-0025A-TE), the SGMAP TLB is arranged as 168 locations of 4
consecutive quadwords. It seems that on some revisions of the Pchip,
SGMAP translation is not perfectly reliable unless we align the DMA
segments to the TLBs natural boundaries (observed on the API CS20).

N.B. the Titan (as observed on a Compaq DS25) does not seem to have this
problem, but we'll play it safe and run this way on both variants.

PR port-alpha/40604.
 1.20  18-Jul-2021  thorpej Oops, pass the correct bus_dma_tag_t to the "hi" sgmap init function.
 1.19  18-Jul-2021  thorpej - Don't bother issuing a warning if we program the WBASE / WSM register
to different values than the firmware.
- Reduce the differences in how we initialize the DMA tags vis a vis the
other Alpha implementations.
- Use Window 2 to provide a 1G @ 3G PCI SGMAP window on systems with more
than 1G of RAM, rather than falling back on the ISA DMA window which is
small and could get starved by PCI devices.
- Make sure we set TBASE to 0 for direct-mapped windows.
 1.18  04-Jul-2021  thorpej Remove unnecessary #include <sys/malloc.h>
 1.17  27-May-2021  thorpej The Tsunami / Typhoon chipsets have a static "monster window" for DMA
that allows for up to 32GB of RAM to be direct-mapped if the PCI device
can issue a 64-bit address (the monster window lives at 0x10000000000).
Enable this window and provide this to the PCI bus as a "dmat64".
 1.16  05-May-2021  thorpej branches: 1.16.2;
Moar static.
 1.15  11-Oct-2020  thorpej branches: 1.15.6;
Add some bus_dma instrumentation.
 1.14  10-Oct-2020  thorpej G/C alpha_XXX_dmamap() / alpha_XXX_dmamap_or. They haven't been needed
for a long time.
 1.13  23-Sep-2013  tsutsui Add support for AlphaStation DS15.

Ported from OpenBSD via PR port-alpha/48148 by nullnilaki.
Note support for the secondary PCI bus still needs more improvements.
 1.12  06-Feb-2012  matt branches: 1.12.6; 1.12.10;
Do a minor cleanup of alpha (this will make applying pullups post branching
easier).
u_int{8,16,32,64}_t -> uint{*}_t
Change all old-style definitions to C89 prototypes.
Whitespace cleanup.
Constification in db_disasm.c
 1.11  01-Jul-2011  dyoung branches: 1.11.2; 1.11.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.10  15-Dec-2010  matt Remove unneeded includes of <uvm/uvm_extern.h>
 1.9  14-Mar-2009  dsl branches: 1.9.4;
Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.8  14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.7  28-Apr-2008  martin branches: 1.7.8; 1.7.14;
Remove clause 3 and 4 from TNF licenses
 1.6  11-Dec-2005  christos branches: 1.6.74; 1.6.76; 1.6.78;
merge ktrace-lwp.
 1.5  14-Jul-2003  lukem add __KERNEL_RCSID() (using 1, for #included .c files)
 1.4  19-Jul-2001  thorpej branches: 1.4.2; 1.4.22;
Take a guess and initialize the prefetch threshold to 256 bytes. Haven't
found this one in the manual yet.
 1.3  03-Jan-2001  thorpej branches: 1.3.4;
The code that creates/destroys SGMAP DMA maps is the same; put it
in a common place and share it.
 1.2  29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.1  29-Jun-1999  ross branches: 1.1.2; 1.1.4; 1.1.6;
Support for EV6 Tsunami core logic and system type 6600.
This covers most or all of the presently-available 21264 systems.
 1.1.6.2  05-Jan-2001  bouyer Sync with HEAD
 1.1.6.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.1.4.2  29-Jun-1999  ross Support for EV6 Tsunami core logic and system type 6600.
This covers most or all of the presently-available 21264 systems.
 1.1.4.1  29-Jun-1999  ross file tsp_dma.c was added on branch netbsd-1-4 on 1999-06-29 06:46:48 +0000
 1.1.2.2  01-Jul-1999  thorpej Sync w/ -current.
 1.1.2.1  29-Jun-1999  thorpej file tsp_dma.c was added on branch chs-ubc2 on 1999-07-01 23:00:58 +0000
 1.3.4.1  03-Aug-2001  lukem update to -current
 1.4.22.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.22.2  18-Sep-2004  skrll Sync with HEAD.
 1.4.22.1  03-Aug-2004  skrll Sync with HEAD
 1.4.2.2  19-Jul-2001  thorpej Take a guess and initialize the prefetch threshold to 256 bytes. Haven't
found this one in the manual yet.
 1.4.2.1  19-Jul-2001  thorpej file tsp_dma.c was added on branch nathanw_sa on 2001-07-19 19:09:23 +0000
 1.6.78.2  04-May-2009  yamt sync with head.
 1.6.78.1  16-May-2008  yamt sync with head.
 1.6.76.1  18-May-2008  yamt sync with head.
 1.6.74.1  02-Jun-2008  mjf Sync with HEAD.
 1.7.14.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.8.1  28-Apr-2009  skrll Sync with HEAD.
 1.9.4.1  05-Mar-2011  rmind sync with head
 1.11.6.1  18-Feb-2012  mrg merge to -current.
 1.11.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.11.2.1  17-Apr-2012  yamt sync with head
 1.12.10.1  18-May-2014  rmind sync with head
 1.12.6.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.6.3  01-Aug-2021  thorpej Sync with HEAD.
 1.15.6.2  17-Jun-2021  thorpej Sync w/ HEAD.
 1.15.6.1  13-May-2021  thorpej Sync with HEAD.
 1.16.2.1  31-May-2021  cjep sync with head

RSS XML Feed