| History log of /src/sys/arch/alpha/pci/cia_dma.c |
| Revision | | Date | Author | Comments |
| 1.38 |
| 09-Feb-2024 |
andvar | fix spelling mistakes, mainly in comments and log messages.
|
| 1.37 |
| 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.36 |
| 18-Jul-2021 |
thorpej | Oops, pass the correct bus_dma_tag_t to the "hi" sgmap init function.
|
| 1.35 |
| 17-Jul-2021 |
thorpej | Back in rev 1.21, mhitch@ fixed an issue with his 1.5GB RAM PWS 500au by using a fall-back to the ISA DMA window if DMA was out of range for the 1G @ 1G PCI DMA window. Alas, the ISA DMA window is pretty small (8M @ 8M), and it's possible to starve it with PCI devices that might have, for example, large control data structures there.
So, instead, if the system has more than 1G of RAM, use Window 3 (previously unused) as a SGMAP window 1G @ 3G, and set that as the fall-back if the direct-mapped window fails.
|
| 1.34 |
| 04-Jul-2021 |
thorpej | Remove unnecessary #include <sys/malloc.h>
|
| 1.33 |
| 18-Jun-2021 |
thorpej | Wrap a couple of long lines.
|
| 1.32 |
| 05-May-2021 |
thorpej | Moar static.
|
| 1.31 |
| 11-Oct-2020 |
thorpej | branches: 1.31.6; Add some bus_dma instrumentation.
|
| 1.30 |
| 10-Oct-2020 |
thorpej | G/C alpha_XXX_dmamap() / alpha_XXX_dmamap_or. They haven't been needed for a long time.
|
| 1.29 |
| 04-Nov-2013 |
christos | mark variables used
|
| 1.28 |
| 06-Feb-2012 |
matt | branches: 1.28.6; 1.28.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.27 |
| 01-Jul-2011 |
dyoung | branches: 1.27.2; 1.27.6; #include <sys/bus.h> instead of <machine/bus.h>.
|
| 1.26 |
| 15-Dec-2010 |
matt | Remove unneeded includes of <uvm/uvm_extern.h>
|
| 1.25 |
| 18-Mar-2009 |
cegger | branches: 1.25.4; Ansify function definitions w/o arguments. Generated with sed.
|
| 1.24 |
| 14-Mar-2009 |
dsl | 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.23 |
| 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.22 |
| 28-Apr-2008 |
martin | branches: 1.22.8; 1.22.14; Remove clause 3 and 4 from TNF licenses
|
| 1.21 |
| 14-Mar-2007 |
mhitch | branches: 1.21.36; 1.21.38; 1.21.40; Contrary to the comment in cia_dma_get_tag(), there are machines with cia that have over 1.0G. Allow direct dma requests to fall back to SGMAPs. my PWS 500au with 1.5G of memory now works with dma operations.
|
| 1.20 |
| 11-Dec-2005 |
christos | branches: 1.20.24; 1.20.26; 1.20.30; 1.20.32; merge ktrace-lwp.
|
| 1.19 |
| 04-Dec-2003 |
keihan | branches: 1.19.14; 1.19.16; netbsd.org -> NetBSD.org
All "netbsd.org" is now gone from src/sys/arch.
|
| 1.18 |
| 19-Jul-2001 |
thorpej | branches: 1.18.2; 1.18.22; ALCOR/ALCOR2/PYXIS have a 256-byte DMA prefetch threshold.
|
| 1.17 |
| 03-Jan-2001 |
thorpej | branches: 1.17.4; The code that creates/destroys SGMAP DMA maps is the same; put it in a common place and share it.
|
| 1.16 |
| 29-Jun-2000 |
mrg | remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
|
| 1.15 |
| 06-Feb-2000 |
thorpej | If we have a Pyxis with the DMA page crossing bug, don't allow coalescing of adjacent DMA segments.
XXX This is still not perfect... but making it perfect will probably require additions to the bus_dma interface and the ISA autoconfiguration interface.
|
| 1.14 |
| 25-Jan-2000 |
thorpej | Fix a fatal typo in a Pyxis SGMAP TLB bug workaround. Noticed by Jeff Roberson <nomad@nop.aliensystems.com>.
|
| 1.13 |
| 14-Aug-1998 |
thorpej | branches: 1.13.6; 1.13.12; vm_offset_t -> {paddr_t,vaddr_t}, vm_size_t -> vsize_t
|
| 1.12 |
| 23-Jun-1998 |
thorpej | Duuuh! Align the SGMAP page tables to 32K, not 32M.
|
| 1.11 |
| 06-Jun-1998 |
thorpej | Don't call *_dma_init() twice; there's no need to. Just do it in *attach().
|
| 1.10 |
| 04-Jun-1998 |
thorpej | Deal with a hardware bug in Pass 1 and Pass 2 Pyxis chips. Basically, the scatter/gather TLB cannot be invalidated on these chips. So, to work around this, we configure the otherwise unsed DMA Window 2 as a 2M SGMAP window at 128M, point all of its page table entries at the DMA spill page, and, when the TLB is to be invalidated, put the PCI bus into loopback mode, and create a target hit on Window 2 every 64k for the number of TLB entries (plus a few ... it seems to not work unless we read a few extra times), forcing out old TLB entries to make room for the new, dummy target hits.
|
| 1.9 |
| 03-Jun-1998 |
thorpej | Allow the DMA tag to specify a boundary contraint. If the device has a more strict boundary, the map will use it, otherwise the map will inherit the tag's, unless the tag's constraint is 0 (no boundary constraint).
|
| 1.8 |
| 13-May-1998 |
thorpej | Add support for chaining DMA windows together, for falling back on SGMAPs if a direct-mapped window fails.
|
| 1.7 |
| 07-May-1998 |
thorpej | Simplify the direct-mapped DMA case somewhat by adding a window base member to the DMA tag, and calling the direct-mapped back-ends directly, rather than through chipset-specific front-ends which pass the window base as an additional argument.
|
| 1.6 |
| 04-Feb-1998 |
thorpej | Use the common _bus_dmamap_sync() as the _dmamap_sync method in the bus_dma_tag_t.
|
| 1.5 |
| 17-Jan-1998 |
thorpej | Put SGMAP-related stuff in the DMA map structure directly, rather than indirecting through a pointer.
|
| 1.4 |
| 17-Jan-1998 |
thorpej | Fix initialization of DMA window 0: - Make sure the page table is aligned to at least 32k. - Don't consider the MEMCS signal when checking for a window hit.
|
| 1.3 |
| 02-Sep-1997 |
thorpej | Nuke the idea of <machine/options.h>. It completely defeats the purpose of fine-grain option dependencies.
|
| 1.2 |
| 06-Jun-1997 |
thorpej | branches: 1.2.2; 1.2.6; Pull thorpej-bus-dma branch into mainline.
|
| 1.1 |
| 23-May-1997 |
thorpej | branches: 1.1.2; file cia_dma.c was initially added on branch thorpej-bus-dma.
|
| 1.1.2.4 |
| 06-Jun-1997 |
thorpej | Update for pci_pte*_sgmap -> pci_sgmap_pte* change.
|
| 1.1.2.3 |
| 05-Jun-1997 |
thorpej | When invalidating the SGMAP TLB, do a memory barrier synch before writing the TBIA register, as well as after.
|
| 1.1.2.2 |
| 03-Jun-1997 |
thorpej | - Adopt to new common sgmap code. - Fix several bugs, and reduce housekeeping overhead.
|
| 1.1.2.1 |
| 23-May-1997 |
thorpej | Add chipset-specific DMA functions. For all of these chipsets, we have one 1G direct-mapped DMA window at 1G and one 8M SGMAP-mapped DMA window at 8M.
|
| 1.2.6.1 |
| 04-Sep-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
| 1.2.2.2 |
| 07-Jun-1997 |
cgd | syng thorpej-bus-dma changes with alpha-nwscons branch
|
| 1.2.2.1 |
| 06-Jun-1997 |
cgd | file cia_dma.c was added on branch alpha-nwscons on 1997-06-07 04:43:14 +0000
|
| 1.13.12.2 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
| 1.13.12.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.13.6.2 |
| 06-Feb-2000 |
he | Pull up revision 1.15 (requested by thorpej): Fix host->device DMA data corruption problem on DEC Miata workstations.
|
| 1.13.6.1 |
| 31-Jan-2000 |
he | Pull up revision 1.14 (requested by thorpej): Fix a fatal typo in a Pyxis SGMAP TLB bug workaround.
|
| 1.17.4.1 |
| 03-Aug-2001 |
lukem | update to -current
|
| 1.18.22.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
| 1.18.22.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
| 1.18.22.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
| 1.18.2.2 |
| 19-Jul-2001 |
thorpej | ALCOR/ALCOR2/PYXIS have a 256-byte DMA prefetch threshold.
|
| 1.18.2.1 |
| 19-Jul-2001 |
thorpej | file cia_dma.c was added on branch nathanw_sa on 2001-07-19 18:42:43 +0000
|
| 1.19.16.1 |
| 03-Sep-2007 |
yamt | sync with head.
|
| 1.19.14.1 |
| 31-Mar-2007 |
bouyer | Pull up following revision(s) (requested by mhitch in ticket #1686): sys/arch/alpha/pci/cia_dma.c: revision 1.21 Contrary to the comment in cia_dma_get_tag(), there are machines with cia that have over 1.0G. Allow direct dma requests to fall back to SGMAPs. my PWS 500au with 1.5G of memory now works with dma operations.
|
| 1.20.32.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
| 1.20.30.1 |
| 10-Apr-2007 |
ad | Sync with head.
|
| 1.20.26.1 |
| 24-Mar-2007 |
yamt | sync with head.
|
| 1.20.24.1 |
| 26-Mar-2007 |
jdc | Pull up revision 1.21 (requested by mhitch in ticket #520).
Contrary to the comment in cia_dma_get_tag(), there are machines with cia that have over 1.0G. Allow direct dma requests to fall back to SGMAPs. my PWS 500au with 1.5G of memory now works with dma operations.
|
| 1.21.40.2 |
| 04-May-2009 |
yamt | sync with head.
|
| 1.21.40.1 |
| 16-May-2008 |
yamt | sync with head.
|
| 1.21.38.1 |
| 18-May-2008 |
yamt | sync with head.
|
| 1.21.36.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
| 1.22.14.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
| 1.22.8.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
| 1.25.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
| 1.27.6.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
| 1.27.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.27.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
| 1.28.10.1 |
| 18-May-2014 |
rmind | sync with head
|
| 1.28.6.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.31.6.2 |
| 01-Aug-2021 |
thorpej | Sync with HEAD.
|
| 1.31.6.1 |
| 13-May-2021 |
thorpej | Sync with HEAD.
|