diff options
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/pci/agp.c | 54 | ||||
-rw-r--r-- | sys/dev/pci/agp_ali.c | 27 | ||||
-rw-r--r-- | sys/dev/pci/agp_amd.c | 27 | ||||
-rw-r--r-- | sys/dev/pci/agp_i810.c | 66 | ||||
-rw-r--r-- | sys/dev/pci/agp_intel.c | 27 | ||||
-rw-r--r-- | sys/dev/pci/agp_sis.c | 27 | ||||
-rw-r--r-- | sys/dev/pci/agp_via.c | 27 | ||||
-rw-r--r-- | sys/dev/pci/agpvar.h | 33 |
8 files changed, 104 insertions, 184 deletions
diff --git a/sys/dev/pci/agp.c b/sys/dev/pci/agp.c index 59dfc602b48..9d4c7501831 100644 --- a/sys/dev/pci/agp.c +++ b/sys/dev/pci/agp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: agp.c,v 1.30 2009/05/10 14:44:42 oga Exp $ */ +/* $OpenBSD: agp.c,v 1.31 2009/05/10 15:28:45 oga Exp $ */ /*- * Copyright (c) 2000 Doug Rabson * All rights reserved. @@ -460,13 +460,12 @@ agp_generic_free_memory(struct agp_softc *sc, struct agp_memory *mem) int agp_generic_bind_memory(struct agp_softc *sc, struct agp_memory *mem, - off_t offset) + bus_size_t offset) { - bus_dma_segment_t *segs, *seg; - bus_size_t done, j; - bus_addr_t pa; - off_t i, k; - int nseg, error; + bus_dma_segment_t *segs, *seg; + bus_addr_t apaddr = sc->sc_apaddr + offset; + bus_size_t done, i, j; + int nseg, error; rw_enter_write(&sc->sc_lock); @@ -512,43 +511,21 @@ agp_generic_bind_memory(struct agp_softc *sc, struct agp_memory *mem, mem->am_dmaseg = segs; /* - * Bind the individual pages and flush the chipset's - * TLB. + * Install entries in the GATT, making sure that if + * AGP_PAGE_SIZE < PAGE_SIZE and mem->am_size is not + * aligned to PAGE_SIZE, we don't modify too many GATT + * entries. Flush chipset tlb when done. */ done = 0; for (i = 0; i < mem->am_dmamap->dm_nsegs; i++) { seg = &mem->am_dmamap->dm_segs[i]; - /* - * Install entries in the GATT, making sure that if - * AGP_PAGE_SIZE < PAGE_SIZE and mem->am_size is not - * aligned to PAGE_SIZE, we don't modify too many GATT - * entries. - */ for (j = 0; j < seg->ds_len && (done + j) < mem->am_size; j += AGP_PAGE_SIZE) { - pa = seg->ds_addr + j; AGP_DPF("binding offset %#lx to pa %#lx\n", (unsigned long)(offset + done + j), - (unsigned long)pa); - error = sc->sc_methods->bind_page(sc->sc_chipc, - offset + done + j, pa); - if (error) { - /* - * Bail out. Reverse all the mappings - * and unwire the pages. - */ - for (k = 0; k < done + j; k += AGP_PAGE_SIZE) - sc->sc_methods->unbind_page( - sc->sc_chipc, offset + k); - - bus_dmamap_unload(sc->sc_dmat, mem->am_dmamap); - bus_dmamem_free(sc->sc_dmat, mem->am_dmaseg, - mem->am_nseg); - free(mem->am_dmaseg, M_AGP); - rw_exit_write(&sc->sc_lock); - AGP_DPF("AGP_BIND_PAGE failed %d\n", error); - return (error); - } + (unsigned long)seg->ds_addr + j); + sc->sc_methods->bind_page(sc->sc_chipc, + apaddr + done + j, seg->ds_addr + j, 0); } done += seg->ds_len; } @@ -575,7 +552,8 @@ agp_generic_bind_memory(struct agp_softc *sc, struct agp_memory *mem, int agp_generic_unbind_memory(struct agp_softc *sc, struct agp_memory *mem) { - int i; + bus_addr_t apaddr = sc->sc_apaddr + mem->am_offset; + bus_size_t i; rw_enter_write(&sc->sc_lock); @@ -591,7 +569,7 @@ agp_generic_unbind_memory(struct agp_softc *sc, struct agp_memory *mem) * TLB. Unwire the pages so they can be swapped. */ for (i = 0; i < mem->am_size; i += AGP_PAGE_SIZE) - sc->sc_methods->unbind_page(sc->sc_chipc, mem->am_offset + i); + sc->sc_methods->unbind_page(sc->sc_chipc, apaddr + i); agp_flush_cache(); sc->sc_methods->flush_tlb(sc->sc_chipc); diff --git a/sys/dev/pci/agp_ali.c b/sys/dev/pci/agp_ali.c index 7591370a19e..1fe96e3eaaa 100644 --- a/sys/dev/pci/agp_ali.c +++ b/sys/dev/pci/agp_ali.c @@ -1,4 +1,4 @@ -/* $OpenBSD: agp_ali.c,v 1.8 2009/05/10 14:44:42 oga Exp $ */ +/* $OpenBSD: agp_ali.c,v 1.9 2009/05/10 15:28:45 oga Exp $ */ /* $NetBSD: agp_ali.c,v 1.2 2001/09/15 00:25:00 thorpej Exp $ */ @@ -63,8 +63,8 @@ void agp_ali_attach(struct device *, struct device *, void *); int agp_ali_probe(struct device *, void *, void *); bus_size_t agp_ali_get_aperture(void *); int agp_ali_set_aperture(void *sc, bus_size_t); -int agp_ali_bind_page(void *, off_t, bus_addr_t); -int agp_ali_unbind_page(void *, off_t); +void agp_ali_bind_page(void *, bus_addr_t, paddr_t, int); +void agp_ali_unbind_page(void *, bus_addr_t); void agp_ali_flush_tlb(void *); struct cfattach aliagp_ca = { @@ -228,28 +228,21 @@ agp_ali_set_aperture(void *sc, bus_size_t aperture) return (0); } -int -agp_ali_bind_page(void *sc, off_t offset, bus_addr_t physical) +void +agp_ali_bind_page(void *sc, bus_addr_t offset, paddr_t physical, int flags) { struct agp_ali_softc *asc = sc; - if (offset < 0 || offset >= (asc->gatt->ag_entries << AGP_PAGE_SHIFT)) - return (EINVAL); - - asc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical; - return (0); + asc->gatt->ag_virtual[(offset - asc->asc_apaddr) >> AGP_PAGE_SHIFT] = + physical; } -int -agp_ali_unbind_page(void *sc, off_t offset) +void +agp_ali_unbind_page(void *sc, bus_size_t offset) { struct agp_ali_softc *asc = sc; - if (offset < 0 || offset >= (asc->gatt->ag_entries << AGP_PAGE_SHIFT)) - return (EINVAL); - - asc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; - return (0); + asc->gatt->ag_virtual[(offset - asc->asc_apaddr) >> AGP_PAGE_SHIFT] = 0; } void diff --git a/sys/dev/pci/agp_amd.c b/sys/dev/pci/agp_amd.c index 710062ed054..f2d4cda07ca 100644 --- a/sys/dev/pci/agp_amd.c +++ b/sys/dev/pci/agp_amd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: agp_amd.c,v 1.11 2009/05/10 14:44:42 oga Exp $ */ +/* $OpenBSD: agp_amd.c,v 1.12 2009/05/10 15:28:45 oga Exp $ */ /* $NetBSD: agp_amd.c,v 1.6 2001/10/06 02:48:50 thorpej Exp $ */ /*- @@ -81,8 +81,8 @@ int agp_amd_probe(struct device *, void *, void *); bus_size_t agp_amd_get_aperture(void *); struct agp_amd_gatt *agp_amd_alloc_gatt(bus_dma_tag_t, bus_size_t); int agp_amd_set_aperture(void *, bus_size_t); -int agp_amd_bind_page(void *, off_t, bus_addr_t); -int agp_amd_unbind_page(void *, off_t); +void agp_amd_bind_page(void *, bus_size_t, paddr_t, int); +void agp_amd_unbind_page(void *, bus_size_t); void agp_amd_flush_tlb(void *); struct cfattach amdagp_ca = { @@ -313,28 +313,21 @@ agp_amd_set_aperture(void *sc, bus_size_t aperture) return (0); } -int -agp_amd_bind_page(void *sc, off_t offset, bus_addr_t physical) +void +agp_amd_bind_page(void *sc, bus_size_t offset, paddr_t physical, int flags) { struct agp_amd_softc *asc = sc; - if (offset < 0 || offset >= (asc->gatt->ag_entries << AGP_PAGE_SHIFT)) - return (EINVAL); - - asc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical | 1; - return (0); + asc->gatt->ag_virtual[(offset - asc->asc_apaddr) >> AGP_PAGE_SHIFT] = + physical | 1; } -int -agp_amd_unbind_page(void *sc, off_t offset) +void +agp_amd_unbind_page(void *sc, bus_size_t offset) { struct agp_amd_softc *asc = sc; - if (offset < 0 || offset >= (asc->gatt->ag_entries << AGP_PAGE_SHIFT)) - return (EINVAL); - - asc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; - return (0); + asc->gatt->ag_virtual[(offset - asc->asc_apaddr) >> AGP_PAGE_SHIFT] = 0; } void diff --git a/sys/dev/pci/agp_i810.c b/sys/dev/pci/agp_i810.c index 2e3e3a1059e..da7ef078622 100644 --- a/sys/dev/pci/agp_i810.c +++ b/sys/dev/pci/agp_i810.c @@ -1,4 +1,4 @@ -/* $OpenBSD: agp_i810.c,v 1.50 2009/05/10 14:44:42 oga Exp $ */ +/* $OpenBSD: agp_i810.c,v 1.51 2009/05/10 15:28:45 oga Exp $ */ /*- * Copyright (c) 2000 Doug Rabson @@ -80,15 +80,15 @@ void agp_i810_attach(struct device *, struct device *, void *); int agp_i810_probe(struct device *, void *, void *); int agp_i810_get_chiptype(struct pci_attach_args *); bus_size_t agp_i810_get_aperture(void *); -int agp_i810_bind_page(void *, off_t, bus_addr_t); -int agp_i810_unbind_page(void *, off_t); +void agp_i810_bind_page(void *, bus_size_t, paddr_t, int); +void agp_i810_unbind_page(void *, bus_size_t); void agp_i810_flush_tlb(void *); int agp_i810_enable(void *, u_int32_t mode); struct agp_memory * agp_i810_alloc_memory(void *, int, vsize_t); int agp_i810_free_memory(void *, struct agp_memory *); -int agp_i810_bind_memory(void *, struct agp_memory *, off_t); +int agp_i810_bind_memory(void *, struct agp_memory *, bus_size_t); int agp_i810_unbind_memory(void *, struct agp_memory *); -void intagp_write_gtt(struct agp_i810_softc *, bus_size_t, u_int32_t); +void intagp_write_gtt(struct agp_i810_softc *, bus_size_t, paddr_t); int intagp_gmch_match(struct pci_attach_args *); struct cfattach intagp_ca = { @@ -515,51 +515,20 @@ agp_i810_get_aperture(void *sc) return (isc->aperture); } -int -agp_i810_bind_page(void *sc, off_t offset, bus_addr_t physical) +void +agp_i810_bind_page(void *sc, bus_addr_t offset, paddr_t physical, int flags) { struct agp_i810_softc *isc = sc; - if (offset < 0 || offset >= (isc->gatt->ag_entries << AGP_PAGE_SHIFT)) { -#ifdef DEBUG - printf("agp: failed: offset 0x%08x, shift %d, entries %d\n", - (int)offset, AGP_PAGE_SHIFT, isc->gatt->ag_entries); -#endif - return (EINVAL); - } - - if (isc->chiptype != CHIP_I810) { - if ((offset >> AGP_PAGE_SHIFT) < isc->stolen) { -#ifdef DEBUG - printf("agp: trying to bind into stolen memory\n"); -#endif - return (EINVAL); - } - } - - intagp_write_gtt(isc, offset, physical); - return (0); + intagp_write_gtt(isc, offset - isc->isc_apaddr, physical); } -int -agp_i810_unbind_page(void *sc, off_t offset) +void +agp_i810_unbind_page(void *sc, bus_size_t offset) { struct agp_i810_softc *isc = sc; - if (offset < 0 || offset >= (isc->gatt->ag_entries << AGP_PAGE_SHIFT)) - return (EINVAL); - - if (isc->chiptype != CHIP_I810 ) { - if ((offset >> AGP_PAGE_SHIFT) < isc->stolen) { -#ifdef DEBUG - printf("agp: trying to unbind from stolen memory\n"); -#endif - return (EINVAL); - } - } - - intagp_write_gtt(isc, offset, 0); - return (0); + intagp_write_gtt(isc, offset - isc->isc_apaddr, 0); } /* @@ -668,13 +637,22 @@ agp_i810_free_memory(void *softc, struct agp_memory *mem) } int -agp_i810_bind_memory(void *sc, struct agp_memory *mem, off_t offset) +agp_i810_bind_memory(void *sc, struct agp_memory *mem, bus_size_t offset) { struct agp_i810_softc *isc = sc; u_int32_t regval, i; if (mem->am_is_bound != 0) return (EINVAL); + + if (isc->chiptype != CHIP_I810 && (offset >> AGP_PAGE_SHIFT) < + isc->stolen) { +#ifdef DEBUG + printf("agp: trying to bind into stolen memory\n"); +#endif + return (EINVAL); + } + /* * XXX evil hack: the PGTBL_CTL appearently gets overwritten by the * X server for mysterious reasons which leads to crashes if we write @@ -738,7 +716,7 @@ agp_i810_unbind_memory(void *sc, struct agp_memory *mem) } void -intagp_write_gtt(struct agp_i810_softc *isc, bus_size_t off, u_int32_t v) +intagp_write_gtt(struct agp_i810_softc *isc, bus_size_t off, paddr_t v) { u_int32_t pte = 0; bus_size_t baseoff, wroff; diff --git a/sys/dev/pci/agp_intel.c b/sys/dev/pci/agp_intel.c index 011bd1512a8..56905c35b5c 100644 --- a/sys/dev/pci/agp_intel.c +++ b/sys/dev/pci/agp_intel.c @@ -1,4 +1,4 @@ -/* $OpenBSD: agp_intel.c,v 1.13 2009/05/10 14:44:42 oga Exp $ */ +/* $OpenBSD: agp_intel.c,v 1.14 2009/05/10 15:28:45 oga Exp $ */ /* $NetBSD: agp_intel.c,v 1.3 2001/09/15 00:25:00 thorpej Exp $ */ /*- @@ -71,8 +71,8 @@ void agp_intel_attach(struct device *, struct device *, void *); int agp_intel_probe(struct device *, void *, void *); bus_size_t agp_intel_get_aperture(void *); int agp_intel_set_aperture(void *, bus_size_t); -int agp_intel_bind_page(void *, off_t, bus_addr_t); -int agp_intel_unbind_page(void *, off_t); +void agp_intel_bind_page(void *, bus_addr_t, paddr_t, int); +void agp_intel_unbind_page(void *, bus_addr_t); void agp_intel_flush_tlb(void *); struct cfattach intelagp_ca = { @@ -326,28 +326,21 @@ agp_intel_set_aperture(void *sc, bus_size_t aperture) return (0); } -int -agp_intel_bind_page(void *sc, off_t offset, bus_addr_t physical) +void +agp_intel_bind_page(void *sc, bus_addr_t offset, paddr_t physical, int flags) { struct agp_intel_softc *isc = sc; - if (offset < 0 || offset >= (isc->gatt->ag_entries << AGP_PAGE_SHIFT)) - return (EINVAL); - - isc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical | 0x17; - return (0); + isc->gatt->ag_virtual[(offset - isc->isc_apaddr) >> AGP_PAGE_SHIFT] = + physical | 0x17; } -int -agp_intel_unbind_page(void *sc, off_t offset) +void +agp_intel_unbind_page(void *sc, bus_size_t offset) { struct agp_intel_softc *isc = sc; - if (offset < 0 || offset >= (isc->gatt->ag_entries << AGP_PAGE_SHIFT)) - return (EINVAL); - - isc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; - return (0); + isc->gatt->ag_virtual[(offset - isc->isc_apaddr) >> AGP_PAGE_SHIFT] = 0; } void diff --git a/sys/dev/pci/agp_sis.c b/sys/dev/pci/agp_sis.c index b9f610e5ff0..e96199abcff 100644 --- a/sys/dev/pci/agp_sis.c +++ b/sys/dev/pci/agp_sis.c @@ -1,4 +1,4 @@ -/* $OpenBSD: agp_sis.c,v 1.11 2009/05/10 14:44:42 oga Exp $ */ +/* $OpenBSD: agp_sis.c,v 1.12 2009/05/10 15:28:45 oga Exp $ */ /* $NetBSD: agp_sis.c,v 1.2 2001/09/15 00:25:00 thorpej Exp $ */ /*- @@ -62,8 +62,8 @@ void agp_sis_attach(struct device *, struct device *, void *); int agp_sis_probe(struct device *, void *, void *); bus_size_t agp_sis_get_aperture(void *); int agp_sis_set_aperture(void *, bus_size_t); -int agp_sis_bind_page(void *, off_t, bus_addr_t); -int agp_sis_unbind_page(void *, off_t); +void agp_sis_bind_page(void *, bus_addr_t, paddr_t, int); +void agp_sis_unbind_page(void *, bus_addr_t); void agp_sis_flush_tlb(void *); struct cfattach sisagp_ca = { @@ -211,28 +211,21 @@ agp_sis_set_aperture(void *sc, bus_size_t aperture) return (0); } -int -agp_sis_bind_page(void *sc, off_t offset, bus_addr_t physical) +void +agp_sis_bind_page(void *sc, bus_addr_t offset, paddr_t physical, int flags) { struct agp_sis_softc *ssc = sc; - if (offset < 0 || offset >= (ssc->gatt->ag_entries << AGP_PAGE_SHIFT)) - return (EINVAL); - - ssc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical; - return (0); + ssc->gatt->ag_virtual[(offset - ssc->ssc_apaddr) >> AGP_PAGE_SHIFT] = + physical; } -int -agp_sis_unbind_page(void *sc, off_t offset) +void +agp_sis_unbind_page(void *sc, bus_addr_t offset) { struct agp_sis_softc *ssc = sc; - if (offset < 0 || offset >= (ssc->gatt->ag_entries << AGP_PAGE_SHIFT)) - return (EINVAL); - - ssc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; - return (0); + ssc->gatt->ag_virtual[(offset - ssc->ssc_apaddr) >> AGP_PAGE_SHIFT] = 0; } void diff --git a/sys/dev/pci/agp_via.c b/sys/dev/pci/agp_via.c index a1a01ee6f02..dd4f2cbac00 100644 --- a/sys/dev/pci/agp_via.c +++ b/sys/dev/pci/agp_via.c @@ -1,4 +1,4 @@ -/* $OpenBSD: agp_via.c,v 1.12 2009/05/10 14:44:42 oga Exp $ */ +/* $OpenBSD: agp_via.c,v 1.13 2009/05/10 15:28:45 oga Exp $ */ /* $NetBSD: agp_via.c,v 1.2 2001/09/15 00:25:00 thorpej Exp $ */ /*- @@ -52,8 +52,8 @@ void agp_via_attach(struct device *, struct device *, void *); int agp_via_probe(struct device *, void *, void *); bus_size_t agp_via_get_aperture(void *); int agp_via_set_aperture(void *, bus_size_t); -int agp_via_bind_page(void *, off_t, bus_addr_t); -int agp_via_unbind_page(void *, off_t); +void agp_via_bind_page(void *, bus_addr_t, paddr_t, int); +void agp_via_unbind_page(void *, bus_addr_t); void agp_via_flush_tlb(void *); const struct agp_methods agp_via_methods = { @@ -250,28 +250,21 @@ agp_via_set_aperture(void *sc, bus_size_t aperture) return (0); } -int -agp_via_bind_page(void *sc, off_t offset, bus_addr_t physical) +void +agp_via_bind_page(void *sc, bus_addr_t offset, paddr_t physical, int flags) { struct agp_via_softc *vsc = sc; - if (offset < 0 || offset >= (vsc->gatt->ag_entries << AGP_PAGE_SHIFT)) - return (EINVAL); - - vsc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical; - return (0); + vsc->gatt->ag_virtual[(offset - vsc->vsc_apaddr) >> AGP_PAGE_SHIFT] = + physical; } -int -agp_via_unbind_page(void *sc, off_t offset) +void +agp_via_unbind_page(void *sc, bus_addr_t offset) { struct agp_via_softc *vsc = sc; - if (offset < 0 || offset >= (vsc->gatt->ag_entries << AGP_PAGE_SHIFT)) - return (EINVAL); - - vsc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; - return (0); + vsc->gatt->ag_virtual[(offset - vsc->vsc_apaddr) >> AGP_PAGE_SHIFT] = 0; } void diff --git a/sys/dev/pci/agpvar.h b/sys/dev/pci/agpvar.h index 5e270ca205e..331cdd90b1c 100644 --- a/sys/dev/pci/agpvar.h +++ b/sys/dev/pci/agpvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: agpvar.h,v 1.17 2009/05/10 14:44:42 oga Exp $ */ +/* $OpenBSD: agpvar.h,v 1.18 2009/05/10 15:28:45 oga Exp $ */ /* $NetBSD: agpvar.h,v 1.4 2001/10/01 21:54:48 fvdl Exp $ */ /*- @@ -66,16 +66,16 @@ enum agp_acquire_state { */ TAILQ_HEAD(agp_memory_list, agp_memory); struct agp_memory { - TAILQ_ENTRY(agp_memory) am_link; /* wiring for the tailq */ - int am_id; /* unique id for block */ - vsize_t am_size; /* number of bytes allocated */ - int am_type; /* chipset specific type */ - off_t am_offset; /* page offset if bound */ - int am_is_bound; /* non-zero if bound */ - bus_addr_t am_physical; - bus_dmamap_t am_dmamap; - int am_nseg; - bus_dma_segment_t *am_dmaseg; + TAILQ_ENTRY(agp_memory) am_link; /* wiring for the tailq */ + bus_dmamap_t am_dmamap; + bus_dma_segment_t *am_dmaseg; + bus_size_t am_size; /* number of bytes allocated */ + bus_size_t am_offset; /* page offset if bound */ + paddr_t am_physical; + int am_id; /* unique id for block */ + int am_is_bound; /* non-zero if bound */ + int am_nseg; + int am_type; /* chipset specific type */ }; /* @@ -99,14 +99,14 @@ struct agp_memory_info { struct agp_methods { bus_size_t (*get_aperture)(void *); - int (*bind_page)(void *, off_t, bus_addr_t); - int (*unbind_page)(void *, off_t); + void (*bind_page)(void *, bus_addr_t, paddr_t, int); + void (*unbind_page)(void *, bus_addr_t); void (*flush_tlb)(void *); int (*enable)(void *, u_int32_t mode); struct agp_memory * (*alloc_memory)(void *, int, vsize_t); int (*free_memory)(void *, struct agp_memory *); - int (*bind_memory)(void *, struct agp_memory *, off_t); + int (*bind_memory)(void *, struct agp_memory *, bus_size_t); int (*unbind_memory)(void *, struct agp_memory *); }; @@ -151,13 +151,12 @@ struct agp_gatt { struct device *agp_attach_bus(struct pci_attach_args *, const struct agp_methods *, bus_addr_t, struct device *); -int agp_map_aperture(struct pci_attach_args *, - struct agp_softc *, u_int32_t, u_int32_t); struct agp_gatt * agp_alloc_gatt(bus_dma_tag_t, u_int32_t); void agp_free_gatt(bus_dma_tag_t, struct agp_gatt *); void agp_flush_cache(void); -int agp_generic_bind_memory(struct agp_softc *, struct agp_memory *, off_t); +int agp_generic_bind_memory(struct agp_softc *, struct agp_memory *, + bus_size_t); int agp_generic_unbind_memory(struct agp_softc *, struct agp_memory *); int agp_alloc_dmamem(bus_dma_tag_t, size_t, bus_dmamap_t *, |