summaryrefslogtreecommitdiffstats
path: root/sys/dev/agp/agp_intel.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2007-10-30 22:09:16 +0000
committerjhb <jhb@FreeBSD.org>2007-10-30 22:09:16 +0000
commitfb7d38331162808946b7a5b8403973e269dec20d (patch)
tree4bbfaaad51fa35b2a857b9a295ba0233f3be30ff /sys/dev/agp/agp_intel.c
parent21b82a0c2984db5116c4ae71807cffe53301e89e (diff)
downloadFreeBSD-src-fb7d38331162808946b7a5b8403973e269dec20d.zip
FreeBSD-src-fb7d38331162808946b7a5b8403973e269dec20d.tar.gz
Split agp_generic_detach() up into two routines: agp_free_cdev() destroys
/dev/agpgart and agp_free_res() frees resources like the BAR for the aperture. Splitting this up lets chipset-specific detach routines manipulate the aperture during their detach routines without panicing. MFC after: 1 week Reviewed by: anholt
Diffstat (limited to 'sys/dev/agp/agp_intel.c')
-rw-r--r--sys/dev/agp/agp_intel.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/dev/agp/agp_intel.c b/sys/dev/agp/agp_intel.c
index d30f0d4..60e0e6f 100644
--- a/sys/dev/agp/agp_intel.c
+++ b/sys/dev/agp/agp_intel.c
@@ -262,13 +262,10 @@ agp_intel_detach(device_t dev)
{
struct agp_intel_softc *sc;
u_int32_t reg;
- int error;
sc = device_get_softc(dev);
- error = agp_generic_detach(dev);
- if (error)
- return (error);
+ agp_free_cdev(dev);
/* Disable aperture accesses. */
switch (pci_get_devid(dev)) {
@@ -305,6 +302,7 @@ agp_intel_detach(device_t dev)
pci_write_config(dev, AGP_INTEL_ATTBASE, 0, 4);
AGP_SET_APERTURE(dev, sc->initial_aperture);
agp_free_gatt(sc->gatt);
+ agp_free_res(dev);
return (0);
}
OpenPOWER on IntegriCloud