Commit Diff


commit - a7769b282fffbe228a8a542d15e4234ea718b7f0
commit + bb20f6ed50c212dc9921372b127e5b0893225bf6
blob - 973a277cb0119827c88ac7737f16de196ac1b53c
blob + bee427e465a78f810cfa4875913607f5c05b8751
--- sys/arch/amd64/pci/agp_machdep.c
+++ sys/arch/amd64/pci/agp_machdep.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: agp_machdep.c,v 1.14 2015/03/14 03:38:46 jsg Exp $	*/
+/*	$OpenBSD: agp_machdep.c,v 1.15 2024/07/02 04:10:25 jsg Exp $	*/
 
 /*
  * Copyright (c) 2008 - 2009 Owain G. Ainsworth <oga@openbsd.org>
@@ -43,17 +43,10 @@
 
 #include <sys/param.h>
 #include <sys/systm.h>
-#include <sys/malloc.h>
-#include <sys/rwlock.h>
 
-#include <dev/pci/pcivar.h>
-#include <dev/pci/pcireg.h>
-#include <dev/pci/pcidevs.h>
-
 #include <uvm/uvm_extern.h>
 
 #include <machine/cpufunc.h>
-#include <machine/bus.h>
 #include <machine/pmap.h>
 
 void
@@ -67,66 +60,3 @@ agp_flush_cache_range(vaddr_t va, vsize_t sz)
 {
 	pmap_flush_cache(va, sz);
 }
-
-struct agp_map {
-	bus_space_tag_t		bst;
-	bus_space_handle_t	bsh;
-	bus_size_t		size;
-};
-
-int
-agp_init_map(bus_space_tag_t tag, bus_addr_t address, bus_size_t size,
-    int flags, struct agp_map **mapp)
-{
-	struct agp_map	*map;
-	int		 err;
-
-	map = malloc(sizeof(*map), M_AGP, M_WAITOK | M_CANFAIL);
-	if (map == NULL)
-		return (ENOMEM);
-
-	map->bst = tag;
-	map->size = size;
-	
-	if ((err = bus_space_map(tag, address, size, flags, &map->bsh)) != 0) {
-		free(map, M_AGP, sizeof(*map));
-		return (err);
-	}
-	*mapp = map;
-	return (0);
-}
-
-void
-agp_destroy_map(struct agp_map *map)
-{
-	bus_space_unmap(map->bst, map->bsh, map->size);
-	free(map, M_AGP, sizeof(*map));
-}
-
-
-int
-agp_map_subregion(struct agp_map *map, bus_size_t offset, bus_size_t size,
-    bus_space_handle_t *bshp)
-{
-	return (bus_space_subregion(map->bst, map->bsh, offset, size, bshp));
-}
-
-void
-agp_unmap_subregion(struct agp_map *map, bus_space_handle_t bsh,
-    bus_size_t size)
-{
-	/* subregion doesn't need unmapping, do nothing */
-}
-
-void
-agp_map_atomic(struct agp_map *map, bus_size_t offset,
-    bus_space_handle_t *bshp)
-{
-	agp_map_subregion(map, offset, PAGE_SIZE, bshp);
-}
-
-void
-agp_unmap_atomic(struct agp_map *map, bus_space_handle_t bsh)
-{
-	/* subregion doesn't need unmapping, do nothing */
-}
blob - 14738d58786d8bd7dd207f77938b0f704b686cc6
blob + ef5232d5b435b34e7262a78fa29a04506b88ce8b
--- sys/arch/i386/pci/agp_machdep.c
+++ sys/arch/i386/pci/agp_machdep.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: agp_machdep.c,v 1.21 2023/01/30 10:49:05 jsg Exp $	*/
+/*	$OpenBSD: agp_machdep.c,v 1.22 2024/07/02 04:10:25 jsg Exp $	*/
 
 /*
  * Copyright (c) 2008 - 2009 Owain G. Ainsworth <oga@openbsd.org>
@@ -43,16 +43,10 @@
 
 #include <sys/param.h>
 #include <sys/systm.h>
-#include <sys/malloc.h>
 
-#include <dev/pci/pcivar.h>
-#include <dev/pci/pcireg.h>
-#include <dev/pci/agpvar.h>
-
 #include <uvm/uvm_extern.h>
 
 #include <machine/cpufunc.h>
-#include <machine/bus.h>
 #include <machine/pmap.h>
 
 void
@@ -66,106 +60,3 @@ agp_flush_cache_range(vaddr_t va, vsize_t sz)
 {
 	pmap_flush_cache(va, sz);
 }
-
-struct agp_map {
-	bus_space_tag_t	bst;
-	bus_addr_t	addr;
-	bus_size_t	size;
-	int		flags;
-	vaddr_t		va;
-};
-
-extern struct extent	*iomem_ex;
-
-int
-agp_init_map(bus_space_tag_t tag, bus_addr_t address, bus_size_t size,
-    int flags, struct agp_map **mapp)
-{
-	struct agp_map *map;
-	int error;
-
-	KASSERT(tag == I386_BUS_SPACE_MEM);
-
-	/*
-	 * We grab the extent out of the bus region ourselves
-	 * so we don't need to do these allocations every time.
-	 */
-	error = extent_alloc_region(iomem_ex, address, size,
-	    EX_NOWAIT | EX_MALLOCOK);
-	if (error)
-		return (error);
-
-	map = malloc(sizeof(*map), M_AGP, M_WAITOK | M_CANFAIL);
-	if (map == NULL)
-		return (ENOMEM);
-
-	map->bst = tag;
-	map->addr = address;
-	map->size = size;
-	map->flags = flags;
-
-	map->va = (vaddr_t)km_alloc(PAGE_SIZE, &kv_any, &kp_none, &kd_waitok);
-	if (map->va == 0) {
-		free(map, M_AGP, sizeof(*map));
-		return (ENOMEM);
-	}
-
-	*mapp = map;
-	return (0);
-}
-
-void
-agp_destroy_map(struct agp_map *map)
-{
-	if (extent_free(iomem_ex, map->addr, map->size,
-	    EX_NOWAIT | EX_MALLOCOK ))
-		printf("%s: can't free region\n",__func__);
-	km_free((void *)map->va, PAGE_SIZE, &kv_any, &kp_none);
-	free(map, M_AGP, sizeof(*map));
-}
-
-
-int
-agp_map_subregion(struct agp_map *map, bus_size_t offset, bus_size_t size,
-    bus_space_handle_t *bshp)
-{
-	return (_bus_space_map(map->bst, map->addr + offset, size,
-	    map->flags, bshp));
-}
-
-void
-agp_unmap_subregion(struct agp_map *map, bus_space_handle_t bsh,
-    bus_size_t size)
-{
-	return (_bus_space_unmap(map->bst, bsh, size, NULL));
-}
-
-void
-agp_map_atomic(struct agp_map *map, bus_size_t offset,
-    bus_space_handle_t *bshp)
-{
-	int pmap_flags = PMAP_NOCACHE;
-	paddr_t pa;
-
-	KASSERT((offset & PGOFSET) == 0);
-
-	if (map->flags & BUS_SPACE_MAP_CACHEABLE)
-		pmap_flags = 0;
-	else if (map->flags & BUS_SPACE_MAP_PREFETCHABLE)
-		pmap_flags = PMAP_WC;
-
-	pa = bus_space_mmap(map->bst, map->addr, offset, 0, 0);
-	pmap_kenter_pa(map->va, pa | pmap_flags, PROT_READ | PROT_WRITE);
-	pmap_update(pmap_kernel());
-
-	*bshp = (bus_space_handle_t)map->va;
-}
-
-void
-agp_unmap_atomic(struct agp_map *map, bus_space_handle_t bsh)
-{
-	KASSERT(bsh == (bus_space_handle_t)map->va);
-
-	pmap_kremove(map->va, PAGE_SIZE);
-	pmap_update(pmap_kernel());
-}
blob - afbc298d14292781ab7f23a6714d84dc29fbd5d6
blob + c290f1bd09fce8937d483fe73809acc70f2318cf
--- sys/dev/pci/agpvar.h
+++ sys/dev/pci/agpvar.h
@@ -1,4 +1,4 @@
-/*	$OpenBSD: agpvar.h,v 1.35 2024/05/13 01:15:51 jsg Exp $	*/
+/*	$OpenBSD: agpvar.h,v 1.36 2024/07/02 04:10:25 jsg Exp $	*/
 /*	$NetBSD: agpvar.h,v 1.4 2001/10/01 21:54:48 fvdl Exp $	*/
 
 /*-
@@ -122,8 +122,6 @@ struct agp_gatt {
 	size_t		ag_size;
 };
 
-struct agp_map;
-
 /*
  * Functions private to the AGP code.
  */
@@ -136,15 +134,6 @@ void	agp_free_gatt(bus_dma_tag_t, struct agp_gatt *);
 void	agp_flush_cache(void);
 void	agp_flush_cache_range(vaddr_t, vsize_t);
 int	agp_generic_enable(struct agp_softc *, u_int32_t);
-int	agp_init_map(bus_space_tag_t, bus_addr_t, bus_size_t, int, struct
-	    agp_map **);
-void	agp_destroy_map(struct agp_map *);
-int	agp_map_subregion(struct agp_map *, bus_size_t, bus_size_t,
-	    bus_space_handle_t *);
-void	agp_unmap_subregion(struct agp_map *, bus_space_handle_t,
-	    bus_size_t);
-void	agp_map_atomic(struct agp_map *, bus_size_t, bus_space_handle_t *);
-void	agp_unmap_atomic(struct agp_map *, bus_space_handle_t);
 
 int	agp_alloc_dmamem(bus_dma_tag_t, size_t, bus_dmamap_t *,
 	    bus_addr_t *, bus_dma_segment_t *);