summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/agp/agp_i810.c24
-rw-r--r--sys/pci/agp_i810.c24
2 files changed, 36 insertions, 12 deletions
diff --git a/sys/dev/agp/agp_i810.c b/sys/dev/agp/agp_i810.c
index edbaff6..9f39955 100644
--- a/sys/dev/agp/agp_i810.c
+++ b/sys/dev/agp/agp_i810.c
@@ -187,6 +187,7 @@ agp_i810_probe(device_t dev)
if (desc) {
device_t bdev;
u_int8_t smram;
+ unsigned int gcc1;
int devid = pci_get_devid(dev);
bdev = agp_i810_find_bridge(dev);
@@ -199,10 +200,12 @@ agp_i810_probe(device_t dev)
/*
* checking whether internal graphics device has been activated.
*/
- if ( (devid == 0x71218086 ) ||
- (devid == 0x71238086 ) ||
- (devid == 0x71258086 ) ||
- (devid == 0x11328086 ) ) {
+ switch (devid) {
+ /* i810 */
+ case 0x71218086:
+ case 0x71238086:
+ case 0x71258086:
+ case 0x11328086:
smram = pci_read_config(bdev, AGP_I810_SMRAM, 1);
if ((smram & AGP_I810_SMRAM_GMS)
== AGP_I810_SMRAM_GMS_DISABLED) {
@@ -210,14 +213,23 @@ agp_i810_probe(device_t dev)
printf("I810: disabled, not probing\n");
return ENXIO;
}
- } else { /* I830MG */
- unsigned int gcc1;
+ break;
+
+ /* i830 */
+ case 0x35778086:
+ case 0x35828086:
+ case 0x25628086:
+ case 0x25728086:
gcc1 = pci_read_config(bdev, AGP_I830_GCC1, 1);
if ((gcc1 & AGP_I830_GCC1_DEV2) == AGP_I830_GCC1_DEV2_DISABLED) {
if (bootverbose)
printf("I830: disabled, not probing\n");
return ENXIO;
}
+ break;
+
+ default:
+ return ENXIO;
}
device_verbose(dev);
diff --git a/sys/pci/agp_i810.c b/sys/pci/agp_i810.c
index edbaff6..9f39955 100644
--- a/sys/pci/agp_i810.c
+++ b/sys/pci/agp_i810.c
@@ -187,6 +187,7 @@ agp_i810_probe(device_t dev)
if (desc) {
device_t bdev;
u_int8_t smram;
+ unsigned int gcc1;
int devid = pci_get_devid(dev);
bdev = agp_i810_find_bridge(dev);
@@ -199,10 +200,12 @@ agp_i810_probe(device_t dev)
/*
* checking whether internal graphics device has been activated.
*/
- if ( (devid == 0x71218086 ) ||
- (devid == 0x71238086 ) ||
- (devid == 0x71258086 ) ||
- (devid == 0x11328086 ) ) {
+ switch (devid) {
+ /* i810 */
+ case 0x71218086:
+ case 0x71238086:
+ case 0x71258086:
+ case 0x11328086:
smram = pci_read_config(bdev, AGP_I810_SMRAM, 1);
if ((smram & AGP_I810_SMRAM_GMS)
== AGP_I810_SMRAM_GMS_DISABLED) {
@@ -210,14 +213,23 @@ agp_i810_probe(device_t dev)
printf("I810: disabled, not probing\n");
return ENXIO;
}
- } else { /* I830MG */
- unsigned int gcc1;
+ break;
+
+ /* i830 */
+ case 0x35778086:
+ case 0x35828086:
+ case 0x25628086:
+ case 0x25728086:
gcc1 = pci_read_config(bdev, AGP_I830_GCC1, 1);
if ((gcc1 & AGP_I830_GCC1_DEV2) == AGP_I830_GCC1_DEV2_DISABLED) {
if (bootverbose)
printf("I830: disabled, not probing\n");
return ENXIO;
}
+ break;
+
+ default:
+ return ENXIO;
}
device_verbose(dev);
OpenPOWER on IntegriCloud