Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/pci Rationalize agp_i810 aprint output. Fix agp_i81...
details: https://anonhg.NetBSD.org/src/rev/57d7b08c6927
branches: trunk
changeset: 329518:57d7b08c6927
user: riastradh <riastradh%NetBSD.org@localhost>
date: Wed May 28 03:17:42 2014 +0000
description:
Rationalize agp_i810 aprint output. Fix agp_i810_init error branches.
diffstat:
sys/dev/pci/agp_i810.c | 91 ++++++++++++++++++++++++++++++-------------------
1 files changed, 55 insertions(+), 36 deletions(-)
diffs (257 lines):
diff -r 8e5c74f881bc -r 57d7b08c6927 sys/dev/pci/agp_i810.c
--- a/sys/dev/pci/agp_i810.c Wed May 28 02:08:52 2014 +0000
+++ b/sys/dev/pci/agp_i810.c Wed May 28 03:17:42 2014 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: agp_i810.c,v 1.81 2014/05/28 02:08:52 riastradh Exp $ */
+/* $NetBSD: agp_i810.c,v 1.82 2014/05/28 03:17:42 riastradh Exp $ */
/*-
* Copyright (c) 2000 Doug Rabson
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: agp_i810.c,v 1.81 2014/05/28 02:08:52 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: agp_i810.c,v 1.82 2014/05/28 03:17:42 riastradh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -316,14 +316,17 @@
case PCI_PRODUCT_INTEL_82810E_GC:
case PCI_PRODUCT_INTEL_82815_FULL_GRAPH:
isc->chiptype = CHIP_I810;
+ aprint_normal(": i810-family chipset\n");
break;
case PCI_PRODUCT_INTEL_82830MP_IV:
case PCI_PRODUCT_INTEL_82845G_IGD:
isc->chiptype = CHIP_I830;
+ aprint_normal(": i830-family chipset\n");
break;
case PCI_PRODUCT_INTEL_82855GM_IGD:
case PCI_PRODUCT_INTEL_82865_IGD:
isc->chiptype = CHIP_I855;
+ aprint_normal(": i855-family chipset\n");
break;
case PCI_PRODUCT_INTEL_82915G_IGD:
case PCI_PRODUCT_INTEL_82915GM_IGD:
@@ -335,6 +338,7 @@
case PCI_PRODUCT_INTEL_PINEVIEW_IGD:
case PCI_PRODUCT_INTEL_PINEVIEW_M_IGD:
isc->chiptype = CHIP_I915;
+ aprint_normal(": i915-family chipset\n");
break;
case PCI_PRODUCT_INTEL_82965Q_IGD:
case PCI_PRODUCT_INTEL_82965Q_IGD_1:
@@ -347,6 +351,7 @@
case PCI_PRODUCT_INTEL_82G35_IGD:
case PCI_PRODUCT_INTEL_82G35_IGD_1:
isc->chiptype = CHIP_I965;
+ aprint_normal(": i965-family chipset\n");
break;
case PCI_PRODUCT_INTEL_82Q35_IGD:
case PCI_PRODUCT_INTEL_82Q35_IGD_1:
@@ -355,6 +360,7 @@
case PCI_PRODUCT_INTEL_82Q33_IGD:
case PCI_PRODUCT_INTEL_82Q33_IGD_1:
isc->chiptype = CHIP_G33;
+ aprint_normal(": G33-family chipset\n");
break;
case PCI_PRODUCT_INTEL_82GM45_IGD:
case PCI_PRODUCT_INTEL_82GM45_IGD_1:
@@ -366,8 +372,10 @@
case PCI_PRODUCT_INTEL_IRONLAKE_D_IGD:
case PCI_PRODUCT_INTEL_IRONLAKE_M_IGD:
isc->chiptype = CHIP_G4X;
+ aprint_normal(": G4X-family chipset\n");
break;
}
+ aprint_naive("\n");
mmadr_type = PCI_MAPREG_TYPE_MEM;
switch (isc->chiptype) {
@@ -406,7 +414,7 @@
else
error = agp_map_aperture(&isc->vga_pa, sc, apbase);
if (error) {
- aprint_error(": can't map aperture\n");
+ aprint_error_dev(self, "can't map aperture: %d\n", error);
goto fail1;
}
@@ -433,8 +441,7 @@
error = bus_space_map(isc->bst, mmadr, isc->size, mmadr_flags,
&isc->bsh);
if (error) {
- aprint_error_dev(self, "can't map MMIO registers: %d\n",
- error);
+ aprint_error_dev(self, "can't map MMIO registers: %d\n", error);
error = ENXIO;
goto fail1;
}
@@ -474,8 +481,7 @@
case CHIP_G4X:
error = agp_i810_setup_chipset_flush_page(sc);
if (error) {
- aprint_error_dev(self,
- "failed to set up chipset flush page: %d\n",
+ aprint_error_dev(self, "can't set up chipset flush page: %d\n",
error);
goto fail3;
}
@@ -494,7 +500,7 @@
/* Power management. (XXX Nothing to save on suspend? Fishy...) */
if (!pmf_device_register(self, NULL, agp_i810_resume))
- aprint_error_dev(self, "couldn't establish power handler\n");
+ aprint_error_dev(self, "can't establish power handler\n");
/*
* XXX horrible hack to allow drm code to use our mapping
@@ -508,6 +514,9 @@
if (error)
goto fail5;
+ /* Match the generic AGP code's autoconf output format. */
+ aprint_normal("%s", device_xname(self));
+
/* Success! */
return 0;
@@ -654,10 +663,12 @@
return 1;
}
-static int agp_i810_init(struct agp_softc *sc)
+static int
+agp_i810_init(struct agp_softc *sc)
{
struct agp_i810_softc *isc;
struct agp_gatt *gatt;
+ int error;
isc = sc->as_chipc;
gatt = isc->gatt;
@@ -673,13 +684,15 @@
isc->dcache_size = 0;
/* According to the specs the gatt on the i810 must be 64k */
- if (agp_alloc_dmamem(sc->as_dmat, 64 * 1024,
+ error = agp_alloc_dmamem(sc->as_dmat, 64 * 1024,
0, &gatt->ag_dmamap, &virtual, &gatt->ag_physical,
- &gatt->ag_dmaseg, 1, &dummyseg) != 0) {
- free(gatt, M_AGP);
- agp_generic_detach(sc);
- return ENOMEM;
+ &gatt->ag_dmaseg, 1, &dummyseg);
+ if (error) {
+ aprint_error_dev(sc->as_dev,
+ "can't allocate memory for GTT: %d\n", error);
+ goto fail0;
}
+
gatt->ag_virtual = (uint32_t *)virtual;
gatt->ag_size = gatt->ag_entries * sizeof(u_int32_t);
memset(gatt->ag_virtual, 0, gatt->ag_size);
@@ -707,15 +720,16 @@
break;
default:
isc->stolen = 0;
- aprint_error(
- ": unknown memory configuration, disabling\n");
- agp_generic_detach(sc);
- return EINVAL;
+ aprint_error_dev(sc->as_dev,
+ "unknown memory configuration, disabling\n");
+ error = ENXIO;
+ goto fail0;
}
if (isc->stolen > 0) {
- aprint_normal(": detected %dk stolen memory\n%s",
- isc->stolen * 4, device_xname(sc->as_dev));
+ aprint_normal_dev(sc->as_dev,
+ "detected %dk stolen memory\n",
+ isc->stolen * 4);
}
/* GATT address is already in there, make sure it's enabled */
@@ -763,9 +777,10 @@
gtt_size = 1024 + 512;
break;
default:
- aprint_error("Bad PGTBL size\n");
- agp_generic_detach(sc);
- return EINVAL;
+ aprint_error_dev(sc->as_dev,
+ "bad PGTBL size\n");
+ error = ENXIO;
+ goto fail0;
}
break;
case CHIP_G33:
@@ -777,18 +792,17 @@
gtt_size = 2048;
break;
default:
- aprint_error(": Bad PGTBL size\n");
- agp_generic_detach(sc);
- return EINVAL;
+ aprint_error_dev(sc->as_dev,
+ "bad PGTBL size\n");
+ error = ENXIO;
+ goto fail0;
}
break;
case CHIP_G4X:
gtt_size = 0;
break;
default:
- aprint_error(": bad chiptype\n");
- agp_generic_detach(sc);
- return EINVAL;
+ panic("impossible chiptype %d", isc->chiptype);
}
switch (gcc1 & AGP_I855_GCC1_GMS) {
@@ -832,10 +846,10 @@
stolen = 352 * 1024;
break;
default:
- aprint_error(
- ": unknown memory configuration, disabling\n");
- agp_generic_detach(sc);
- return EINVAL;
+ aprint_error_dev(sc->as_dev,
+ "unknown memory configuration, disabling\n");
+ error = ENXIO;
+ goto fail0;
}
switch (gcc1 & AGP_I855_GCC1_GMS) {
@@ -870,8 +884,9 @@
isc->stolen = (stolen - gtt_size) * 1024 / 4096;
if (isc->stolen > 0) {
- aprint_normal(": detected %dk stolen memory\n%s",
- isc->stolen * 4, device_xname(sc->as_dev));
+ aprint_normal_dev(sc->as_dev,
+ "detected %dk stolen memory\n",
+ isc->stolen * 4);
}
/* GATT address is already in there, make sure it's enabled */
@@ -893,9 +908,13 @@
if (agp_i810_sc == NULL)
agp_i810_sc = sc;
else
- aprint_error_dev(sc->as_dev, "i810 agp already attached\n");
+ aprint_error_dev(sc->as_dev, "agp already attached\n");
+ /* Success! */
return 0;
+
+fail0: KASSERT(error);
+ return error;
}
#if 0
Home |
Main Index |
Thread Index |
Old Index