diff options
| author | Maxime Henrion <mux@FreeBSD.org> | 2003-02-25 03:21:22 +0000 |
|---|---|---|
| committer | Maxime Henrion <mux@FreeBSD.org> | 2003-02-25 03:21:22 +0000 |
| commit | 07159f9c56de91cb7d7bd6b6a795eebfee78133e (patch) | |
| tree | a4ad6d456fdd984cdf9c6c6abd5e4654a9b7e3e0 /sys/dev/tdfx | |
| parent | edf02ff15d952524ebf102c65a7b23e716259fe5 (diff) | |
Notes
Diffstat (limited to 'sys/dev/tdfx')
| -rw-r--r-- | sys/dev/tdfx/tdfx_pci.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/tdfx/tdfx_pci.c b/sys/dev/tdfx/tdfx_pci.c index 40fcfadd4dca..33e0896f724f 100644 --- a/sys/dev/tdfx/tdfx_pci.c +++ b/sys/dev/tdfx/tdfx_pci.c @@ -441,7 +441,7 @@ tdfx_close(dev_t dev, int fflag, int devtype, struct thread *td) } static int -tdfx_mmap(dev_t dev, vm_offset_t offset, int nprot) +tdfx_mmap(dev_t dev, vm_offset_t offset, vm_offset_t *paddr, int nprot) { /* * mmap(2) is called by a user process to request that an area of memory @@ -472,14 +472,17 @@ tdfx_mmap(dev_t dev, vm_offset_t offset, int nprot) /* We must stay within the bound of our address space */ if((offset & 0xff000000) == tdfx_info[0]->addr0) { offset &= 0xffffff; - return atop(rman_get_start(tdfx_info[0]->memrange) + offset); + *paddr = rman_get_start(tdfx_info[0]->memrange) + offset; + return 0; } if(tdfx_count > 1) { tdfx_info[1] = (struct tdfx_softc*)devclass_get_softc(tdfx_devclass, 1); if((offset & 0xff000000) == tdfx_info[1]->addr0) { offset &= 0xffffff; - return atop(rman_get_start(tdfx_info[1]->memrange) + offset); + *paddr = rman_get_start(tdfx_info[1]->memrange) + + offset; + return 0; } } |
