Allow chipset drivers to specify the direct-mapped DMA window's mask in
preparation for tsunami support. Previous chipsets' direct-mapped DMA mask was always 1024*1024*1024. The Tsunami chipset needs it to be 2*1024*1024*1024 These changes should not affect the i386 port Reviewed by: Doug Rabson <dfr@nlsystems.com>
This commit is contained in:
parent
430f792e8c
commit
50b8d1cce4
@ -23,7 +23,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id$
|
||||
* $Id: busdma_machdep.c,v 1.1 1998/09/16 08:20:45 dfr Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
@ -356,6 +356,9 @@ bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map)
|
||||
/*
|
||||
* Map the buffer buf into bus space using the dmamap map.
|
||||
*/
|
||||
|
||||
vm_offset_t alpha_XXX_dmamap_or = 1024UL*1024UL*1024UL; /*XXX */
|
||||
|
||||
int
|
||||
bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
|
||||
bus_size_t buflen, bus_dmamap_callback_t *callback,
|
||||
@ -439,7 +442,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
|
||||
}
|
||||
|
||||
if (sg->ds_len == 0) {
|
||||
sg->ds_addr = paddr + 1*1024*1024*1024; /* XXX */
|
||||
sg->ds_addr = paddr + alpha_XXX_dmamap_or;
|
||||
sg->ds_len = size;
|
||||
} else if (paddr == nextpaddr) {
|
||||
sg->ds_len += size;
|
||||
@ -449,7 +452,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
|
||||
seg++;
|
||||
if (seg > dmat->nsegments)
|
||||
break;
|
||||
sg->ds_addr = paddr + 1*1024*1024*1024; /* XXX */
|
||||
sg->ds_addr = paddr + alpha_XXX_dmamap_or;
|
||||
sg->ds_len = size;
|
||||
}
|
||||
vaddr += size;
|
||||
|
@ -43,7 +43,7 @@
|
||||
* from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90
|
||||
* from: @(#)pmap.h 7.4 (Berkeley) 5/12/91
|
||||
* from: i386 pmap.h,v 1.54 1997/11/20 19:30:35 bde Exp
|
||||
* $Id: pmap.h,v 1.2 1998/06/10 10:55:16 dfr Exp $
|
||||
* $Id: pmap.h,v 1.3 1998/08/23 16:05:55 dfr Exp $
|
||||
*/
|
||||
|
||||
#ifndef _MACHINE_PMAP_H_
|
||||
@ -144,6 +144,14 @@ pmap_kextract(vm_offset_t va)
|
||||
|
||||
#define vtophys(va) pmap_kextract(((vm_offset_t) (va)))
|
||||
|
||||
extern vm_offset_t alpha_XXX_dmamap_or;
|
||||
|
||||
static __inline vm_offset_t
|
||||
alpha_XXX_dmamap(vm_offset_t va)
|
||||
{
|
||||
return (pmap_kextract(va) | alpha_XXX_dmamap_or);
|
||||
}
|
||||
|
||||
#endif /* KERNEL */
|
||||
|
||||
/*
|
||||
|
@ -25,7 +25,7 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: ata-dma.c,v 1.6 1999/04/18 20:48:15 sos Exp $
|
||||
* $Id: ata-dma.c,v 1.7 1999/05/17 15:58:45 sos Exp $
|
||||
*/
|
||||
|
||||
#include "ata.h"
|
||||
@ -47,7 +47,7 @@
|
||||
|
||||
#ifdef __alpha__
|
||||
#undef vtophys
|
||||
#define vtophys(va) (pmap_kextract(((vm_offset_t) (va))) + 1*1024*1024*1024)
|
||||
#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)va)
|
||||
#endif
|
||||
|
||||
/* misc defines */
|
||||
|
@ -29,7 +29,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: if_tireg.h,v 1.44 1999/05/03 16:56:07 wpaul Exp $
|
||||
* $Id: if_tireg.h,v 1.2 1999/05/03 17:44:52 wpaul Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -1184,7 +1184,6 @@ struct ti_softc {
|
||||
|
||||
#ifdef __alpha__
|
||||
#undef vtophys
|
||||
#define vtophys(va) (pmap_kextract(((vm_offset_t) (va))) \
|
||||
+ 1*1024*1024*1024)
|
||||
#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)va)
|
||||
#endif
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: if_alreg.h,v 1.4 1999/05/21 00:07:34 wpaul Exp $
|
||||
* $Id: if_alreg.h,v 1.1 1999/05/21 04:37:24 wpaul Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -702,6 +702,5 @@ struct al_softc {
|
||||
|
||||
#ifdef __alpha__
|
||||
#undef vtophys
|
||||
#define vtophys(va) (pmap_kextract(((vm_offset_t) (va))) \
|
||||
+ 1*1024*1024*1024)
|
||||
#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)va)
|
||||
#endif
|
||||
|
@ -29,7 +29,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: if_mxreg.h,v 1.17 1999/05/06 15:04:00 wpaul Exp $
|
||||
* $Id: if_mxreg.h,v 1.5 1999/05/06 15:32:46 wpaul Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -709,6 +709,5 @@ struct mx_softc {
|
||||
|
||||
#ifdef __alpha__
|
||||
#undef vtophys
|
||||
#define vtophys(va) (pmap_kextract(((vm_offset_t) (va))) \
|
||||
+ 1*1024*1024*1024)
|
||||
#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)va)
|
||||
#endif
|
||||
|
@ -29,7 +29,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: if_pnreg.h,v 1.10 1999/04/14 19:40:08 wpaul Exp $
|
||||
* $Id: if_pnreg.h,v 1.11 1999/05/06 15:32:47 wpaul Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -707,6 +707,5 @@ struct pn_softc {
|
||||
|
||||
#ifdef __alpha__
|
||||
#undef vtophys
|
||||
#define vtophys(va) (pmap_kextract(((vm_offset_t) (va))) \
|
||||
+ 1*1024*1024*1024)
|
||||
#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)va)
|
||||
#endif
|
||||
|
@ -29,7 +29,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: if_tireg.h,v 1.44 1999/05/03 16:56:07 wpaul Exp $
|
||||
* $Id: if_tireg.h,v 1.2 1999/05/03 17:44:52 wpaul Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -1184,7 +1184,6 @@ struct ti_softc {
|
||||
|
||||
#ifdef __alpha__
|
||||
#undef vtophys
|
||||
#define vtophys(va) (pmap_kextract(((vm_offset_t) (va))) \
|
||||
+ 1*1024*1024*1024)
|
||||
#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)va)
|
||||
#endif
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: if_xlreg.h,v 1.28 1999/05/05 15:01:27 wpaul Exp $
|
||||
* $Id: if_xlreg.h,v 1.15 1999/05/05 17:05:07 wpaul Exp $
|
||||
*/
|
||||
|
||||
#define XL_EE_READ 0x0080 /* read, 5 bit address */
|
||||
@ -812,8 +812,8 @@ struct xl_stats {
|
||||
|
||||
#ifdef __alpha__
|
||||
#undef vtophys
|
||||
#define vtophys(va) (pmap_kextract(((vm_offset_t) (va))) \
|
||||
+ 1*1024*1024*1024)
|
||||
#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)va)
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef IFM_10_FL
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**************************************************************************
|
||||
**
|
||||
** $Id: ncr.c,v 1.146 1999/05/09 22:44:42 se Exp $
|
||||
** $Id: ncr.c,v 1.147 1999/05/21 22:02:02 ken Exp $
|
||||
**
|
||||
** Device driver for the NCR 53C8XX PCI-SCSI-Controller Family.
|
||||
**
|
||||
@ -275,8 +275,7 @@
|
||||
#ifdef __alpha__
|
||||
/* XXX */
|
||||
#undef vtophys
|
||||
#define vtophys(va) (pmap_kextract(((vm_offset_t) (va))) \
|
||||
+ 1*1024*1024*1024)
|
||||
#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)va)
|
||||
#endif
|
||||
|
||||
#ifdef NCR_IOMAPPED
|
||||
@ -1361,7 +1360,7 @@ static void ncr_attach (pcici_t tag, int unit);
|
||||
|
||||
#if !defined(lint)
|
||||
static const char ident[] =
|
||||
"\n$Id: ncr.c,v 1.146 1999/05/09 22:44:42 se Exp $\n";
|
||||
"\n$Id: ncr.c,v 1.147 1999/05/21 22:02:02 ken Exp $\n";
|
||||
#endif
|
||||
|
||||
static const u_long ncr_version = NCR_VERSION * 11
|
||||
|
Loading…
x
Reference in New Issue
Block a user